You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
2.4 KiB
62 lines
2.4 KiB
4 months ago
|
import 'graphqlScript.dart';
|
||
|
import 'model/contactDetail.dart';
|
||
|
import 'model/contactCreation.dart';
|
||
|
import 'config.dart';
|
||
|
|
||
|
|
||
|
class ContactService{
|
||
|
late GPLModel contactObj;
|
||
|
|
||
|
ContactService(String apikey) {
|
||
|
contactObj = GPLModel('res.partner', DataEndpoint, apikey);
|
||
|
}
|
||
|
|
||
|
Future<List<dynamic>> contactListRequest () async {
|
||
|
const queryDict = {'id': null, 'name': null, 'email': null, 'phone': null, 'image_1920': null};
|
||
|
final result = contactObj.search(domain: const [], querydict: queryDict);
|
||
|
return await result;
|
||
|
}
|
||
|
|
||
|
Future<Map<String, dynamic>> contactDetailRequest ({required int id}) async {
|
||
|
const queryDict = {'id': null, 'name': null, 'email': null, 'phone': null, 'street': null, 'street2': null, 'city':null,'country_id':{'name': null}, 'image_1920': null};
|
||
|
final result = contactObj.browse(id: id, querydict: queryDict);
|
||
|
return await result;
|
||
|
}
|
||
|
|
||
|
Future<Map<String, dynamic>> contactDeleteRequest ({required int id}) async {
|
||
|
final result = contactObj.delete(id: id);
|
||
|
return await result;
|
||
|
}
|
||
|
|
||
|
Future<ContactDetail> contactUpdateRequest ({required ContactDetail contact}) async {
|
||
|
final values = {
|
||
|
'name': contact.name,
|
||
|
'phone': contact.phone,
|
||
|
'email': contact.email,
|
||
|
'street': contact.street,
|
||
|
'street2': contact.street2,
|
||
|
'city': contact.city,
|
||
|
};
|
||
|
const queryDict = {'id': null, 'name': null, 'email': null, 'phone': null, 'street': null, 'street2': null, 'city':null,'country_id':{'name': null}, 'image_1920': null};
|
||
|
final result = await contactObj.write(id: contact.id, values: values, querydict: queryDict);
|
||
|
final ContactDetail updatedContact = ContactDetail.fromJson(result);
|
||
|
return updatedContact;
|
||
|
}
|
||
|
|
||
|
Future<ContactDetail> contactCreateRequest ({required ContactCreation contact}) async {
|
||
|
final values = {
|
||
|
'name': contact.name,
|
||
|
'phone': contact.phone,
|
||
|
'email': contact.email,
|
||
|
'street': contact.street,
|
||
|
'street2': contact.street2,
|
||
|
'city': contact.city,
|
||
|
'image_1920': contact.image1920,
|
||
|
};
|
||
|
const queryDict = {'id': null, 'name': null, 'email': null, 'phone': null, 'street': null, 'street2': null, 'city':null,'country_id':{'name': null}, 'image_1920': null};
|
||
|
final result = await contactObj.create(values: values, querydict: queryDict);
|
||
|
final ContactDetail createdContact = ContactDetail.fromJson(result);
|
||
|
return createdContact;
|
||
|
}
|
||
|
}
|