session.go 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package model
  2. type Session struct {
  3. UserID string `json:"uid,omitempty"`
  4. Instance string `json:"ins,omitempty"`
  5. ClientID string `json:"cid,omitempty"`
  6. ClientSecret string `json:"cs,omitempty"`
  7. AccessToken string `json:"at,omitempty"`
  8. CSRFToken string `json:"csrf,omitempty"`
  9. Settings Settings `json:"sett,omitempty"`
  10. }
  11. func (s Session) IsLoggedIn() bool {
  12. return len(s.AccessToken) > 0
  13. }
  14. type Settings struct {
  15. DefaultVisibility string `json:"dv,omitempty"`
  16. DefaultFormat string `json:"df,omitempty"`
  17. CopyScope bool `json:"cs,omitempty"`
  18. ThreadInNewTab bool `json:"tnt,omitempty"`
  19. HideAttachments bool `json:"ha,omitempty"`
  20. MaskNSFW bool `json:"mn,omitempty"`
  21. NotificationInterval int `json:"ni,omitempty"`
  22. FluorideMode bool `json:"fm,omitempty"`
  23. DarkMode bool `json:"dm,omitempty"`
  24. AntiDopamineMode bool `json:"adm,omitempty"`
  25. HideUnsupportedNotifs bool `json:"hun,omitempty"`
  26. InstanceEmojiFilter string `json:"iemojfilter,omitempty"`
  27. AddReactionsFilter string `json:"reactionfilter,omitempty"`
  28. CSS string `json:"css,omitempty"`
  29. CSSHash string `json:"cssh,omitempty"`
  30. }
  31. func NewSettings() *Settings {
  32. return &Settings{
  33. DefaultVisibility: "public",
  34. DefaultFormat: "",
  35. CopyScope: true,
  36. ThreadInNewTab: false,
  37. HideAttachments: false,
  38. MaskNSFW: true,
  39. NotificationInterval: 0,
  40. FluorideMode: false,
  41. DarkMode: false,
  42. AntiDopamineMode: false,
  43. HideUnsupportedNotifs: false,
  44. InstanceEmojiFilter: "",
  45. AddReactionsFilter: "",
  46. CSS: "",
  47. CSSHash: "",
  48. }
  49. }