Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
2ecc94c
[ADD] webservice
etobella Dec 10, 2020
7c7f71d
[MIG] webservice: Migration to 14.0
etobella May 6, 2021
829d1ce
Added translation using Weblate (French)
Yvesldff Jun 17, 2021
377d179
[FIX] webservice: server.env.mixin needs to be inherited
LoisRForgeFlow Jun 21, 2021
3c71e7d
webservice 14.0.1.0.1
OCA-git-bot Jul 30, 2021
741e9e1
[MIG] webservice: Migration to 15.0
JasminSForgeFlow Feb 15, 2022
1484207
webservice: move to web-api
simahawk Aug 10, 2022
57eb8e3
[MIG] webservice: Migration to 16.0
EvaSForgeFlow Jul 10, 2023
b6f0fa8
webservice: improve call
simahawk Aug 27, 2022
85e31bb
webservice: add api key and public auth support
simahawk Sep 1, 2022
8422a22
Added translation using Weblate (Italian)
mymage Nov 27, 2023
10bb253
[IMP] webservice: multi-company
JordiMForgeFlow Feb 2, 2024
765f511
Translated using Weblate (Italian)
mymage Feb 8, 2024
e0df221
[IMP] webservice: combine the url with collection's url
gurneyalex Feb 28, 2024
c06fb39
[IMP] webservice: add support for oauth2
gurneyalex Feb 28, 2024
c1308c3
add support for oauth2 web application flow
gurneyalex Apr 16, 2024
f95b23b
Translated using Weblate (Italian)
mymage May 13, 2024
f394b96
Translated using Weblate (Italian)
mymage May 23, 2024
91f0d0b
[FIX] webservice: WARNING message in logs
gurneyalex May 31, 2024
7bbadca
[IMP] webservice: pre-commit auto fixes
SilvioC2C Sep 17, 2024
9624a79
[MIG] webservice: Migration to 17.0
SilvioC2C Sep 17, 2024
80dd159
[IMP] webservice: improve tests
SilvioC2C Sep 17, 2024
3e636b7
Update translation files
weblate Sep 18, 2024
fb1c4db
[IMP] webservice: pre-commit stuff
JordiMForgeFlow Oct 23, 2024
615ad3e
[MIG] webservice: Migration to V18
JordiMForgeFlow Oct 23, 2024
c0c99f3
[IMP] webservice: allow empty content type
JordiMForgeFlow Oct 24, 2024
7934036
[IMP] webservice: do not log warning in tests
JordiMForgeFlow Oct 25, 2024
a74640a
[IMP] webservice: allow to return response object on http calls
JordiMForgeFlow Dec 18, 2024
ff84b4e
webservice: log calls
simahawk Oct 3, 2022
df9f726
[BOT] post-merge updates
OCA-git-bot Jan 14, 2025
461aeea
Translated using Weblate (Italian)
mymage Jan 28, 2025
775e3a2
[REF] webservice: server_environment should not be a required dependency
dreispt Apr 28, 2024
7211a29
[ADD] webservice_server_env: make server_environment an optional depe…
dreispt Apr 28, 2024
e137633
[IMP] webservice: pre-commit auto fixes
yankinmax Apr 1, 2026
ab26903
[MIG] webservice: Migration to v19
AaronHForgeFlow Mar 24, 2026
9bb4a35
[MIG] webservice_server_env Migration to v19
AaronHForgeFlow Mar 24, 2026
578699f
[IMP] webservice_server_env: move oauth2 UI test and add web dep
yankinmax Apr 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# generated from manifests external_dependencies
oauthlib
requests-oauthlib
responses
94 changes: 94 additions & 0 deletions webservice/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

==========
WebService
==========

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:e66e76d5740763f4ec04dbf87d7be6fc79da34fc56c39074db1b274ba0631837
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
:target: https://odoo-community.org/page/development-status
:alt: Production/Stable
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb--api-lightgray.png?logo=github
:target: https://github.com/OCA/web-api/tree/19.0/webservice
:alt: OCA/web-api
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/web-api-19-0/web-api-19-0-webservice
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/web-api&target_branch=19.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module creates WebService frameworks to be used globally.

The module introduces support for HTTP Request protocol. The webservice
HTTP call returns by default the content of the response. A context
'content_only' can be passed to get the full response object.

**Table of contents**

.. contents::
:local:

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/web-api/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/web-api/issues/new?body=module:%20webservice%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Creu Blanca
* Camptocamp

Contributors
------------

- Enric Tobella <etobella@creublanca.es>
- Alexandre Fayolle <alexandre.fayolle@camptocamp.com>

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

.. |maintainer-etobella| image:: https://github.com/etobella.png?size=40px
:target: https://github.com/etobella
:alt: etobella

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-etobella|

This module is part of the `OCA/web-api <https://github.com/OCA/web-api/tree/19.0/webservice>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
3 changes: 3 additions & 0 deletions webservice/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from . import components
from . import models
from . import controllers
23 changes: 23 additions & 0 deletions webservice/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Copyright 2020 Creu Blanca
# Copyright 2022 Camptocamp SA
# @author Simone Orsi <simahawk@gmail.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

{
"name": "WebService",
"summary": """Defines webservice abstract definition to be used generally""",
"version": "19.0.1.1.0",
"license": "AGPL-3",
"development_status": "Production/Stable",
"maintainers": ["etobella"],
"author": "Creu Blanca, Camptocamp, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/web-api",
"depends": ["component"],
"external_dependencies": {"python": ["requests-oauthlib", "oauthlib", "responses"]},
"data": [
"security/ir.model.access.csv",
"security/ir_rule.xml",
"views/webservice_backend.xml",
],
"demo": [],
}
2 changes: 2 additions & 0 deletions webservice/components/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import base_adapter
from . import request_adapter
20 changes: 20 additions & 0 deletions webservice/components/base_adapter.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright 2020 Creu Blanca
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from odoo.addons.component.core import AbstractComponent


class BaseWebServiceAdapter(AbstractComponent):
_name = "base.webservice.adapter"
_collection = "webservice.backend"
_webservice_protocol = False
_usage = "webservice.request"

@classmethod
def _component_match(cls, work, usage=None, model_name=None, **kw):
"""Override to customize match.

Registry lookup filtered by usage and model_name when landing here.
Now, narrow match to `_match_attrs` attributes.
"""
return kw.get("webservice_protocol") in (None, cls._webservice_protocol)
Loading
Loading