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,
}