54 lines
1.6 KiB
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);
|
||
|
}
|
||
|
}
|
||
|
}
|