create space model

This commit is contained in:
hannathkadher
2025-01-08 19:04:08 +04:00
parent 08f322165e
commit 6b79254a89
18 changed files with 477 additions and 150 deletions
+17 -7
View File
@@ -1,3 +1,5 @@
import 'dart:convert';
import 'package:dio/dio.dart';
import 'package:syncrow_web/services/api/http_interceptor.dart';
import 'package:syncrow_web/services/locator.dart';
@@ -42,22 +44,30 @@ class HTTPService {
}
}
Future<T> post<T>(
{required String path,
Map<String, dynamic>? queryParameters,
Options? options,
dynamic body,
bool showServerMessage = true,
required T Function(dynamic) expectedResponseModel}) async {
Future<T> post<T>({
required String path,
Map<String, dynamic>? queryParameters,
Options? options,
dynamic body,
bool showServerMessage = true,
required T Function(dynamic) expectedResponseModel,
}) async {
try {
final bodyString = body is Map || body is List
? jsonEncode(body)
: body?.toString() ?? 'null';
print("POST Request: $path, Body: $bodyString, Query: $queryParameters");
final response = await client.post(
path,
data: body,
queryParameters: queryParameters,
options: options,
);
print("POST Response: ${response.data.toString()}");
return expectedResponseModel(response.data);
} catch (error) {
print("POST Error: $error");
rethrow;
}
}
-1
View File
@@ -1,6 +1,5 @@
import 'package:flutter/material.dart';
import 'package:syncrow_web/pages/spaces_management/all_spaces/model/community_model.dart';
import 'package:syncrow_web/pages/spaces_management/all_spaces/model/selected_product_model.dart';
import 'package:syncrow_web/pages/spaces_management/all_spaces/model/space_model.dart';
import 'package:syncrow_web/pages/spaces_management/all_spaces/model/space_response_model.dart';
import 'package:syncrow_web/services/api/http_service.dart';
+20
View File
@@ -1,4 +1,5 @@
import 'package:flutter/material.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';
@@ -34,4 +35,23 @@ class SpaceModelManagementApi {
return [];
}
}
Future<SpaceTemplateModel?> createSpaceModel(
CreateSpaceTemplateBodyModel spaceModel) async {
try {
final response = await HTTPService().post(
path: ApiEndpoints.createSpaceModel
.replaceAll('{projectId}', TempConst.projectId),
showServerMessage: true,
body: spaceModel.toJson(),
expectedResponseModel: (json) {
return SpaceTemplateModel.fromJson(json['data']);
},
);
return response;
} catch (e) {
debugPrint('Error creating community: $e');
return null;
}
}
}