google_search_console_api/mobile_friendly_test/
mod.rs

1use serde_derive::{Deserialize, Serialize};
2
3#[derive(Debug, Serialize, Deserialize, Clone)]
4pub struct RequestMobileFriendlyTest {
5    pub url: String,
6    // #[serde(rename = "requestScreenshot")]
7    pub request_screenshot: bool,
8}
9
10#[derive(Debug, Serialize, Deserialize, Clone)]
11pub struct ResponseMobileFriendlyTest {
12    #[serde(rename = "testStatus")]
13    pub test_status:TestStatus,
14    #[serde(rename = "mobileFriendliness")]
15    pub mobile_friendliness:MobileFriendlyTestResult,
16    #[serde(rename = "mobileFriendlyIssues")]
17    pub mobile_friendly_issues:Option<Vec<MobileFriendlyIssue>>,
18    #[serde(rename = "resourceIssues")]
19    pub resource_issues:Option<Vec<ResourceIssue>>,
20    pub screenshot:Option<Image>,
21}
22#[derive(Debug, Serialize, Deserialize, Clone)]
23pub struct TestStatus {
24    pub status: TestStatusEnum,
25    pub details: Option<String>,
26}
27
28#[derive(Debug, Serialize, Deserialize, Clone)]
29pub enum TestStatusEnum {
30    #[serde(rename = "TEST_STATUS_UNSPECIFIED")]
31    TestStatusUnspecified,
32    #[serde(rename = "COMPLETE")]
33    COMPLETE,
34    #[serde(rename = "INTERNAL_ERROR")]
35    InternalError,
36    #[serde(rename = "PAGE_UNREACHABLE")]
37    PageUnreachable,
38}
39
40#[derive(Debug, Serialize, Deserialize, Clone)]
41pub enum MobileFriendlyTestResult {
42    #[serde(rename = "MOBILE_FRIENDLY_TEST_RESULT_UNSPECIFIED")]
43    MobileFriendlyTestResultUnspecified,
44    #[serde(rename = "MOBILE_FRIENDLY")]
45    MobileFriendly,
46    #[serde(rename = "NOT_MOBILE_FRIENDLY")]
47    NotMobileFriendly,
48}
49
50#[derive(Debug, Serialize, Deserialize, Clone)]
51pub struct MobileFriendlyIssue {
52    pub rule: MobileFriendlyRule,
53}
54
55#[derive(Debug, Serialize, Deserialize, Clone)]
56pub enum MobileFriendlyRule {
57    #[serde(rename = "MOBILE_FRIENDLY_RULE_UNSPECIFIED")]
58    MobileFriendlyRuleUnspecified,
59    #[serde(rename = "USES_INCOMPATIBLE_PLUGINS")]
60    UsesIncompatiblePlugins,
61    #[serde(rename = "ConfigureViewport")]
62    ConfigureViewport,
63    #[serde(rename = "FIXED_WIDTH_VIEWPORT")]
64    FixedWidthViewport,
65    #[serde(rename = "SIZE_CONTENT_TO_VIEWPORT")]
66    SizeContentToViewport,
67    #[serde(rename = "USE_LEGIBLE_FONT_SIZES")]
68    UseLegibleFontSizes,
69    #[serde(rename = "TAP_TARGETS_TOO_CLOSE")]
70    TapTargetsTooClose,
71}
72
73#[derive(Debug, Serialize, Deserialize, Clone)]
74pub struct ResourceIssue {
75    #[serde(rename = "blockedResource")]
76    pub blocked_resource: BlockedResource,
77}
78
79#[derive(Debug, Serialize, Deserialize, Clone)]
80pub struct BlockedResource {
81    pub url: String,
82}
83
84#[derive(Debug, Serialize, Deserialize, Clone)]
85pub struct Image {
86    pub data: String,
87    #[serde(rename = "mimeType")]
88    pub mime_type: String,
89}