Odoo Flutter Mobile App using EKIKA's API Framework
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

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;
}
}