import 'dart:convert'; import '../../core/network/network_manager.dart'; import '../../core/utils/result.dart'; import 'model/board_response/board_response.dart'; class BoardService { BoardService({required NetworkManager networkManager}) : _networkManager = networkManager; final NetworkManager _networkManager; static const _basePath = '/admin/v1/kanban/kanban'; Future> getBoard() async { return _networkManager.makeRequest( '$_basePath/boards/default', (json) => BoardResponse.fromJson(json), method: 'GET', ); } Future> moveCard({ required String cardId, required String columnId, required int newOrder, }) async { final body = jsonEncode({ 'card_id': cardId, 'column_id': columnId, 'new_order': newOrder, }); return _networkManager.makeRequest( '$_basePath/cards/move', (json) => MoveCardResponse.fromJson(json), method: 'PUT', data: body, ); } } class MoveCardResponse { MoveCardResponse({required this.success, required this.message}); final bool? success; final String? message; factory MoveCardResponse.fromJson(Map json) { return MoveCardResponse( success: json['success'] as bool?, message: json['message'] as String?, ); } }