#![allow(clippy::derive_partial_eq_without_eq)]
use std::str::FromStr;
use crate::helper::SubscriptionPlan;
use super::{AvailableLanguages, CommentIcon};
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RegistrationData {
#[prost(string, tag = "1")]
pub secret: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UserTickets {
#[prost(uint64, tag = "1")]
pub ticket: u64,
#[prost(int64, tag = "2")]
pub next_refresh: i64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UserSubscription {
#[prost(string, tag = "1")]
pub plan: ::prost::alloc::string::String,
#[prost(uint64, tag = "2")]
pub next_payment: u64,
#[prost(bool, tag = "3")]
pub trial: bool,
#[prost(bool, tag = "4")]
pub downgrading: bool,
}
impl UserSubscription {
pub fn plan(&self) -> SubscriptionPlan {
match SubscriptionPlan::from_str(&self.plan) {
Ok(plan) => plan,
Err(_) => SubscriptionPlan::Basic,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UserSettings {
#[prost(message, optional, tag = "1")]
pub icon: ::core::option::Option<CommentIcon>,
#[prost(string, tag = "2")]
pub user_name: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub news_notification: bool,
#[prost(bool, tag = "4")]
pub chapter_notification: bool,
#[prost(uint64, tag = "5")]
pub english_title_count: u64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UserSettingsV2 {
#[prost(message, optional, tag = "1")]
pub icon: ::core::option::Option<CommentIcon>,
#[prost(string, tag = "2")]
pub user_name: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub news_notification: bool,
#[prost(bool, tag = "4")]
pub chapter_notification: bool,
#[prost(message, repeated, tag = "5")]
pub languages: ::prost::alloc::vec::Vec<AvailableLanguages>,
#[prost(message, optional, tag = "6")]
pub subscription: ::core::option::Option<UserSubscription>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UserProfileSettings {
#[prost(message, repeated, tag = "1")]
pub icons: ::prost::alloc::vec::Vec<CommentIcon>,
#[prost(string, optional, tag = "2")]
pub user_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "3")]
pub icon: ::core::option::Option<CommentIcon>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UserUpdateProfileResult {
#[prost(enumeration = "super::UpdateProfileResult", tag = "1")]
pub result: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PushTokenResponse {
#[prost(string, tag = "1")]
pub token: ::prost::alloc::string::String,
#[prost(int64, optional, tag = "2")]
pub timestamp: ::core::option::Option<i64>,
}