|
1 | | -<?xml version="1.0" encoding="utf-8" ?> |
| 1 | +<?xml version="1.0" encoding="utf-8"?> |
2 | 2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
3 | 3 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
4 | 4 | <head> |
5 | 5 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
6 | | -<meta name="generator" content="Docutils 0.15.1: http://docutils.sourceforge.net/" /> |
| 6 | +<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" /> |
7 | 7 | <title>Base Rest Datamodel</title> |
8 | 8 | <style type="text/css"> |
9 | 9 |
|
10 | 10 | /* |
11 | 11 | :Author: David Goodger (goodger@python.org) |
12 | | -:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $ |
| 12 | +:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ |
13 | 13 | :Copyright: This stylesheet has been placed in the public domain. |
14 | 14 |
|
15 | 15 | Default cascading style sheet for the HTML output of Docutils. |
16 | 16 |
|
17 | | -See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to |
| 17 | +See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to |
18 | 18 | customize this style sheet. |
19 | 19 | */ |
20 | 20 |
|
@@ -366,86 +366,88 @@ <h1 class="title">Base Rest Datamodel</h1> |
366 | 366 | <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
367 | 367 | !! This file is generated by oca-gen-addon-readme !! |
368 | 368 | !! changes will be overwritten. !! |
| 369 | +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
| 370 | +!! source digest: sha256:ee0720313472e277f677e191815ea112ffa16d40f611e5ece41d6290c06df727 |
369 | 371 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> |
370 | | -<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/licence-LGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/rest-framework/tree/12.0/base_rest_datamodel"><img alt="OCA/rest-framework" src="https://img.shields.io/badge/github-OCA%2Frest--framework-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/rest-framework-12-0/rest-framework-12-0-base_rest_datamodel"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/271/12.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p> |
| 372 | +<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/licence-LGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/rest-framework/tree/12.0/base_rest_datamodel"><img alt="OCA/rest-framework" src="https://img.shields.io/badge/github-OCA%2Frest--framework-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/rest-framework-12-0/rest-framework-12-0-base_rest_datamodel"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/rest-framework&target_branch=12.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p> |
371 | 373 | <p>This addon allows you to use DataModel objects as params and/or response with your |
372 | 374 | REST API methods.</p> |
373 | 375 | <p><strong>Table of contents</strong></p> |
374 | 376 | <div class="contents local topic" id="contents"> |
375 | 377 | <ul class="simple"> |
376 | | -<li><a class="reference internal" href="#usage" id="id1">Usage</a></li> |
377 | | -<li><a class="reference internal" href="#bug-tracker" id="id2">Bug Tracker</a></li> |
378 | | -<li><a class="reference internal" href="#credits" id="id3">Credits</a><ul> |
379 | | -<li><a class="reference internal" href="#authors" id="id4">Authors</a></li> |
380 | | -<li><a class="reference internal" href="#contributors" id="id5">Contributors</a></li> |
381 | | -<li><a class="reference internal" href="#maintainers" id="id6">Maintainers</a></li> |
| 378 | +<li><a class="reference internal" href="#usage" id="toc-entry-1">Usage</a></li> |
| 379 | +<li><a class="reference internal" href="#bug-tracker" id="toc-entry-2">Bug Tracker</a></li> |
| 380 | +<li><a class="reference internal" href="#credits" id="toc-entry-3">Credits</a><ul> |
| 381 | +<li><a class="reference internal" href="#authors" id="toc-entry-4">Authors</a></li> |
| 382 | +<li><a class="reference internal" href="#contributors" id="toc-entry-5">Contributors</a></li> |
| 383 | +<li><a class="reference internal" href="#maintainers" id="toc-entry-6">Maintainers</a></li> |
382 | 384 | </ul> |
383 | 385 | </li> |
384 | 386 | </ul> |
385 | 387 | </div> |
386 | 388 | <div class="section" id="usage"> |
387 | | -<h1><a class="toc-backref" href="#id1">Usage</a></h1> |
| 389 | +<h1><a class="toc-backref" href="#toc-entry-1">Usage</a></h1> |
388 | 390 | <p>To use DataModel instances as request and/or response of a REST service endpoint |
389 | 391 | you must:</p> |
390 | 392 | <ul class="simple"> |
391 | 393 | <li>Define your DataModel objects;</li> |
392 | 394 | <li>Provides the information required to the <tt class="docutils literal">odoo.addons.base_rest.restapi.method</tt> decorator;</li> |
393 | 395 | </ul> |
394 | 396 | <pre class="code python literal-block"> |
395 | | -<span class="kn">from</span> <span class="nn">marshmallow</span> <span class="kn">import</span> <span class="n">fields</span> |
| 397 | +<span class="kn">from</span> <span class="nn">marshmallow</span> <span class="kn">import</span> <span class="n">fields</span><span class="w"> |
396 | 398 |
|
397 | | -<span class="kn">from</span> <span class="nn">odoo.addons.base_rest</span> <span class="kn">import</span> <span class="n">restapi</span> |
398 | | -<span class="kn">from</span> <span class="nn">odoo.addons.component.core</span> <span class="kn">import</span> <span class="n">Component</span> |
399 | | -<span class="kn">from</span> <span class="nn">odoo.addons.datamodel.core</span> <span class="kn">import</span> <span class="n">Datamodel</span> |
| 399 | +</span><span class="kn">from</span> <span class="nn">odoo.addons.base_rest</span> <span class="kn">import</span> <span class="n">restapi</span><span class="w"> |
| 400 | +</span><span class="kn">from</span> <span class="nn">odoo.addons.component.core</span> <span class="kn">import</span> <span class="n">Component</span><span class="w"> |
| 401 | +</span><span class="kn">from</span> <span class="nn">odoo.addons.datamodel.core</span> <span class="kn">import</span> <span class="n">Datamodel</span><span class="w"> |
400 | 402 |
|
401 | | -<span class="k">class</span> <span class="nc">PingMessage</span><span class="p">(</span><span class="n">Datamodel</span><span class="p">):</span> |
402 | | - <span class="n">_name</span> <span class="o">=</span> <span class="s2">"ping.message"</span> |
| 403 | +</span><span class="k">class</span> <span class="nc">PingMessage</span><span class="p">(</span><span class="n">Datamodel</span><span class="p">):</span><span class="w"> |
| 404 | +</span> <span class="n">_name</span> <span class="o">=</span> <span class="s2">"ping.message"</span><span class="w"> |
403 | 405 |
|
404 | | - <span class="n">message</span> <span class="o">=</span> <span class="n">fields</span><span class="o">.</span><span class="n">String</span><span class="p">(</span><span class="n">required</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">allow_none</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span> |
| 406 | +</span> <span class="n">message</span> <span class="o">=</span> <span class="n">fields</span><span class="o">.</span><span class="n">String</span><span class="p">(</span><span class="n">required</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">allow_none</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span><span class="w"> |
405 | 407 |
|
406 | 408 |
|
407 | | -<span class="k">class</span> <span class="nc">PingService</span><span class="p">(</span><span class="n">Component</span><span class="p">):</span> |
408 | | - <span class="n">_inherit</span> <span class="o">=</span> <span class="s1">'base.rest.service'</span> |
409 | | - <span class="n">_name</span> <span class="o">=</span> <span class="s1">'ping.service'</span> |
410 | | - <span class="n">_usage</span> <span class="o">=</span> <span class="s1">'ping'</span> |
411 | | - <span class="n">_collection</span> <span class="o">=</span> <span class="s1">'my_module.services'</span> |
| 409 | +</span><span class="k">class</span> <span class="nc">PingService</span><span class="p">(</span><span class="n">Component</span><span class="p">):</span><span class="w"> |
| 410 | +</span> <span class="n">_inherit</span> <span class="o">=</span> <span class="s1">'base.rest.service'</span><span class="w"> |
| 411 | +</span> <span class="n">_name</span> <span class="o">=</span> <span class="s1">'ping.service'</span><span class="w"> |
| 412 | +</span> <span class="n">_usage</span> <span class="o">=</span> <span class="s1">'ping'</span><span class="w"> |
| 413 | +</span> <span class="n">_collection</span> <span class="o">=</span> <span class="s1">'my_module.services'</span><span class="w"> |
412 | 414 |
|
413 | 415 |
|
414 | | - <span class="nd">@restapi</span><span class="o">.</span><span class="n">method</span><span class="p">(</span> |
415 | | - <span class="p">[([</span><span class="s2">"/pong"</span><span class="p">],</span> <span class="s2">"GET"</span><span class="p">)],</span> |
416 | | - <span class="n">input_param</span><span class="o">=</span><span class="n">restapi</span><span class="o">.</span><span class="n">Datamodel</span><span class="p">(</span><span class="s2">"ping.message"</span><span class="p">),</span> |
417 | | - <span class="n">output_param</span><span class="o">=</span><span class="n">restapi</span><span class="o">.</span><span class="n">Datamodel</span><span class="p">(</span><span class="s2">"ping.message"</span><span class="p">),</span> |
418 | | - <span class="n">auth</span><span class="o">=</span><span class="s2">"public"</span><span class="p">,</span> |
419 | | - <span class="p">)</span> |
420 | | - <span class="k">def</span> <span class="nf">pong</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ping_message</span><span class="p">):</span> |
421 | | - <span class="n">PingMessage</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">env</span><span class="o">.</span><span class="n">datamodels</span><span class="p">[</span><span class="s2">"ping.message"</span><span class="p">]</span> |
422 | | - <span class="k">return</span> <span class="n">PingMessage</span><span class="p">(</span><span class="n">message</span> <span class="o">=</span> <span class="s2">"Received: "</span> <span class="o">+</span> <span class="n">ping_message</span><span class="o">.</span><span class="n">message</span><span class="p">)</span> |
| 416 | +</span> <span class="nd">@restapi</span><span class="o">.</span><span class="n">method</span><span class="p">(</span><span class="w"> |
| 417 | +</span> <span class="p">[([</span><span class="s2">"/pong"</span><span class="p">],</span> <span class="s2">"GET"</span><span class="p">)],</span><span class="w"> |
| 418 | +</span> <span class="n">input_param</span><span class="o">=</span><span class="n">restapi</span><span class="o">.</span><span class="n">Datamodel</span><span class="p">(</span><span class="s2">"ping.message"</span><span class="p">),</span><span class="w"> |
| 419 | +</span> <span class="n">output_param</span><span class="o">=</span><span class="n">restapi</span><span class="o">.</span><span class="n">Datamodel</span><span class="p">(</span><span class="s2">"ping.message"</span><span class="p">),</span><span class="w"> |
| 420 | +</span> <span class="n">auth</span><span class="o">=</span><span class="s2">"public"</span><span class="p">,</span><span class="w"> |
| 421 | +</span> <span class="p">)</span><span class="w"> |
| 422 | +</span> <span class="k">def</span> <span class="nf">pong</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ping_message</span><span class="p">):</span><span class="w"> |
| 423 | +</span> <span class="n">PingMessage</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">env</span><span class="o">.</span><span class="n">datamodels</span><span class="p">[</span><span class="s2">"ping.message"</span><span class="p">]</span><span class="w"> |
| 424 | +</span> <span class="k">return</span> <span class="n">PingMessage</span><span class="p">(</span><span class="n">message</span> <span class="o">=</span> <span class="s2">"Received: "</span> <span class="o">+</span> <span class="n">ping_message</span><span class="o">.</span><span class="n">message</span><span class="p">)</span> |
423 | 425 | </pre> |
424 | 426 | </div> |
425 | 427 | <div class="section" id="bug-tracker"> |
426 | | -<h1><a class="toc-backref" href="#id2">Bug Tracker</a></h1> |
| 428 | +<h1><a class="toc-backref" href="#toc-entry-2">Bug Tracker</a></h1> |
427 | 429 | <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/rest-framework/issues">GitHub Issues</a>. |
428 | 430 | In case of trouble, please check there if your issue has already been reported. |
429 | | -If you spotted it first, help us smashing it by providing a detailed and welcomed |
| 431 | +If you spotted it first, help us to smash it by providing a detailed and welcomed |
430 | 432 | <a class="reference external" href="https://github.com/OCA/rest-framework/issues/new?body=module:%20base_rest_datamodel%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p> |
431 | 433 | <p>Do not contact contributors directly about support or help with technical issues.</p> |
432 | 434 | </div> |
433 | 435 | <div class="section" id="credits"> |
434 | | -<h1><a class="toc-backref" href="#id3">Credits</a></h1> |
| 436 | +<h1><a class="toc-backref" href="#toc-entry-3">Credits</a></h1> |
435 | 437 | <div class="section" id="authors"> |
436 | | -<h2><a class="toc-backref" href="#id4">Authors</a></h2> |
| 438 | +<h2><a class="toc-backref" href="#toc-entry-4">Authors</a></h2> |
437 | 439 | <ul class="simple"> |
438 | 440 | <li>ACSONE SA/NV</li> |
439 | 441 | </ul> |
440 | 442 | </div> |
441 | 443 | <div class="section" id="contributors"> |
442 | | -<h2><a class="toc-backref" href="#id5">Contributors</a></h2> |
| 444 | +<h2><a class="toc-backref" href="#toc-entry-5">Contributors</a></h2> |
443 | 445 | <ul class="simple"> |
444 | 446 | <li>Laurent Mignon <<a class="reference external" href="mailto:laurent.mignon@acsone.eu">laurent.mignon@acsone.eu</a>></li> |
445 | 447 | </ul> |
446 | 448 | </div> |
447 | 449 | <div class="section" id="maintainers"> |
448 | | -<h2><a class="toc-backref" href="#id6">Maintainers</a></h2> |
| 450 | +<h2><a class="toc-backref" href="#toc-entry-6">Maintainers</a></h2> |
449 | 451 | <p>This module is maintained by the OCA.</p> |
450 | 452 | <a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a> |
451 | 453 | <p>OCA, or the Odoo Community Association, is a nonprofit organization whose |
|
0 commit comments