passo_mobile_app/lib/sevices/passo/building/additional_items_services.dart

88 lines
2.5 KiB
Dart
Raw Normal View History

2023-07-28 02:35:36 +00:00
import 'dart:convert';
import 'dart:developer';
import 'dart:io';
import 'package:unit2/model/passo/additional_items.dart';
import 'package:http/http.dart' as http;
2023-09-01 03:22:48 +00:00
import 'package:unit2/utils/request.dart';
import '../../../utils/urls.dart';
2023-07-28 02:35:36 +00:00
class AdditionalItemsServices {
static final AdditionalItemsServices _instance = AdditionalItemsServices();
static AdditionalItemsServices get instance => _instance;
2023-09-01 03:22:48 +00:00
String xClientKey = "unitK3CQaXiWlPReDsBzmmwBZPd9Re1z";
String xClientKeySecret = "unitcYqAN7GGalyz";
Future<List<AdditionalItems>> fetch(tempID) async {
String path = Url.instance.additionalItems();
Map<String, String> headers = {
'Content-Type': 'application/json; charset=UTF-8',
'X-Client-Key': xClientKey,
'X-Client-Secret': xClientKeySecret
};
Map<String, String> params = {
"bldgappr_details_id": tempID.toString(),
};
try {
http.Response response = await Request.instance
.getRequest(param: params, path: path, headers: headers);
2023-07-28 02:35:36 +00:00
2023-09-01 03:22:48 +00:00
if (response.statusCode == 200) {
final List result = jsonDecode(response.body)['data'];
print(result);
return result.map(((e) => AdditionalItems.fromJson(e))).toList();
} else {
throw Exception(response.reasonPhrase);
}
} catch (e) {
throw e.toString();
2023-07-28 02:35:36 +00:00
}
}
2023-09-01 03:22:48 +00:00
Future<http.Response?> add(AdditionalItems items) async {
String path = Url.instance.additionalItems();
Map<String, String> headers = {
'Content-Type': 'application/json; charset=UTF-8',
'X-Client-Key': xClientKey,
'X-Client-Secret': xClientKeySecret
};
2023-07-28 02:35:36 +00:00
http.Response? response;
try {
2023-09-01 03:22:48 +00:00
response = await Request.instance.postRequest(
param: {}, path: path, body: items.toJson(), headers: headers);
2023-07-28 02:35:36 +00:00
} catch (e) {
log(e.toString());
}
return response;
}
2023-09-01 03:22:48 +00:00
Future<http.Response> remove(id) async {
String path = Url.instance.additionalItems();
Map<String, String> headers = {
'Content-Type': 'application/json; charset=UTF-8',
'X-Client-Key': xClientKey,
'X-Client-Secret': xClientKeySecret
};
Map<String, String> params = {
"id": id.toString(),
};
try {
http.Response response = await Request.instance
.deleteRequest(path: path, headers: headers, body: {}, param: params);
print(id);
if (response.statusCode == 200) {
print(response.body);
return response;
} else {
throw Exception(response.reasonPhrase);
}
} catch (e) {
throw e.toString();
2023-07-28 02:35:36 +00:00
}
}
}