1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
// This file is @generated by prost-build.
/// Calendar add-on manifest.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CalendarAddOnManifest {
    /// Defines an endpoint that will be executed contexts that don't
    /// match a declared contextual trigger. Any cards generated by this function
    /// will always be available to the user, but may be eclipsed by contextual
    /// content when this add-on declares more targeted triggers.
    ///
    /// If present, this overrides the configuration from
    /// `addOns.common.homepageTrigger`.
    #[prost(message, optional, tag = "6")]
    pub homepage_trigger: ::core::option::Option<super::HomepageExtensionPoint>,
    /// Defines conference solutions provided by this add-on.
    #[prost(message, repeated, tag = "3")]
    pub conference_solution: ::prost::alloc::vec::Vec<ConferenceSolution>,
    /// An endpoint to execute that creates a URL to the add-on's settings page.
    #[prost(string, tag = "5")]
    pub create_settings_url_function: ::prost::alloc::string::String,
    /// An endpoint to trigger when an event is opened (viewed/edited).
    #[prost(message, optional, tag = "10")]
    pub event_open_trigger: ::core::option::Option<CalendarExtensionPoint>,
    /// An endpoint to trigger when the open event is updated.
    #[prost(message, optional, tag = "11")]
    pub event_update_trigger: ::core::option::Option<CalendarExtensionPoint>,
    /// Define the level of data access when an event addon is triggered.
    #[prost(enumeration = "calendar_add_on_manifest::EventAccess", tag = "12")]
    pub current_event_access: i32,
}
/// Nested message and enum types in `CalendarAddOnManifest`.
pub mod calendar_add_on_manifest {
    /// An enum defining the level of data access event triggers require.
    #[derive(
        Clone,
        Copy,
        Debug,
        PartialEq,
        Eq,
        Hash,
        PartialOrd,
        Ord,
        ::prost::Enumeration
    )]
    #[repr(i32)]
    pub enum EventAccess {
        /// Default value when nothing is set for EventAccess.
        Unspecified = 0,
        /// METADATA gives event triggers the permission to access the metadata of
        /// events such as event id and calendar id.
        Metadata = 1,
        /// READ gives event triggers access to all provided event fields including
        /// the metadata, attendees, and conference data.
        Read = 3,
        /// WRITE gives event triggers access to the metadata of events and the
        /// ability to perform all actions, including adding attendees and setting
        /// conference data.
        Write = 4,
        /// READ_WRITE gives event triggers access to all provided event fields
        /// including the metadata, attendees, and conference data and the ability to
        /// perform all actions.
        ReadWrite = 5,
    }
    impl EventAccess {
        /// String value of the enum field names used in the ProtoBuf definition.
        ///
        /// The values are not transformed in any way and thus are considered stable
        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
        pub fn as_str_name(&self) -> &'static str {
            match self {
                EventAccess::Unspecified => "UNSPECIFIED",
                EventAccess::Metadata => "METADATA",
                EventAccess::Read => "READ",
                EventAccess::Write => "WRITE",
                EventAccess::ReadWrite => "READ_WRITE",
            }
        }
        /// Creates an enum from field names used in the ProtoBuf definition.
        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
            match value {
                "UNSPECIFIED" => Some(Self::Unspecified),
                "METADATA" => Some(Self::Metadata),
                "READ" => Some(Self::Read),
                "WRITE" => Some(Self::Write),
                "READ_WRITE" => Some(Self::ReadWrite),
                _ => None,
            }
        }
    }
}
/// Defines conference related values.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConferenceSolution {
    /// Required. The endpoint to call when ConferenceData should be created.
    #[prost(string, tag = "1")]
    pub on_create_function: ::prost::alloc::string::String,
    /// Required. IDs should be unique across ConferenceSolutions within one
    /// add-on, but this is not strictly enforced. It is up to the add-on developer
    /// to assign them uniquely, otherwise the wrong ConferenceSolution may be
    /// used when the add-on is triggered. While the developer may change the
    /// display name of an add-on, the ID should not be changed.
    #[prost(string, tag = "4")]
    pub id: ::prost::alloc::string::String,
    /// Required. The display name of the ConferenceSolution.
    #[prost(string, tag = "5")]
    pub name: ::prost::alloc::string::String,
    /// Required. The URL for the logo image of the ConferenceSolution.
    #[prost(string, tag = "6")]
    pub logo_url: ::prost::alloc::string::String,
}
/// Common format for declaring a calendar add-on's triggers.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CalendarExtensionPoint {
    /// Required. The endpoint to execute when this extension point is
    /// activated.
    #[prost(string, tag = "1")]
    pub run_function: ::prost::alloc::string::String,
}