50 lines
1.6 KiB
Go
50 lines
1.6 KiB
Go
package model
|
|
|
|
type Session struct {
|
|
UserID string `json:"uid,omitempty"`
|
|
Instance string `json:"ins,omitempty"`
|
|
ClientID string `json:"cid,omitempty"`
|
|
ClientSecret string `json:"cs,omitempty"`
|
|
AccessToken string `json:"at,omitempty"`
|
|
CSRFToken string `json:"csrf,omitempty"`
|
|
Settings Settings `json:"sett,omitempty"`
|
|
}
|
|
|
|
func (s Session) IsLoggedIn() bool {
|
|
return len(s.AccessToken) > 0
|
|
}
|
|
|
|
type Settings struct {
|
|
DefaultVisibility string `json:"dv,omitempty"`
|
|
DefaultFormat string `json:"df,omitempty"`
|
|
CopyScope bool `json:"cs,omitempty"`
|
|
ThreadInNewTab bool `json:"tnt,omitempty"`
|
|
HideAttachments bool `json:"ha,omitempty"`
|
|
MaskNSFW bool `json:"mn,omitempty"`
|
|
NotificationInterval int `json:"ni,omitempty"`
|
|
FluorideMode bool `json:"fm,omitempty"`
|
|
DarkMode bool `json:"dm,omitempty"`
|
|
AntiDopamineMode bool `json:"adm,omitempty"`
|
|
HideUnsupportedNotifs bool `json:"hun,omitempty"`
|
|
CSS string `json:"css,omitempty"`
|
|
CSSHash string `json:"cssh,omitempty"`
|
|
}
|
|
|
|
func NewSettings() *Settings {
|
|
return &Settings{
|
|
DefaultVisibility: "public",
|
|
DefaultFormat: "",
|
|
CopyScope: true,
|
|
ThreadInNewTab: false,
|
|
HideAttachments: false,
|
|
MaskNSFW: true,
|
|
NotificationInterval: 0,
|
|
FluorideMode: false,
|
|
DarkMode: false,
|
|
AntiDopamineMode: false,
|
|
HideUnsupportedNotifs: false,
|
|
CSS: "",
|
|
CSSHash: "",
|
|
}
|
|
}
|