Skip to main content

rustenium_bidi_definitions/storage/
commands.rs

1use serde::{Deserialize, Serialize};
2#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3pub struct GetCookiesParams {
4    #[serde(rename = "filter")]
5    #[serde(skip_serializing_if = "Option::is_none")]
6    #[serde(default)]
7    pub filter: Option<super::types::CookieFilter>,
8    #[serde(rename = "partition")]
9    #[serde(skip_serializing_if = "Option::is_none")]
10    #[serde(default)]
11    pub partition: Option<super::types::PartitionDescriptor>,
12}
13#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
14pub enum GetCookiesMethod {
15    #[serde(rename = "storage.getCookies")]
16    GetCookies,
17}
18#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
19pub struct GetCookies {
20    pub method: GetCookiesMethod,
21    pub params: GetCookiesParams,
22}
23impl GetCookies {
24    pub const IDENTIFIER: &'static str = "storage.getCookies";
25    pub const DOMAIN_DIRECTION: &'static str = "remote";
26    pub fn identifier(&self) -> &'static str {
27        Self::IDENTIFIER
28    }
29}
30impl crate::CommandResult for GetCookies {
31    type Result = super::results::GetCookiesResult;
32}
33#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
34pub struct SetCookieParams {
35    #[serde(rename = "cookie")]
36    pub cookie: super::types::PartialCookie,
37    #[serde(rename = "partition")]
38    #[serde(skip_serializing_if = "Option::is_none")]
39    #[serde(default)]
40    pub partition: Option<super::types::PartitionDescriptor>,
41}
42impl SetCookieParams {
43    pub fn new(cookie: impl Into<super::types::PartialCookie>) -> Self {
44        Self {
45            cookie: cookie.into(),
46            partition: None,
47        }
48    }
49}
50#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
51pub enum SetCookieMethod {
52    #[serde(rename = "storage.setCookie")]
53    SetCookie,
54}
55#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
56pub struct SetCookie {
57    pub method: SetCookieMethod,
58    pub params: SetCookieParams,
59}
60impl SetCookie {
61    pub const IDENTIFIER: &'static str = "storage.setCookie";
62    pub const DOMAIN_DIRECTION: &'static str = "remote";
63    pub fn identifier(&self) -> &'static str {
64        Self::IDENTIFIER
65    }
66}
67impl crate::CommandResult for SetCookie {
68    type Result = super::results::SetCookieResult;
69}
70#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
71pub struct DeleteCookiesParams {
72    #[serde(rename = "filter")]
73    #[serde(skip_serializing_if = "Option::is_none")]
74    #[serde(default)]
75    pub filter: Option<super::types::CookieFilter>,
76    #[serde(rename = "partition")]
77    #[serde(skip_serializing_if = "Option::is_none")]
78    #[serde(default)]
79    pub partition: Option<super::types::PartitionDescriptor>,
80}
81#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
82pub enum DeleteCookiesMethod {
83    #[serde(rename = "storage.deleteCookies")]
84    DeleteCookies,
85}
86#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
87pub struct DeleteCookies {
88    pub method: DeleteCookiesMethod,
89    pub params: DeleteCookiesParams,
90}
91impl DeleteCookies {
92    pub const IDENTIFIER: &'static str = "storage.deleteCookies";
93    pub const DOMAIN_DIRECTION: &'static str = "remote";
94    pub fn identifier(&self) -> &'static str {
95        Self::IDENTIFIER
96    }
97}
98impl crate::CommandResult for DeleteCookies {
99    type Result = super::results::DeleteCookiesResult;
100}
101group_enum ! (StorageCommand { GetCookies (GetCookies) , SetCookie (SetCookie) , DeleteCookies (DeleteCookies) } + identifiable);