google_search_console_api/mobile_friendly_test/
mod.rs1use serde_derive::{Deserialize, Serialize};
2
3#[derive(Debug, Serialize, Deserialize, Clone)]
4pub struct RequestMobileFriendlyTest {
5 pub url: String,
6 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}