odoo_api/service/mod.rs
1//! The base Odoo API types
2//!
3//! This module contains raw types and impls for the Odoo API methods.
4//!
5//! As a crate user, you shouldn't need to interact with these directly. Instead, see [`crate::client`].
6//!
7//! <br />
8//!
9//! ## API Methods
10//!
11//! <br />
12//!
13//! <span style="font-size: 1.125rem; margin: 15px 0 5px 0;">[`object`](crate::service::object)</span>
14//!
15//! |<div style="width: 250px">Method</div>|<div style="width: 550px">Description</div>|<div style="width: 50px">Auth?</div>|
16//! |-|-|-|
17//! |[`execute`](object::Execute)|Call a business-logic method on an Odoo model (positional args)|**Yes**|
18//! |[`execute_kw`](object::ExecuteKw)|Call a business-logic method on an Odoo model (positional & keyword args)|**Yes**|
19//!
20//! <br />
21//!
22//! <span style="font-size: 1.125rem; margin: 15px 0 5px 0;">[`orm`](crate::service::orm)</span>
23//!
24//! **TBC**
25//!
26//! |<div style="width: 250px">Method</div>|<div style="width: 550px">Description</div>|<div style="width: 50px">Auth?</div>|
27//! |-|-|-|
28//! |[`create`](orm::Create)|Create a new record (or set of records)|**Yes**|
29//! |[`read`](orm::Read)|Read data from a record (or set of records)|**Yes**|
30//! |[`read_group`](orm::ReadGroup)|Read some grouped data from a record (or set of records)|**Yes**|
31//! |[`write`](orm::Write)|Write data to a record (or set of records)|**Yes**|
32//! |[`unlink`](orm::Unlink)|Delete a record (or set of records)|**Yes**|
33//! |[`search`](orm::Search)|Return the ids of records matching a domain|**Yes**|
34//! |[`search_count`](orm::SearchCount)|Return the count of records matching a domain|**Yes**|
35//! |[`search_read`](orm::SearchRead)|Perform a `search` and `read` in one call|**Yes**|
36//! |[`copy`](orm::Copy)|Copy a record|**Yes**|
37//! |[`exists`](orm::Exists)|Check if the record(s) exist in the Odoo database|**Yes**|
38//! |[`check_access_rights`](orm::CheckAccessRights)|Check model access rights (according to `ir.model.access`)|**Yes**|
39//! |[`check_access_rules`](orm::CheckAccessRules)|Check model access rules (according to `ir.rule`)|**Yes**|
40//! |[`check_field_access_rights`](orm::CheckFieldAccessRights)|Check the user access rights on the given fields|**Yes**|
41//! |[`get_metadata`](orm::GetExternalId)|Return some metadata about the given record(s)|**Yes**|
42//! |[`get_external_id`](orm::GetMetadata)|Fetch the XMLID for the given record(s)|**Yes**|
43//! |[`get_xml_id`](orm::GetXmlId)|Fetch the XMLID for the given record(s)|**Yes**|
44//! |[`name_get`](orm::NameGet)|Fetch the `display_naame` for the given record(s)|**Yes**|
45//! |[`name_create`](orm::NameCreate)|Create a new record, passing only the `name` field|**Yes**|
46//! |[`name_search`](orm::NameSearch)|Search for records based on their `name` field|**Yes**|
47//!
48//! <br />
49//!
50//! <span style="font-size: 1.125rem; margin: 15px 0 5px 0;">[`common`](crate::service::common)</span>
51//!
52//! |<div style="width: 250px">Method</div>|<div style="width: 550px">Description</div>|<div style="width: 50px">Auth?</div>|
53//! |-|-|-|
54//! |[`common_login`](common::Login)|Check the user credentials and return the user ID|-|
55//! |[`common_authenticate`](common::Authenticate)|Check the user credentials and return the user ID (web)|-|
56//! |[`common_version`](common::Version)|Fetch detailed information about the Odoo version|-|
57//! |[`common_about`](common::About)|Fetch basic information about the Odoo version|-|
58//!
59//! <br />
60//!
61//! <span style="font-size: 1.125rem; margin: 15px 0 5px 0;">[`db`](crate::service::db)</span>
62//!
63//! |<div style="width: 250px">Method</div>|<div style="width: 550px">Description</div>|<div style="width: 50px">Auth?</div>|
64//! |-|-|-|
65//! |[`db_create_database`](db::CreateDatabase)|Create and initialize a new database|-|
66//! |[`db_duplicate_database`](db::DuplicateDatabase)|Duplicate a database|-|
67//! |[`db_drop`](db::Drop)|Drop (delete) a database|-|
68//! |[`db_dump`](db::Dump)|Dump (backup) a database, optionally including the filestore folder|-|
69//! |[`db_restore`](db::Restore)|Upload and restore an Odoo dump to a new database|-|
70//! |[`db_rename`](db::Rename)|Rename a database|-|
71//! |[`db_change_admin_password`](db::ChangeAdminPassword)|Change the Odoo "master password"|-|
72//! |[`db_migrate_database`](db::MigrateDatabases)|Perform a "database migration" (upgrade the `base` module)|-|
73//! |[`db_exist`](db::DbExist)|Check if a database exists|-|
74//! |[`db_list`](db::List)|List the databases currently available to Odoo|-|
75//! |[`db_list_lang`](db::ListLang)|List the languages available to Odoo (ISO name + code)|-|
76//! |[`db_list_countries`](db::ListCountries)|List the countries available to Odoo (ISO name + code)|-|
77//! |[`db_server_version`](db::ServerVersion)|Return the server version|-|
78//!
79//! <br />
80//!
81//! <span style="font-size: 1.125rem; margin: 15px 0 5px 0;">[`web`](crate::service::web)</span>
82//!
83//! |<div style="width: 250px">Method</div>|<div style="width: 550px">Description</div>|<div style="width: 50px">Auth?</div>|
84//! |-|-|-|
85//! |[`web_session_authenticate`](web::SessionAuthenticate)|Docs TBC|-|
86//!
87
88pub mod common;
89pub mod db;
90pub mod object;
91pub mod orm;
92pub mod web;