Documentation ¶
Index ¶
- func CreateDiscordAttachment(change *drive.ChangeItem) *discord.Attachment
- func CreateDiscordMessage(subscription *Subscription, userState *UserState, folders *drive.Folders, ...) *discord.Message
- func CreateDiscordWelcomeMessage(redirectUri string, gUserInfo *userinfo.UserInfo, version string) *discord.Message
- func EventLoop(env *Environment)
- func ServeHttp(env *Environment)
- type Configuration
- type Environment
- type ErrResponse
- type Logger
- type Request
- type Subscription
- type SubscriptionAndAccessToken
- type Subscriptions
- func (subscriptions *Subscriptions) Add(subscription *Subscription, googleAccessToken string)
- func (subscriptions *Subscriptions) Contains(email string) bool
- func (subscriptions *Subscriptions) HandleFailure(email string) (*Subscription, string, bool)
- func (subscriptions *Subscriptions) HandleSuccess(email string)
- type UserState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateDiscordAttachment ¶
func CreateDiscordAttachment(change *drive.ChangeItem) *discord.Attachment
func CreateDiscordMessage ¶
func EventLoop ¶
func EventLoop(env *Environment)
func ServeHttp ¶
func ServeHttp(env *Environment)
Types ¶
type Configuration ¶
type Configuration struct { BindAddress string `json:"bindAddress"` Workers int `json:"workers"` Interval int `json:"interval"` GoogleTrackingId string `json:"googleTrackingId"` Google *google.OauthConfiguration `json:"google"` Mailchimp *mailchimp.Configuration `json:"mailchimp"` }
func LoadConfiguration ¶
func LoadConfiguration(filename string) (*Configuration, error)
type Environment ¶
type Environment struct { Version string Configuration *Configuration Logger *Logger HttpClient *http.Client RegisterChannel chan *SubscriptionAndAccessToken SignalsChannel chan os.Signal }
func NewEnvironment ¶
func NewEnvironment(version string, conf *Configuration, logger *Logger) *Environment
type ErrResponse ¶
type ErrResponse struct {
Error string `json:"error"`
}
type Subscription ¶
type Subscription struct { DiscordWebhookURL string `json:"webhook_url"` GoogleRefreshToken string `json:"google_refresh_token"` GoogleUserInfo *userinfo.UserInfo `json:"guser"` WebhookInfo *discord.WebhookInfo `json:"suser"` GoogleInterestingFolderIds []string `json:"google_interesting_folder_ids"` }
type SubscriptionAndAccessToken ¶
type SubscriptionAndAccessToken struct { Subscription *Subscription GoogleAccessToken string }
type Subscriptions ¶
type Subscriptions struct { Source string Info map[string]*Subscription States map[string]*UserState }
func LoadSubscriptions ¶
func LoadSubscriptions(filename string) (*Subscriptions, error)
func (*Subscriptions) Add ¶
func (subscriptions *Subscriptions) Add(subscription *Subscription, googleAccessToken string)
func (*Subscriptions) Contains ¶
func (subscriptions *Subscriptions) Contains(email string) bool
func (*Subscriptions) HandleFailure ¶
func (subscriptions *Subscriptions) HandleFailure(email string) (*Subscription, string, bool)
func (*Subscriptions) HandleSuccess ¶
func (subscriptions *Subscriptions) HandleSuccess(email string)
Click to show internal directories.
Click to hide internal directories.