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> 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> 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> contactDeleteRequest ({required int id}) async { final result = contactObj.delete(id: id); return await result; } Future 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 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; } }