from .. import api_controller from odoo import http from odoo.http import request import json class ProductApi(api_controller.ApiController): @http.route('/api/product/search', auth='public', methods=['GET']) def search_product(self, **kw): self.authenticate(kw) limit = kw.get('limit', 0) offset = kw.get('offset', 0) order = kw.get('order', '') domain = kw.get('domain', []) if domain: domain = json.loads(domain) product_variants = request.env['product.product'].search(domain) product_variant_ids = [v['id'] for v in product_variants] domain = [('product_variant_ids', 'in', product_variant_ids)] products = request.env['product.template'].search(domain, limit=int(limit), offset=int(offset), order=order) response = [] for product in products: response.append({ 'name': product.name }) return json.dumps(response)