56 lines
1.7 KiB
Dart
56 lines
1.7 KiB
Dart
|
import 'dart:convert';
|
||
|
import 'dart:developer';
|
||
|
import 'dart:io';
|
||
|
|
||
|
import 'package:unit2/model/passo/land_property_owner.dart';
|
||
|
import 'package:http/http.dart' as http;
|
||
|
import 'package:unit2/utils/request.dart';
|
||
|
import 'package:unit2/utils/urls.dart';
|
||
|
|
||
|
class LandServices {
|
||
|
static final LandServices _instance = LandServices();
|
||
|
static LandServices get instance => _instance;
|
||
|
String xClientKey = "unitK3CQaXiWlPReDsBzmmwBZPd9Re1z";
|
||
|
String xClientKeySecret = "unitcYqAN7GGalyz";
|
||
|
|
||
|
Future<List<LandPropertyOwner>> fetch() async {
|
||
|
String path = Url.instance.getLandOwnerInfo();
|
||
|
Map<String, String> headers = {
|
||
|
'Content-Type': 'application/json; charset=UTF-8',
|
||
|
'X-Client-Key': xClientKey,
|
||
|
'X-Client-Secret': xClientKeySecret
|
||
|
};
|
||
|
try {
|
||
|
http.Response response = await Request.instance
|
||
|
.getRequest(param: {}, path: path, headers: headers);
|
||
|
|
||
|
if (response.statusCode == 200) {
|
||
|
final List result = jsonDecode(response.body)['data'];
|
||
|
|
||
|
return result.map(((e) => LandPropertyOwner.fromJson(e))).toList();
|
||
|
} else {
|
||
|
throw Exception(response.reasonPhrase);
|
||
|
}
|
||
|
} catch (e) {
|
||
|
throw e.toString();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Future<http.Response?> add(LandPropertyOwner land) async {
|
||
|
String path = Url.instance.getLandOwnerInfo();
|
||
|
Map<String, String> headers = {
|
||
|
'Content-Type': 'application/json; charset=UTF-8',
|
||
|
'X-Client-Key': xClientKey,
|
||
|
'X-Client-Secret': xClientKeySecret
|
||
|
};
|
||
|
http.Response? response;
|
||
|
try {
|
||
|
response = await Request.instance.postRequest(
|
||
|
param: {}, path: path, body: land.toJson(), headers: headers);
|
||
|
} catch (e) {
|
||
|
log(e.toString());
|
||
|
}
|
||
|
return response;
|
||
|
}
|
||
|
}
|