Skip to content

Latest commit

 

History

History

shopinvader_api_cart

Shopinvader API Cart

Beta License: AGPL-3 shopinvader/odoo-shopinvader

This addon adds a web API on top of the sale.order model to ease the creation of sale orders from Web frontend. The API is designed to work with the shopinvader-js-cart library see (https://github.com/shopinvader/shopinvader-js-cart)

Table of contents

All the routes under the cart_router must be prefixed with /cart. This is not done in this addon to let the developper mount this router as a sub-app, allowing a specific authentification mechanism.

If mounting the router in the same app as other routers (because it doesn't need a specific authentification mechanism), just add a prefix:

def _get_app(self):
   app = super()._get_app()
   app.include_router(router=cart_router, prefix='/cart')
   return app

If you want a nested app, just do as follows:

def _get_app(self):
    app = super()._get_app()
    app.dependencies_overrides.update(
        self._get_app_dependencies_overrides()
    )
    cart_app = FastAPI()
    cart_app.include_router(cart_router)
    # First copy dependencies overrides from the main app
    cart_app.dependencies_overrides.update(
        self._get_app_dependencies_overrides()
    )
    # Then add / modify specific dependencies overrides
    cart_app.dependencies_overrides.update(
         self._get_cart_app_dependencies_overrides()
    )
    app.mount("/cart", cart_app)
    return app

Misc

Bugs are tracked on GitHub 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.

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

  • ACSONE SA/NV

This module is part of the shopinvader/odoo-shopinvader project on GitHub.

You are welcome to contribute.