Skip to main content

google_search_console_api/sites/
mod.rs

1//! Sites API types.
2
3use serde_derive::{Deserialize, Serialize};
4
5/// Response from the Sites get API.
6#[derive(Default, Debug, Serialize, Deserialize)]
7pub struct ResponseSiteApi {
8    /// The URL of the site.
9    #[serde(rename = "siteUrl")]
10    pub site_url: String,
11    /// The user's permission level for this site.
12    #[serde(rename = "permissionLevel")]
13    pub permission_level: PermissionLevel,
14}
15
16/// Response from the Sites list API.
17#[derive(Default, Debug, Serialize, Deserialize)]
18pub struct ResponseSiteListApi {
19    /// List of sites the user has access to.
20    #[serde(rename = "siteEntry", default)]
21    pub site_entry: Vec<ResponseSiteApi>,
22}
23
24/// Permission level for a site.
25#[derive(Default, Debug, Serialize, Deserialize, Clone)]
26pub enum PermissionLevel {
27    /// Full user permissions.
28    #[serde(rename = "siteFullUser")]
29    SiteFullUser,
30    /// Owner permissions.
31    #[serde(rename = "siteOwner")]
32    SiteOwner,
33    /// Restricted user permissions.
34    #[serde(rename = "siteRestrictedUser")]
35    SiteRestrictedUser,
36    /// Unverified user (default).
37    #[serde(rename = "siteUnverifiedUser")]
38    #[default]
39    SiteUnverifiedUser,
40}