import 'package:flutter/material.dart'; import 'package:syncrow_web/pages/spaces_management/space_model/models/space_template_model.dart'; import 'package:syncrow_web/services/api/http_service.dart'; import 'package:syncrow_web/utils/constants/api_const.dart'; import 'package:syncrow_web/utils/constants/temp_const.dart'; class SpaceModelManagementApi { Future> listSpaceModels({int page = 1}) async { try { List spaceModels = []; bool hasNext = true; while (hasNext) { await HTTPService().get( path: ApiEndpoints.listSpaceModels .replaceAll('{projectId}', TempConst.projectId), queryParameters: {'page': page}, expectedResponseModel: (json) { List jsonData = json['data']; hasNext = json['hasNext'] ?? false; int currentPage = json['page'] ?? 1; List spaceModelList = jsonData.map((jsonItem) { return SpaceTemplateModel.fromJson(jsonItem); }).toList(); spaceModels.addAll(spaceModelList); page = currentPage + 1; return spaceModelList; }, ); } return spaceModels; } catch (e) { debugPrint('Error fetching space models: $e'); return []; } } }