pub mod request;
pub mod response;
use serde::{Deserialize, Serialize};
use std::fmt::Debug;
pub use request::{
JsonRpcParams, JsonRpcRequest, OdooApiContainer, OdooApiMethod, OdooOrmContainer,
OdooOrmMethod, OdooWebContainer, OdooWebMethod,
};
pub use response::JsonRpcResponse;
pub type JsonRpcId = u32;
pub type OdooId = i32;
#[derive(Debug, Serialize, Deserialize)]
pub struct OdooIds(Vec<OdooId>);
impl From<OdooId> for OdooIds {
fn from(value: OdooId) -> Self {
OdooIds(vec![value])
}
}
impl From<Vec<OdooId>> for OdooIds {
fn from(value: Vec<OdooId>) -> Self {
Self(value)
}
}
#[derive(Debug, Serialize, Deserialize)]
pub enum JsonRpcVersion {
#[serde(rename = "2.0")]
V2,
}
#[derive(Debug, Serialize, Deserialize)]
pub enum JsonRpcMethod {
#[serde(rename = "call")]
Call,
}