Merge branch 'dev' of https://github.com/SyncrowIOT/syncrow-app into feat/refactor

This commit is contained in:
hannathkadher
2024-10-31 10:45:08 +04:00
66 changed files with 4004 additions and 1041 deletions
+3 -2
View File
@@ -113,8 +113,8 @@ abstract class ApiEndpoints {
static const String deviceByUuid = '/device/{deviceUuid}';
static const String deviceFunctions = '/device/{deviceUuid}/functions';
static const String gatewayApi = '/device/gateway/{gatewayUuid}/devices';
static const String deviceFunctionsStatus =
'/device/{deviceUuid}/functions/status';
static const String deviceFunctionsStatus = '/device/{deviceUuid}/functions/status';
static const String powerClamp = '/device/{powerClampUuid}/power-clamp/status';
///Device Permission Module
//POST
@@ -136,6 +136,7 @@ abstract class ApiEndpoints {
static const String getUnitScenes = '/scene/tap-to-run/{unitUuid}';
static const String getScene = '/scene/tap-to-run/details/{sceneId}';
static const String getIconScene = '/scene/icon';
static const String getUnitAutomation = '/automation/{unitUuid}';
+20 -6
View File
@@ -5,7 +5,8 @@ import 'package:syncrow_app/services/api/api_links_endpoints.dart';
import 'package:syncrow_app/services/api/http_service.dart';
class AuthenticationAPI {
static Future<Map<String, dynamic>> verifyPassCode({required Map<String, dynamic> body}) async {
static Future<Map<String, dynamic>> verifyPassCode(
{required Map<String, dynamic> body}) async {
final response = await HTTPService().post(
path: ApiEndpoints.verifyOtp,
body: body,
@@ -14,7 +15,8 @@ class AuthenticationAPI {
return response;
}
static Future<Token> loginWithEmail({required LoginWithEmailModel model}) async {
static Future<Token> loginWithEmail(
{required LoginWithEmailModel model}) async {
final response = await HTTPService().post(
path: ApiEndpoints.login,
body: model.toJson(),
@@ -32,17 +34,29 @@ class AuthenticationAPI {
return response;
}
static Future<Map<String, dynamic>> sendOtp({required Map<String, dynamic> body}) async {
static Future<Map<String, dynamic>> sendOtp(
{required Map<String, dynamic> body}) async {
final response = await HTTPService().post(
path: ApiEndpoints.sendOtp,
body: body,
showServerMessage: false,
expectedResponseModel: (json) => json['data']);
expectedResponseModel: (json) {
print(json['data']);
return json['data'];
});
return response;
}
static Future<Map<String, dynamic>> forgetPassword({required String email,required String password ,}) async {
Map<String, dynamic> params = {"email": email, "password": password,};
static Future<Map<String, dynamic>> forgetPassword({
required String otpCode,
required String email,
required String password,
}) async {
Map<String, dynamic> params = {
"email": email,
"password": password,
"otpCode": otpCode
};
final response = await HTTPService().post(
path: ApiEndpoints.forgetPassword,
body: params,
+13
View File
@@ -80,6 +80,18 @@ class DevicesAPI {
return response;
}
static Future<Map<String, dynamic>> getPowerClampStatus(
String deviceId) async {
final response = await _httpService.get(
path: ApiEndpoints.powerClamp.replaceAll('{powerClampUuid}', deviceId),
showServerMessage: false,
expectedResponseModel: (json) {
return json;
},
);
return response;
}
static Future<Map<String, dynamic>> renamePass(
{required String name,
required String doorLockUuid,
@@ -391,6 +403,7 @@ class DevicesAPI {
.replaceAll('{startTime}', startTime)
.replaceAll('{endTime}', endTime),
expectedResponseModel: (json) {
log('json=====$json');
return DeviceReport.fromJson(json);
},
);
+29 -23
View File
@@ -1,5 +1,6 @@
import 'package:syncrow_app/features/scene/model/create_automation_model.dart';
import 'package:syncrow_app/features/scene/model/create_scene_model.dart';
import 'package:syncrow_app/features/scene/model/icon_model.dart';
import 'package:syncrow_app/features/scene/model/scene_details_model.dart';
import 'package:syncrow_app/features/scene/model/scenes_model.dart';
import 'package:syncrow_app/features/scene/model/update_automation.dart';
@@ -10,8 +11,7 @@ class SceneApi {
static final HTTPService _httpService = HTTPService();
//create scene
static Future<Map<String, dynamic>> createScene(
CreateSceneModel createSceneModel) async {
static Future<Map<String, dynamic>> createScene(CreateSceneModel createSceneModel) async {
try {
final response = await _httpService.post(
path: ApiEndpoints.createScene,
@@ -47,10 +47,11 @@ class SceneApi {
//get scene by unit id
static Future<List<ScenesModel>> getScenesByUnitId(String unitId) async {
static Future<List<ScenesModel>> getScenesByUnitId(String unitId, {showInDevice = false}) async {
try {
final response = await _httpService.get(
path: ApiEndpoints.getUnitScenes.replaceAll('{unitUuid}', unitId),
queryParameters: {'showInHomePage': showInDevice},
showServerMessage: false,
expectedResponseModel: (json) {
List<ScenesModel> scenes = [];
@@ -101,12 +102,10 @@ class SceneApi {
}
//automation details
static Future<SceneDetailsModel> getAutomationDetails(
String automationId) async {
static Future<SceneDetailsModel> getAutomationDetails(String automationId) async {
try {
final response = await _httpService.get(
path: ApiEndpoints.getAutomationDetails
.replaceAll('{automationId}', automationId),
path: ApiEndpoints.getAutomationDetails.replaceAll('{automationId}', automationId),
showServerMessage: false,
expectedResponseModel: (json) => SceneDetailsModel.fromJson(json),
);
@@ -117,12 +116,11 @@ class SceneApi {
}
//updateAutomationStatus
static Future<bool> updateAutomationStatus(String automationId,
AutomationStatusUpdate createAutomationEnable) async {
static Future<bool> updateAutomationStatus(
String automationId, AutomationStatusUpdate createAutomationEnable) async {
try {
final response = await _httpService.put(
path: ApiEndpoints.updateAutomationStatus
.replaceAll('{automationId}', automationId),
path: ApiEndpoints.updateAutomationStatus.replaceAll('{automationId}', automationId),
body: createAutomationEnable.toMap(),
expectedResponseModel: (json) => json['success'],
);
@@ -132,8 +130,6 @@ class SceneApi {
}
}
//getScene
static Future<SceneDetailsModel> getSceneDetails(String sceneId) async {
try {
final response = await _httpService.get(
@@ -147,13 +143,27 @@ class SceneApi {
}
}
static Future<List<IconModel>> getIcon() async {
final response = await _httpService.get(
path: ApiEndpoints.getIconScene,
showServerMessage: false,
expectedResponseModel: (json) {
List<IconModel> iconsList = [];
json.forEach((element) {
iconsList.add(IconModel.fromJson(element));
});
return iconsList;
},
);
return response;
}
//update Scene
static updateScene(CreateSceneModel createSceneModel, String sceneId) async {
try {
final response = await _httpService.put(
path: ApiEndpoints.updateScene.replaceAll('{sceneId}', sceneId),
body: createSceneModel
.toJson(sceneId.isNotEmpty == true ? sceneId : null),
body: createSceneModel.toJson(sceneId.isNotEmpty == true ? sceneId : null),
expectedResponseModel: (json) {
return json;
},
@@ -165,14 +175,11 @@ class SceneApi {
}
//update automation
static updateAutomation(
CreateAutomationModel createAutomationModel, String automationId) async {
static updateAutomation(CreateAutomationModel createAutomationModel, String automationId) async {
try {
final response = await _httpService.put(
path: ApiEndpoints.updateAutomation
.replaceAll('{automationId}', automationId),
body: createAutomationModel
.toJson(automationId.isNotEmpty == true ? automationId : null),
path: ApiEndpoints.updateAutomation.replaceAll('{automationId}', automationId),
body: createAutomationModel.toJson(automationId.isNotEmpty == true ? automationId : null),
expectedResponseModel: (json) {
return json;
},
@@ -185,8 +192,7 @@ class SceneApi {
//delete Scene
static Future<bool> deleteScene(
{required String unitUuid, required String sceneId}) async {
static Future<bool> deleteScene({required String unitUuid, required String sceneId}) async {
try {
final response = await _httpService.delete(
path: ApiEndpoints.deleteScene