pub struct GmailPushConfig {
pub enabled: bool,
pub topic: String,
pub label_filter: Vec<String>,
pub oauth_token: String,
pub allowed_senders: Vec<String>,
pub webhook_url: String,
pub webhook_secret: String,
}Expand description
Gmail Pub/Sub push notification channel configuration.
Fields§
§enabled: boolEnable the Gmail push channel. Default: false.
topic: StringGoogle Cloud Pub/Sub topic in the form projects/<project>/topics/<topic>.
label_filter: Vec<String>Gmail labels to watch. Default: ["INBOX"].
oauth_token: StringOAuth2 access token for the Gmail API.
Falls back to GMAIL_PUSH_OAUTH_TOKEN env var.
allowed_senders: Vec<String>Allowed sender addresses/domains. Empty = deny all, ["*"] = allow all.
webhook_url: StringWebhook URL that Google Pub/Sub should POST to.
Usually https://<your-domain>/webhook/gmail.
If empty, watch registration is skipped (useful when using external subscription management).
webhook_secret: StringShared secret for webhook authentication. If set, incoming webhook
requests must include Authorization: Bearer <secret>.
Falls back to GMAIL_PUSH_WEBHOOK_SECRET env var.
Trait Implementations§
Source§impl ChannelConfig for GmailPushConfig
impl ChannelConfig for GmailPushConfig
Source§impl Clone for GmailPushConfig
impl Clone for GmailPushConfig
Source§fn clone(&self) -> GmailPushConfig
fn clone(&self) -> GmailPushConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for GmailPushConfig
impl Debug for GmailPushConfig
Source§impl Default for GmailPushConfig
impl Default for GmailPushConfig
Source§impl<'de> Deserialize<'de> for GmailPushConfig
impl<'de> Deserialize<'de> for GmailPushConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl JsonSchema for GmailPushConfig
impl JsonSchema for GmailPushConfig
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for GmailPushConfig
impl RefUnwindSafe for GmailPushConfig
impl Send for GmailPushConfig
impl Sync for GmailPushConfig
impl Unpin for GmailPushConfig
impl UnsafeUnpin for GmailPushConfig
impl UnwindSafe for GmailPushConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more