mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-10 07:07:19 +00:00
removed try catch
This commit is contained in:
@ -76,19 +76,24 @@ class SpaceManagementBloc
|
|||||||
|
|
||||||
Future<List<SpaceTemplateModel>> fetchSpaceModels(
|
Future<List<SpaceTemplateModel>> fetchSpaceModels(
|
||||||
SpaceManagementState previousState) async {
|
SpaceManagementState previousState) async {
|
||||||
List<SpaceTemplateModel> prevSpaceModels = [];
|
try {
|
||||||
|
List<SpaceTemplateModel> prevSpaceModels = [];
|
||||||
|
|
||||||
if (previousState is SpaceManagementLoaded || previousState is BlankState) {
|
if (previousState is SpaceManagementLoaded ||
|
||||||
prevSpaceModels = List<SpaceTemplateModel>.from(
|
previousState is BlankState) {
|
||||||
(previousState as dynamic).spaceModels ?? [],
|
prevSpaceModels = List<SpaceTemplateModel>.from(
|
||||||
);
|
(previousState as dynamic).spaceModels ?? [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (prevSpaceModels.isEmpty) {
|
||||||
|
prevSpaceModels = await _spaceModelApi.listSpaceModels(page: 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return prevSpaceModels;
|
||||||
|
} catch (e) {
|
||||||
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (prevSpaceModels.isEmpty) {
|
|
||||||
prevSpaceModels = await _spaceModelApi.listSpaceModels(page: 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
return prevSpaceModels;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void _onloadProducts() async {
|
void _onloadProducts() async {
|
||||||
@ -184,6 +189,7 @@ class SpaceManagementBloc
|
|||||||
LoadCommunityAndSpacesEvent event,
|
LoadCommunityAndSpacesEvent event,
|
||||||
Emitter<SpaceManagementState> emit,
|
Emitter<SpaceManagementState> emit,
|
||||||
) async {
|
) async {
|
||||||
|
var prevState = state;
|
||||||
emit(SpaceManagementLoading());
|
emit(SpaceManagementLoading());
|
||||||
try {
|
try {
|
||||||
_onloadProducts();
|
_onloadProducts();
|
||||||
@ -205,12 +211,11 @@ class SpaceManagementBloc
|
|||||||
}).toList(),
|
}).toList(),
|
||||||
);
|
);
|
||||||
|
|
||||||
List<SpaceTemplateModel> spaceModels =
|
final prevSpaceModels = await fetchSpaceModels(prevState);
|
||||||
await _spaceModelApi.listSpaceModels(page: 1);
|
|
||||||
emit(SpaceManagementLoaded(
|
emit(SpaceManagementLoaded(
|
||||||
communities: updatedCommunities,
|
communities: updatedCommunities,
|
||||||
products: _cachedProducts ?? [],
|
products: _cachedProducts ?? [],
|
||||||
spaceModels: spaceModels));
|
spaceModels: prevSpaceModels));
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
emit(SpaceManagementError('Error loading communities and spaces: $e'));
|
emit(SpaceManagementError('Error loading communities and spaces: $e'));
|
||||||
}
|
}
|
||||||
@ -487,6 +492,8 @@ class SpaceManagementBloc
|
|||||||
SpaceModelLoadEvent event, Emitter<SpaceManagementState> emit) async {
|
SpaceModelLoadEvent event, Emitter<SpaceManagementState> emit) async {
|
||||||
emit(SpaceManagementLoading());
|
emit(SpaceManagementLoading());
|
||||||
try {
|
try {
|
||||||
|
var prevState = state;
|
||||||
|
|
||||||
List<CommunityModel> communities = await _api.fetchCommunities();
|
List<CommunityModel> communities = await _api.fetchCommunities();
|
||||||
|
|
||||||
List<CommunityModel> updatedCommunities = await Future.wait(
|
List<CommunityModel> updatedCommunities = await Future.wait(
|
||||||
@ -505,12 +512,12 @@ class SpaceManagementBloc
|
|||||||
}).toList(),
|
}).toList(),
|
||||||
);
|
);
|
||||||
|
|
||||||
List<SpaceTemplateModel> spaceModels =
|
var prevSpaceModels = await fetchSpaceModels(prevState);
|
||||||
await _spaceModelApi.listSpaceModels(page: 1);
|
|
||||||
emit(SpaceModelLoaded(
|
emit(SpaceModelLoaded(
|
||||||
communities: updatedCommunities,
|
communities: updatedCommunities,
|
||||||
products: _cachedProducts ?? [],
|
products: _cachedProducts ?? [],
|
||||||
spaceModels: spaceModels));
|
spaceModels: prevSpaceModels));
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
emit(SpaceManagementError('Error loading communities and spaces: $e'));
|
emit(SpaceManagementError('Error loading communities and spaces: $e'));
|
||||||
}
|
}
|
||||||
|
@ -7,71 +7,54 @@ import 'package:syncrow_web/utils/constants/temp_const.dart';
|
|||||||
|
|
||||||
class SpaceModelManagementApi {
|
class SpaceModelManagementApi {
|
||||||
Future<List<SpaceTemplateModel>> listSpaceModels({int page = 1}) async {
|
Future<List<SpaceTemplateModel>> listSpaceModels({int page = 1}) async {
|
||||||
try {
|
List<SpaceTemplateModel> spaceModels = [];
|
||||||
List<SpaceTemplateModel> spaceModels = [];
|
bool hasNext = true;
|
||||||
bool hasNext = true;
|
while (hasNext) {
|
||||||
while (hasNext) {
|
await HTTPService().get(
|
||||||
await HTTPService().get(
|
path: ApiEndpoints.listSpaceModels
|
||||||
path: ApiEndpoints.listSpaceModels
|
.replaceAll('{projectId}', TempConst.projectId),
|
||||||
.replaceAll('{projectId}', TempConst.projectId),
|
queryParameters: {'page': page},
|
||||||
queryParameters: {'page': page},
|
expectedResponseModel: (json) {
|
||||||
expectedResponseModel: (json) {
|
List<dynamic> jsonData = json['data'];
|
||||||
List<dynamic> jsonData = json['data'];
|
hasNext = json['hasNext'] ?? false;
|
||||||
hasNext = json['hasNext'] ?? false;
|
int currentPage = json['page'] ?? 1;
|
||||||
int currentPage = json['page'] ?? 1;
|
List<SpaceTemplateModel> spaceModelList = jsonData.map((jsonItem) {
|
||||||
List<SpaceTemplateModel> spaceModelList = jsonData.map((jsonItem) {
|
return SpaceTemplateModel.fromJson(jsonItem);
|
||||||
return SpaceTemplateModel.fromJson(jsonItem);
|
}).toList();
|
||||||
}).toList();
|
|
||||||
|
|
||||||
spaceModels.addAll(spaceModelList);
|
spaceModels.addAll(spaceModelList);
|
||||||
page = currentPage + 1;
|
page = currentPage + 1;
|
||||||
return spaceModelList;
|
return spaceModelList;
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
|
||||||
return spaceModels;
|
|
||||||
} catch (e) {
|
|
||||||
debugPrint('Error fetching space models: $e');
|
|
||||||
return [];
|
|
||||||
}
|
}
|
||||||
|
return spaceModels;
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<SpaceTemplateModel?> createSpaceModel(
|
Future<SpaceTemplateModel?> createSpaceModel(
|
||||||
CreateSpaceTemplateBodyModel spaceModel) async {
|
CreateSpaceTemplateBodyModel spaceModel) async {
|
||||||
try {
|
final response = await HTTPService().post(
|
||||||
final response = await HTTPService().post(
|
path: ApiEndpoints.createSpaceModel
|
||||||
path: ApiEndpoints.createSpaceModel
|
.replaceAll('{projectId}', TempConst.projectId),
|
||||||
.replaceAll('{projectId}', TempConst.projectId),
|
showServerMessage: true,
|
||||||
showServerMessage: true,
|
body: spaceModel.toJson(),
|
||||||
body: spaceModel.toJson(),
|
expectedResponseModel: (json) {
|
||||||
expectedResponseModel: (json) {
|
return SpaceTemplateModel.fromJson(json['data']);
|
||||||
return SpaceTemplateModel.fromJson(json['data']);
|
},
|
||||||
},
|
);
|
||||||
);
|
return response;
|
||||||
return response;
|
|
||||||
} catch (e) {
|
|
||||||
debugPrint('Error creating space model: $e');
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<SpaceTemplateModel?> getSpaceModel(String spaceModelUuid) async {
|
Future<SpaceTemplateModel?> getSpaceModel(String spaceModelUuid) async {
|
||||||
try {
|
final response = await HTTPService().get(
|
||||||
final response = await HTTPService().get(
|
path: ApiEndpoints.getSpaceModel
|
||||||
path: ApiEndpoints.getSpaceModel
|
.replaceAll('{projectId}', TempConst.projectId)
|
||||||
.replaceAll('{projectId}', TempConst.projectId)
|
.replaceAll('{spaceModelUuid}', spaceModelUuid),
|
||||||
.replaceAll('{spaceModelUuid}', spaceModelUuid),
|
showServerMessage: true,
|
||||||
showServerMessage: true,
|
expectedResponseModel: (json) {
|
||||||
expectedResponseModel: (json) {
|
return SpaceTemplateModel.fromJson(json['data']);
|
||||||
debugPrint('Response JSON: $json');
|
},
|
||||||
|
);
|
||||||
return SpaceTemplateModel.fromJson(json['data']);
|
return response;
|
||||||
},
|
|
||||||
);
|
|
||||||
return response;
|
|
||||||
} catch (e) {
|
|
||||||
debugPrint('Error getting space model: $e');
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user