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

54 lines
1.6 KiB
Dart

import 'dart:convert';
import 'dart:developer';
import 'dart:io';
import 'package:unit2/model/passo/additional_items.dart';
import 'package:http/http.dart' as http;
class AdditionalItemsServices {
static final AdditionalItemsServices _instance = AdditionalItemsServices();
static AdditionalItemsServices get instance => _instance;
Future<List<AdditionalItems>> getAdditionalItems(tempID) async {
http.Response response = await http.get(Uri.parse(
'http://192.168.10.218:8000/api/rptass_app/additional_items/?bldgappr_details_id=$tempID'));
if (response.statusCode == 200) {
final List result = jsonDecode(response.body)['data'];
return result.map(((e) => AdditionalItems.fromJson(e))).toList();
} else {
throw Exception(response.reasonPhrase);
}
}
Future<http.Response?> postAdditionalItems(AdditionalItems items) async {
http.Response? response;
try {
response = await http.post(
Uri.parse(
"http://192.168.10.218:8000/api/rptass_app/additional_items/"),
headers: {
HttpHeaders.contentTypeHeader: "application/json",
},
body: jsonEncode(items.toJson()));
} catch (e) {
log(e.toString());
}
return response;
}
Future<http.Response> removeAdditionalItems(id) async {
http.Response response = await http.delete(
Uri.parse(
'http://192.168.10.218:8000/api/rptass_app/additional_items/?id=$id'),
);
print(id);
if (response.statusCode == 200) {
print(response.body);
return response;
} else {
throw Exception(response.reasonPhrase);
}
}
}