summaryrefslogtreecommitdiff
path: root/fixco_api/controllers/api_v1/partner.py
blob: 26ca9bf85e1998f04e88f74d0a5a020ceb08be6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from .. import controller
from odoo import http
from odoo.http import request
import json


class Partner(controller.Controller):
    _name = 'res.partner'
    prefix = '/api/v1/'

    @http.route(prefix + 'partner/address/', auth='public', methods=['GET', 'OPTIONS'])
    @controller.Controller.must_authorized()
    def get_partner_address_by_id(self, **kw):
        partner = request.env['res.partner'].search([('id', '=', 14)])
        # return self.response(partner)
        return self.response({
            'id': partner.id,
            'name': partner.name,
            'phone': partner.phone
        })

    @http.route('/odoo_controller/odoo_controller/', auth='public')
    def index(self, **kw):
        return 'OK'

    @http.route(prefix + 'wati/notification', auth='none', type='http', csrf=False, methods=['POST', 'OPTIONS'])
    def notification(self, **kw):
        try:
            data = json.loads(request.httprequest.data or '{}')  # fallback to empty dict
        except json.JSONDecodeError:
            data = {}  # if invalid JSON, treat as empty

        # Do something with `data`
        return request.make_response("OK", headers=[('Content-Type', 'application/json')])