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.
61 lines
2.4 KiB
61 lines
2.4 KiB
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; |
|
} |
|
}
|
|
|