Documentation
¶
Index ¶
- Constants
- func MediaURL(name string, uploadPath string) string
- func MigrateDB(db *gorm.DB) error
- func OpenGormDB(dbType, dsn string, log *logrus.Logger) (*gorm.DB, error)
- func WithAttachments() func(*gorm.DB) *gorm.DB
- func WithPreload() func(*gorm.DB) *gorm.DB
- func WithTickers() func(*gorm.DB) *gorm.DB
- type Attachment
- type BlueskyMeta
- type InactiveSettings
- type MastodonMeta
- type MastodonUser
- type Message
- type MockStorage
- func (_m *MockStorage) AddTickerUser(ticker *Ticker, user *User) error
- func (_m *MockStorage) DeleteBluesky(ticker *Ticker) error
- func (_m *MockStorage) DeleteIntegrations(ticker *Ticker) error
- func (_m *MockStorage) DeleteMastodon(ticker *Ticker) error
- func (_m *MockStorage) DeleteMessage(message Message) error
- func (_m *MockStorage) DeleteMessages(ticker *Ticker) error
- func (_m *MockStorage) DeleteSignalGroup(ticker *Ticker) error
- func (_m *MockStorage) DeleteTelegram(ticker *Ticker) error
- func (_m *MockStorage) DeleteTicker(ticker *Ticker) error
- func (_m *MockStorage) DeleteTickerUser(ticker *Ticker, user *User) error
- func (_m *MockStorage) DeleteTickerUsers(ticker *Ticker) error
- func (_m *MockStorage) DeleteUpload(upload Upload) error
- func (_m *MockStorage) DeleteUploads(uploads []Upload)
- func (_m *MockStorage) DeleteUploadsByTicker(ticker *Ticker) error
- func (_m *MockStorage) DeleteUser(user User) error
- func (_m *MockStorage) FindMessage(tickerID int, messageID int, opts ...func(*gorm.DB) *gorm.DB) (Message, error)
- func (_m *MockStorage) FindMessagesByTicker(ticker Ticker, opts ...func(*gorm.DB) *gorm.DB) ([]Message, error)
- func (_m *MockStorage) FindMessagesByTickerAndPagination(ticker Ticker, _a1 pagination.Pagination, opts ...func(*gorm.DB) *gorm.DB) ([]Message, error)
- func (_m *MockStorage) FindTickerByDomain(domain string, opts ...func(*gorm.DB) *gorm.DB) (Ticker, error)
- func (_m *MockStorage) FindTickerByID(id int, opts ...func(*gorm.DB) *gorm.DB) (Ticker, error)
- func (_m *MockStorage) FindTickerByUserAndID(user User, id int, opts ...func(*gorm.DB) *gorm.DB) (Ticker, error)
- func (_m *MockStorage) FindTickersByIDs(ids []int, opts ...func(*gorm.DB) *gorm.DB) ([]Ticker, error)
- func (_m *MockStorage) FindTickersByUser(user User, filter TickerFilter, opts ...func(*gorm.DB) *gorm.DB) ([]Ticker, error)
- func (_m *MockStorage) FindUploadByUUID(uuid string) (Upload, error)
- func (_m *MockStorage) FindUploadsByIDs(ids []int) ([]Upload, error)
- func (_m *MockStorage) FindUserByEmail(email string, opts ...func(*gorm.DB) *gorm.DB) (User, error)
- func (_m *MockStorage) FindUserByID(id int, opts ...func(*gorm.DB) *gorm.DB) (User, error)
- func (_m *MockStorage) FindUsers(filter UserFilter, opts ...func(*gorm.DB) *gorm.DB) ([]User, error)
- func (_m *MockStorage) FindUsersByIDs(ids []int, opts ...func(*gorm.DB) *gorm.DB) ([]User, error)
- func (_m *MockStorage) FindUsersByTicker(ticker Ticker, opts ...func(*gorm.DB) *gorm.DB) ([]User, error)
- func (_m *MockStorage) GetInactiveSettings() InactiveSettings
- func (_m *MockStorage) GetRefreshIntervalSettings() RefreshIntervalSettings
- func (_m *MockStorage) ResetTicker(ticker *Ticker) error
- func (_m *MockStorage) SaveInactiveSettings(inactiveSettings InactiveSettings) error
- func (_m *MockStorage) SaveMessage(message *Message) error
- func (_m *MockStorage) SaveRefreshIntervalSettings(refreshInterval RefreshIntervalSettings) error
- func (_m *MockStorage) SaveTicker(ticker *Ticker) error
- func (_m *MockStorage) SaveUpload(upload *Upload) error
- func (_m *MockStorage) SaveUser(user *User) error
- func (_m *MockStorage) UploadPath() string
- type RefreshIntervalSettings
- type Setting
- type SignalGroupMeta
- type SqlStorage
- func (s *SqlStorage) AddTickerUser(ticker *Ticker, user *User) error
- func (s *SqlStorage) DeleteBluesky(ticker *Ticker) error
- func (s *SqlStorage) DeleteIntegrations(ticker *Ticker) error
- func (s *SqlStorage) DeleteMastodon(ticker *Ticker) error
- func (s *SqlStorage) DeleteMessage(message Message) error
- func (s *SqlStorage) DeleteMessages(ticker *Ticker) error
- func (s *SqlStorage) DeleteSignalGroup(ticker *Ticker) error
- func (s *SqlStorage) DeleteTelegram(ticker *Ticker) error
- func (s *SqlStorage) DeleteTicker(ticker *Ticker) error
- func (s *SqlStorage) DeleteTickerUser(ticker *Ticker, user *User) error
- func (s *SqlStorage) DeleteTickerUsers(ticker *Ticker) error
- func (s *SqlStorage) DeleteUpload(upload Upload) error
- func (s *SqlStorage) DeleteUploads(uploads []Upload)
- func (s *SqlStorage) DeleteUploadsByTicker(ticker *Ticker) error
- func (s *SqlStorage) DeleteUser(user User) error
- func (s *SqlStorage) FindMessage(tickerID, messageID int, opts ...func(*gorm.DB) *gorm.DB) (Message, error)
- func (s *SqlStorage) FindMessagesByTicker(ticker Ticker, opts ...func(*gorm.DB) *gorm.DB) ([]Message, error)
- func (s *SqlStorage) FindMessagesByTickerAndPagination(ticker Ticker, pagination pagination.Pagination, ...) ([]Message, error)
- func (s *SqlStorage) FindTickerByDomain(domain string, opts ...func(*gorm.DB) *gorm.DB) (Ticker, error)
- func (s *SqlStorage) FindTickerByID(id int, opts ...func(*gorm.DB) *gorm.DB) (Ticker, error)
- func (s *SqlStorage) FindTickerByUserAndID(user User, id int, opts ...func(*gorm.DB) *gorm.DB) (Ticker, error)
- func (s *SqlStorage) FindTickersByIDs(ids []int, opts ...func(*gorm.DB) *gorm.DB) ([]Ticker, error)
- func (s *SqlStorage) FindTickersByUser(user User, filter TickerFilter, opts ...func(*gorm.DB) *gorm.DB) ([]Ticker, error)
- func (s *SqlStorage) FindUploadByUUID(uuid string) (Upload, error)
- func (s *SqlStorage) FindUploadsByIDs(ids []int) ([]Upload, error)
- func (s *SqlStorage) FindUserByEmail(email string, opts ...func(*gorm.DB) *gorm.DB) (User, error)
- func (s *SqlStorage) FindUserByID(id int, opts ...func(*gorm.DB) *gorm.DB) (User, error)
- func (s *SqlStorage) FindUsers(filter UserFilter, opts ...func(*gorm.DB) *gorm.DB) ([]User, error)
- func (s *SqlStorage) FindUsersByIDs(ids []int, opts ...func(*gorm.DB) *gorm.DB) ([]User, error)
- func (s *SqlStorage) FindUsersByTicker(ticker Ticker, opts ...func(*gorm.DB) *gorm.DB) ([]User, error)
- func (s *SqlStorage) GetInactiveSettings() InactiveSettings
- func (s *SqlStorage) GetRefreshIntervalSettings() RefreshIntervalSettings
- func (s *SqlStorage) ResetTicker(ticker *Ticker) error
- func (s *SqlStorage) SaveInactiveSettings(inactiveSettings InactiveSettings) error
- func (s *SqlStorage) SaveMessage(message *Message) error
- func (s *SqlStorage) SaveRefreshIntervalSettings(refreshInterval RefreshIntervalSettings) error
- func (s *SqlStorage) SaveTicker(ticker *Ticker) error
- func (s *SqlStorage) SaveUpload(upload *Upload) error
- func (s *SqlStorage) SaveUser(user *User) error
- func (s *SqlStorage) UploadPath() string
- type Storage
- type TelegramMeta
- type Ticker
- type TickerBluesky
- type TickerFilter
- type TickerInformation
- type TickerLocation
- type TickerMastodon
- type TickerSignalGroup
- type TickerTelegram
- type Upload
- type User
- type UserFilter
Constants ¶
const ( SettingInactiveName = `inactive_settings` SettingRefreshInterval = `refresh_interval` SettingInactiveHeadline = `The ticker is currently inactive.` SettingInactiveSubHeadline = `Please contact us if you want to use it.` SettingInactiveDescription = `...` SettingInactiveAuthor = `systemli.org Ticker Team` SettingInactiveEmail = `admin@systemli.org` SettingInactiveHomepage = `https://www.systemli.org/` SettingInactiveTwitter = `systemli` SettingDefaultRefreshInterval int = 10000 )
Variables ¶
This section is empty.
Functions ¶
func WithAttachments ¶
WithAttachments is a helper function to preload the attachments association.
func WithPreload ¶
WithPreload is a helper function to preload all associations.
Types ¶
type Attachment ¶
type BlueskyMeta ¶
type InactiveSettings ¶
type InactiveSettings struct { Headline string `json:"headline" binding:"required"` SubHeadline string `json:"subHeadline" binding:"required"` Description string `json:"description" binding:"required"` Author string `json:"author" binding:"required"` Email string `json:"email" binding:"required"` Homepage string `json:"homepage" binding:"required"` Twitter string `json:"twitter" binding:"required"` }
func DefaultInactiveSettings ¶
func DefaultInactiveSettings() InactiveSettings
type MastodonMeta ¶
type MastodonUser ¶
type Message ¶
type Message struct { ID int `gorm:"primaryKey"` CreatedAt time.Time UpdatedAt time.Time TickerID int `gorm:"index"` Text string Attachments []Attachment GeoInformation geojson.FeatureCollection `gorm:"serializer:json"` Telegram TelegramMeta `gorm:"serializer:json"` Mastodon MastodonMeta `gorm:"serializer:json"` Bluesky BlueskyMeta `gorm:"serializer:json"` SignalGroup SignalGroupMeta `gorm:"serializer:json"` }
func NewMessage ¶
func NewMessage() Message
func (*Message) AddAttachment ¶
func (*Message) AddAttachments ¶
func (*Message) BlueskyURL ¶
func (*Message) MastodonURL ¶
func (*Message) TelegramURL ¶
type MockStorage ¶
MockStorage is an autogenerated mock type for the Storage type
func NewMockStorage ¶
func NewMockStorage(t interface { mock.TestingT Cleanup(func()) }) *MockStorage
NewMockStorage creates a new instance of MockStorage. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. The first argument is typically a *testing.T value.
func (*MockStorage) AddTickerUser ¶
func (_m *MockStorage) AddTickerUser(ticker *Ticker, user *User) error
AddTickerUser provides a mock function with given fields: ticker, user
func (*MockStorage) DeleteBluesky ¶
func (_m *MockStorage) DeleteBluesky(ticker *Ticker) error
DeleteBluesky provides a mock function with given fields: ticker
func (*MockStorage) DeleteIntegrations ¶
func (_m *MockStorage) DeleteIntegrations(ticker *Ticker) error
DeleteIntegrations provides a mock function with given fields: ticker
func (*MockStorage) DeleteMastodon ¶
func (_m *MockStorage) DeleteMastodon(ticker *Ticker) error
DeleteMastodon provides a mock function with given fields: ticker
func (*MockStorage) DeleteMessage ¶
func (_m *MockStorage) DeleteMessage(message Message) error
DeleteMessage provides a mock function with given fields: message
func (*MockStorage) DeleteMessages ¶
func (_m *MockStorage) DeleteMessages(ticker *Ticker) error
DeleteMessages provides a mock function with given fields: ticker
func (*MockStorage) DeleteSignalGroup ¶
func (_m *MockStorage) DeleteSignalGroup(ticker *Ticker) error
DeleteSignalGroup provides a mock function with given fields: ticker
func (*MockStorage) DeleteTelegram ¶
func (_m *MockStorage) DeleteTelegram(ticker *Ticker) error
DeleteTelegram provides a mock function with given fields: ticker
func (*MockStorage) DeleteTicker ¶
func (_m *MockStorage) DeleteTicker(ticker *Ticker) error
DeleteTicker provides a mock function with given fields: ticker
func (*MockStorage) DeleteTickerUser ¶
func (_m *MockStorage) DeleteTickerUser(ticker *Ticker, user *User) error
DeleteTickerUser provides a mock function with given fields: ticker, user
func (*MockStorage) DeleteTickerUsers ¶
func (_m *MockStorage) DeleteTickerUsers(ticker *Ticker) error
DeleteTickerUsers provides a mock function with given fields: ticker
func (*MockStorage) DeleteUpload ¶
func (_m *MockStorage) DeleteUpload(upload Upload) error
DeleteUpload provides a mock function with given fields: upload
func (*MockStorage) DeleteUploads ¶
func (_m *MockStorage) DeleteUploads(uploads []Upload)
DeleteUploads provides a mock function with given fields: uploads
func (*MockStorage) DeleteUploadsByTicker ¶
func (_m *MockStorage) DeleteUploadsByTicker(ticker *Ticker) error
DeleteUploadsByTicker provides a mock function with given fields: ticker
func (*MockStorage) DeleteUser ¶
func (_m *MockStorage) DeleteUser(user User) error
DeleteUser provides a mock function with given fields: user
func (*MockStorage) FindMessage ¶
func (_m *MockStorage) FindMessage(tickerID int, messageID int, opts ...func(*gorm.DB) *gorm.DB) (Message, error)
FindMessage provides a mock function with given fields: tickerID, messageID, opts
func (*MockStorage) FindMessagesByTicker ¶
func (_m *MockStorage) FindMessagesByTicker(ticker Ticker, opts ...func(*gorm.DB) *gorm.DB) ([]Message, error)
FindMessagesByTicker provides a mock function with given fields: ticker, opts
func (*MockStorage) FindMessagesByTickerAndPagination ¶
func (_m *MockStorage) FindMessagesByTickerAndPagination(ticker Ticker, _a1 pagination.Pagination, opts ...func(*gorm.DB) *gorm.DB) ([]Message, error)
FindMessagesByTickerAndPagination provides a mock function with given fields: ticker, _a1, opts
func (*MockStorage) FindTickerByDomain ¶
func (_m *MockStorage) FindTickerByDomain(domain string, opts ...func(*gorm.DB) *gorm.DB) (Ticker, error)
FindTickerByDomain provides a mock function with given fields: domain, opts
func (*MockStorage) FindTickerByID ¶
FindTickerByID provides a mock function with given fields: id, opts
func (*MockStorage) FindTickerByUserAndID ¶
func (_m *MockStorage) FindTickerByUserAndID(user User, id int, opts ...func(*gorm.DB) *gorm.DB) (Ticker, error)
FindTickerByUserAndID provides a mock function with given fields: user, id, opts
func (*MockStorage) FindTickersByIDs ¶
func (_m *MockStorage) FindTickersByIDs(ids []int, opts ...func(*gorm.DB) *gorm.DB) ([]Ticker, error)
FindTickersByIDs provides a mock function with given fields: ids, opts
func (*MockStorage) FindTickersByUser ¶
func (_m *MockStorage) FindTickersByUser(user User, filter TickerFilter, opts ...func(*gorm.DB) *gorm.DB) ([]Ticker, error)
FindTickersByUser provides a mock function with given fields: user, filter, opts
func (*MockStorage) FindUploadByUUID ¶
func (_m *MockStorage) FindUploadByUUID(uuid string) (Upload, error)
FindUploadByUUID provides a mock function with given fields: uuid
func (*MockStorage) FindUploadsByIDs ¶
func (_m *MockStorage) FindUploadsByIDs(ids []int) ([]Upload, error)
FindUploadsByIDs provides a mock function with given fields: ids
func (*MockStorage) FindUserByEmail ¶
FindUserByEmail provides a mock function with given fields: email, opts
func (*MockStorage) FindUserByID ¶
FindUserByID provides a mock function with given fields: id, opts
func (*MockStorage) FindUsers ¶
func (_m *MockStorage) FindUsers(filter UserFilter, opts ...func(*gorm.DB) *gorm.DB) ([]User, error)
FindUsers provides a mock function with given fields: filter, opts
func (*MockStorage) FindUsersByIDs ¶
FindUsersByIDs provides a mock function with given fields: ids, opts
func (*MockStorage) FindUsersByTicker ¶
func (_m *MockStorage) FindUsersByTicker(ticker Ticker, opts ...func(*gorm.DB) *gorm.DB) ([]User, error)
FindUsersByTicker provides a mock function with given fields: ticker, opts
func (*MockStorage) GetInactiveSettings ¶
func (_m *MockStorage) GetInactiveSettings() InactiveSettings
GetInactiveSettings provides a mock function with no fields
func (*MockStorage) GetRefreshIntervalSettings ¶
func (_m *MockStorage) GetRefreshIntervalSettings() RefreshIntervalSettings
GetRefreshIntervalSettings provides a mock function with no fields
func (*MockStorage) ResetTicker ¶
func (_m *MockStorage) ResetTicker(ticker *Ticker) error
ResetTicker provides a mock function with given fields: ticker
func (*MockStorage) SaveInactiveSettings ¶
func (_m *MockStorage) SaveInactiveSettings(inactiveSettings InactiveSettings) error
SaveInactiveSettings provides a mock function with given fields: inactiveSettings
func (*MockStorage) SaveMessage ¶
func (_m *MockStorage) SaveMessage(message *Message) error
SaveMessage provides a mock function with given fields: message
func (*MockStorage) SaveRefreshIntervalSettings ¶
func (_m *MockStorage) SaveRefreshIntervalSettings(refreshInterval RefreshIntervalSettings) error
SaveRefreshIntervalSettings provides a mock function with given fields: refreshInterval
func (*MockStorage) SaveTicker ¶
func (_m *MockStorage) SaveTicker(ticker *Ticker) error
SaveTicker provides a mock function with given fields: ticker
func (*MockStorage) SaveUpload ¶
func (_m *MockStorage) SaveUpload(upload *Upload) error
SaveUpload provides a mock function with given fields: upload
func (*MockStorage) SaveUser ¶
func (_m *MockStorage) SaveUser(user *User) error
SaveUser provides a mock function with given fields: user
func (*MockStorage) UploadPath ¶
func (_m *MockStorage) UploadPath() string
UploadPath provides a mock function with no fields
type RefreshIntervalSettings ¶
type RefreshIntervalSettings struct {
RefreshInterval int `json:"refreshInterval" binding:"required"`
}
func DefaultRefreshIntervalSettings ¶
func DefaultRefreshIntervalSettings() RefreshIntervalSettings
type SignalGroupMeta ¶
type SignalGroupMeta struct {
Timestamp int
}
type SqlStorage ¶
func NewSqlStorage ¶
func NewSqlStorage(db *gorm.DB, uploadPath string) *SqlStorage
func (*SqlStorage) AddTickerUser ¶
func (s *SqlStorage) AddTickerUser(ticker *Ticker, user *User) error
func (*SqlStorage) DeleteBluesky ¶
func (s *SqlStorage) DeleteBluesky(ticker *Ticker) error
func (*SqlStorage) DeleteIntegrations ¶
func (s *SqlStorage) DeleteIntegrations(ticker *Ticker) error
func (*SqlStorage) DeleteMastodon ¶
func (s *SqlStorage) DeleteMastodon(ticker *Ticker) error
func (*SqlStorage) DeleteMessage ¶
func (s *SqlStorage) DeleteMessage(message Message) error
func (*SqlStorage) DeleteMessages ¶
func (s *SqlStorage) DeleteMessages(ticker *Ticker) error
func (*SqlStorage) DeleteSignalGroup ¶
func (s *SqlStorage) DeleteSignalGroup(ticker *Ticker) error
func (*SqlStorage) DeleteTelegram ¶
func (s *SqlStorage) DeleteTelegram(ticker *Ticker) error
func (*SqlStorage) DeleteTicker ¶
func (s *SqlStorage) DeleteTicker(ticker *Ticker) error
DeleteTicker deletes a ticker and all associated data.
func (*SqlStorage) DeleteTickerUser ¶
func (s *SqlStorage) DeleteTickerUser(ticker *Ticker, user *User) error
func (*SqlStorage) DeleteTickerUsers ¶
func (s *SqlStorage) DeleteTickerUsers(ticker *Ticker) error
func (*SqlStorage) DeleteUpload ¶
func (s *SqlStorage) DeleteUpload(upload Upload) error
func (*SqlStorage) DeleteUploads ¶
func (s *SqlStorage) DeleteUploads(uploads []Upload)
func (*SqlStorage) DeleteUploadsByTicker ¶
func (s *SqlStorage) DeleteUploadsByTicker(ticker *Ticker) error
func (*SqlStorage) DeleteUser ¶
func (s *SqlStorage) DeleteUser(user User) error
func (*SqlStorage) FindMessage ¶
func (*SqlStorage) FindMessagesByTicker ¶
func (*SqlStorage) FindMessagesByTickerAndPagination ¶
func (s *SqlStorage) FindMessagesByTickerAndPagination(ticker Ticker, pagination pagination.Pagination, opts ...func(*gorm.DB) *gorm.DB) ([]Message, error)
func (*SqlStorage) FindTickerByDomain ¶
func (*SqlStorage) FindTickerByID ¶
func (*SqlStorage) FindTickerByUserAndID ¶
func (*SqlStorage) FindTickersByIDs ¶
func (*SqlStorage) FindTickersByUser ¶
func (s *SqlStorage) FindTickersByUser(user User, filter TickerFilter, opts ...func(*gorm.DB) *gorm.DB) ([]Ticker, error)
func (*SqlStorage) FindUploadByUUID ¶
func (s *SqlStorage) FindUploadByUUID(uuid string) (Upload, error)
func (*SqlStorage) FindUploadsByIDs ¶
func (s *SqlStorage) FindUploadsByIDs(ids []int) ([]Upload, error)
func (*SqlStorage) FindUserByEmail ¶
func (*SqlStorage) FindUserByID ¶
func (*SqlStorage) FindUsers ¶
func (s *SqlStorage) FindUsers(filter UserFilter, opts ...func(*gorm.DB) *gorm.DB) ([]User, error)
func (*SqlStorage) FindUsersByIDs ¶
func (*SqlStorage) FindUsersByTicker ¶
func (*SqlStorage) GetInactiveSettings ¶
func (s *SqlStorage) GetInactiveSettings() InactiveSettings
func (*SqlStorage) GetRefreshIntervalSettings ¶
func (s *SqlStorage) GetRefreshIntervalSettings() RefreshIntervalSettings
func (*SqlStorage) ResetTicker ¶
func (s *SqlStorage) ResetTicker(ticker *Ticker) error
func (*SqlStorage) SaveInactiveSettings ¶
func (s *SqlStorage) SaveInactiveSettings(inactiveSettings InactiveSettings) error
func (*SqlStorage) SaveMessage ¶
func (s *SqlStorage) SaveMessage(message *Message) error
func (*SqlStorage) SaveRefreshIntervalSettings ¶
func (s *SqlStorage) SaveRefreshIntervalSettings(refreshInterval RefreshIntervalSettings) error
func (*SqlStorage) SaveTicker ¶
func (s *SqlStorage) SaveTicker(ticker *Ticker) error
func (*SqlStorage) SaveUpload ¶
func (s *SqlStorage) SaveUpload(upload *Upload) error
func (*SqlStorage) SaveUser ¶
func (s *SqlStorage) SaveUser(user *User) error
func (*SqlStorage) UploadPath ¶
func (s *SqlStorage) UploadPath() string
type Storage ¶
type Storage interface { FindUsers(filter UserFilter, opts ...func(*gorm.DB) *gorm.DB) ([]User, error) FindUserByID(id int, opts ...func(*gorm.DB) *gorm.DB) (User, error) FindUsersByIDs(ids []int, opts ...func(*gorm.DB) *gorm.DB) ([]User, error) FindUserByEmail(email string, opts ...func(*gorm.DB) *gorm.DB) (User, error) FindUsersByTicker(ticker Ticker, opts ...func(*gorm.DB) *gorm.DB) ([]User, error) SaveUser(user *User) error DeleteUser(user User) error DeleteTickerUsers(ticker *Ticker) error DeleteTickerUser(ticker *Ticker, user *User) error AddTickerUser(ticker *Ticker, user *User) error FindTickersByUser(user User, filter TickerFilter, opts ...func(*gorm.DB) *gorm.DB) ([]Ticker, error) FindTickerByUserAndID(user User, id int, opts ...func(*gorm.DB) *gorm.DB) (Ticker, error) FindTickersByIDs(ids []int, opts ...func(*gorm.DB) *gorm.DB) ([]Ticker, error) FindTickerByDomain(domain string, opts ...func(*gorm.DB) *gorm.DB) (Ticker, error) FindTickerByID(id int, opts ...func(*gorm.DB) *gorm.DB) (Ticker, error) SaveTicker(ticker *Ticker) error DeleteTicker(ticker *Ticker) error ResetTicker(ticker *Ticker) error DeleteIntegrations(ticker *Ticker) error DeleteMastodon(ticker *Ticker) error DeleteTelegram(ticker *Ticker) error DeleteBluesky(ticker *Ticker) error DeleteSignalGroup(ticker *Ticker) error SaveUpload(upload *Upload) error FindUploadByUUID(uuid string) (Upload, error) FindUploadsByIDs(ids []int) ([]Upload, error) DeleteUpload(upload Upload) error DeleteUploads(uploads []Upload) DeleteUploadsByTicker(ticker *Ticker) error FindMessage(tickerID, messageID int, opts ...func(*gorm.DB) *gorm.DB) (Message, error) FindMessagesByTicker(ticker Ticker, opts ...func(*gorm.DB) *gorm.DB) ([]Message, error) FindMessagesByTickerAndPagination(ticker Ticker, pagination pagination.Pagination, opts ...func(*gorm.DB) *gorm.DB) ([]Message, error) SaveMessage(message *Message) error DeleteMessage(message Message) error DeleteMessages(ticker *Ticker) error GetInactiveSettings() InactiveSettings GetRefreshIntervalSettings() RefreshIntervalSettings SaveInactiveSettings(inactiveSettings InactiveSettings) error SaveRefreshIntervalSettings(refreshInterval RefreshIntervalSettings) error UploadPath() string }
type TelegramMeta ¶
type Ticker ¶
type Ticker struct { ID int `gorm:"primaryKey"` CreatedAt time.Time UpdatedAt time.Time Domain string `gorm:"unique,index"` Title string Description string Active bool Information TickerInformation `gorm:"embedded"` Location TickerLocation `gorm:"embedded"` Telegram TickerTelegram Mastodon TickerMastodon Bluesky TickerBluesky SignalGroup TickerSignalGroup Users []User `gorm:"many2many:ticker_users;"` }
type TickerBluesky ¶
type TickerBluesky struct { ID int `gorm:"primaryKey"` CreatedAt time.Time UpdatedAt time.Time TickerID int `gorm:"index"` Active bool Handle string // AppKey is the application password from Bluesky // Future consideration: persist the access token, refresh token instead of app key AppKey string }
func (*TickerBluesky) Connected ¶
func (b *TickerBluesky) Connected() bool
type TickerFilter ¶
func NewTickerFilter ¶
func NewTickerFilter(req *http.Request) TickerFilter
type TickerInformation ¶
type TickerLocation ¶
type TickerMastodon ¶
type TickerMastodon struct { ID int `gorm:"primaryKey"` CreatedAt time.Time UpdatedAt time.Time TickerID int `gorm:"index"` Active bool Server string Token string Secret string AccessToken string User MastodonUser `gorm:"embedded"` }
func (*TickerMastodon) Connected ¶
func (m *TickerMastodon) Connected() bool
type TickerSignalGroup ¶
type TickerSignalGroup struct { ID int `gorm:"primaryKey"` CreatedAt time.Time UpdatedAt time.Time TickerID int `gorm:"index"` Active bool GroupID string GroupInviteLink string }
func (*TickerSignalGroup) Connected ¶
func (s *TickerSignalGroup) Connected() bool
type TickerTelegram ¶
type TickerTelegram struct { ID int `gorm:"primaryKey"` CreatedAt time.Time UpdatedAt time.Time TickerID int `gorm:"index"` Active bool ChannelName string }
func (*TickerTelegram) Connected ¶
func (tg *TickerTelegram) Connected() bool
type Upload ¶
type User ¶
type User struct { ID int `gorm:"primaryKey"` CreatedAt time.Time UpdatedAt time.Time Email string `gorm:"uniqueIndex;not null"` EncryptedPassword string `gorm:"not null"` IsSuperAdmin bool Tickers []Ticker `gorm:"many2many:ticker_users;"` }
func (*User) Authenticate ¶
func (*User) BeforeSave ¶
BeforeSave is a gorm hook that is called before saving a user It checks if the email and encrypted password are set
func (*User) UpdatePassword ¶
type UserFilter ¶
func NewUserFilter ¶
func NewUserFilter(req *http.Request) UserFilter