from .. import controller from odoo import http from odoo.http import request class Partner(controller.Controller): prefix = '/api/v1/' @http.route(prefix + 'partner', auth='public', methods=['POST', 'OPTIONS'], csrf=False) def create_partner(self, **kw): if not self.authenticate(): return self.response(code=401, description='Unauthorized') validate_request = self.get_request_params(kw, { 'user_id': ['required', 'number'], 'partner_id': ['required', 'number', 'alias:parent_id'], 'type': ['default:other'], 'name': ['required'], 'email': ['required'], 'mobile': ['required'], 'street': ['required'], 'city_id': ['required', 'number', 'alias:kota_id'], 'district_id': ['number', 'alias:kecamatan_id'], 'sub_district_id': ['number', 'alias:kelurahan_id'], 'zip': ['required'], }) is_verified = self.verify_user_token(validate_request['query']['user_id']) if not is_verified: return self.response(code=401, description='Unauthorized') if not validate_request['valid']: return self.response(code=400, description=validate_request) del validate_request['value']['user_id'] partner = request.env['res.partner'].create([ validate_request['value'] ]) return self.response({ 'id': partner.id, })