Merge pull request #115 from SyncrowIOT/dev

Dev
This commit is contained in:
Abdullah
2025-03-12 14:21:13 +03:00
committed by GitHub
149 changed files with 4580 additions and 1757 deletions
+2 -2
View File
@@ -9,10 +9,10 @@ import 'package:syncrow_web/pages/device_managment/water_heater/models/schedule_
import 'package:syncrow_web/pages/visitor_password/model/device_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 DevicesManagementApi {
Future<List<AllDevicesModel>> fetchDevices(String communityId, String spaceId, String projectId) async {
Future<List<AllDevicesModel>> fetchDevices(
String communityId, String spaceId, String projectId) async {
try {
final response = await HTTPService().get(
path: communityId.isNotEmpty && spaceId.isNotEmpty
+2
View File
@@ -227,6 +227,7 @@ class CommunitySpaceManagementApi {
required Offset position,
List<TagModelUpdate>? tags,
List<UpdateSubspaceTemplateModel>? subspaces,
String? spaceModelUuid,
required String projectId}) async {
try {
final body = {
@@ -238,6 +239,7 @@ class CommunitySpaceManagementApi {
'icon': icon,
'subspace': subspaces,
'tags': tags,
'spaceModelUuid': spaceModelUuid,
};
if (parentId != null) {
body['parentUuid'] = parentId;
+60 -5
View File
@@ -1,8 +1,8 @@
import 'package:syncrow_web/pages/spaces_management/all_spaces/model/tag.dart';
import 'package:syncrow_web/pages/spaces_management/space_model/models/create_space_template_body_model.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<List<SpaceTemplateModel>> listSpaceModels(
@@ -33,8 +33,8 @@ class SpaceModelManagementApi {
return response;
}
Future<String?> updateSpaceModel(CreateSpaceTemplateBodyModel spaceModel,
String spaceModelUuid, String projectId) async {
Future<String?> updateSpaceModel(
CreateSpaceTemplateBodyModel spaceModel, String spaceModelUuid, String projectId) async {
final response = await HTTPService().put(
path: ApiEndpoints.updateSpaceModel
.replaceAll('{projectId}', projectId)
@@ -47,8 +47,7 @@ class SpaceModelManagementApi {
return response;
}
Future<SpaceTemplateModel?> getSpaceModel(
String spaceModelUuid, String projectId) async {
Future<SpaceTemplateModel?> getSpaceModel(String spaceModelUuid, String projectId) async {
final response = await HTTPService().get(
path: ApiEndpoints.getSpaceModel
.replaceAll('{projectId}', projectId)
@@ -60,4 +59,60 @@ class SpaceModelManagementApi {
);
return response;
}
Future linkSpaceModel(
{required String spaceModelUuid,
required String projectId,
required List<String> spaceUuids,
required bool isOverWrite}) async {
final response = await HTTPService().post(
path: ApiEndpoints.linkSpaceModel
.replaceAll('{projectId}', projectId)
.replaceAll('{spaceModelUuid}', spaceModelUuid),
showServerMessage: true,
body: {"spaceUuids": spaceUuids, "overwrite": isOverWrite},
expectedResponseModel: (json) {
return json;
},
);
return response;
}
Future validateSpaceModel(String projectId, List<String> spaceUuids) async {
final response = await HTTPService().post(
path: ApiEndpoints.validateSpaceModel
.replaceAll('{projectId}', projectId),
showServerMessage: true,
body: {"spacesUuids": spaceUuids},
expectedResponseModel: (json) {
return json;
});
return response;
}
Future<bool> deleteSpaceModel(String spaceModelUuid, String projectId) async {
final response = await HTTPService().delete(
path: ApiEndpoints.getSpaceModel
.replaceAll('{projectId}', projectId)
.replaceAll('{spaceModelUuid}', spaceModelUuid),
showServerMessage: true,
expectedResponseModel: (json) {
return json['success'] ?? false;
},
);
return response;
}
Future<List<Tag>> listTags({required String projectId}) async {
final response = await HTTPService().get(
path: ApiEndpoints.listTags.replaceAll('{projectId}', projectId),
expectedResponseModel: (json) {
List<dynamic> jsonData = json['data'];
return jsonData.map((jsonItem) {
return Tag.fromJson(jsonItem);
}).toList();
},
);
return response;
}
}