Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewCleanupDatabaseJob ¶ added in v0.2.0
NewCleanupDatabaseJob create and start new job to clean the database
Types ¶
type ArticleRepository ¶
type ArticleRepository interface { CountArticles(status string) (uint, error) CountArticlesByUser(uid uint, req model.ArticlesPageRequest) (uint, error) GetPaginatedArticlesByUser(uid uint, req model.ArticlesPageRequest) (*model.ArticlesPageResponse, error) GetArticleByID(id uint) (*model.Article, error) CreateArticleForUser(uid uint, form model.ArticleCreateForm) (*model.Article, error) UpdateArticleForUser(uid uint, form model.ArticleUpdateForm) (*model.Article, error) MarkAllArticlesAsReadByUser(uid uint, status string, categoryID *uint) (int64, error) DeleteArticle(id uint) error DeleteReadArticlesOlderThan(delay time.Duration) (int64, error) DeleteAllReadArticlesByUser(uid uint) (int64, error) }
ArticleRepository is the repository interface to manage Articles
type CategoryRepository ¶
type CategoryRepository interface { GetCategoryByID(id uint) (*model.Category, error) GetCategoryByUserAndTitle(uid uint, title string) (*model.Category, error) GetCategoriesByUser(uid uint) ([]model.Category, error) CountCategoriesByUser(uid uint) (uint, error) CreateCategoryForUser(uid uint, form model.CategoryCreateForm) (*model.Category, error) UpdateCategoryForUser(uid uint, form model.CategoryUpdateForm) (*model.Category, error) DeleteCategoryByUser(uid uint, ID uint) error DeleteCategoriesByUser(uid uint, ids []uint) (int64, error) }
CategoryRepository is the repository interface to manage categories
type CleanupDatabaseJob ¶ added in v0.2.0
type CleanupDatabaseJob struct {
// contains filtered or unexported fields
}
CleanupDatabaseJob is a job to clean the database
func (*CleanupDatabaseJob) Start ¶ added in v0.2.0
func (cdj *CleanupDatabaseJob) Start()
Start the cleanup job
func (*CleanupDatabaseJob) Stop ¶ added in v0.2.0
func (cdj *CleanupDatabaseJob) Stop()
Stop the cleanup job
type DB ¶
type DB interface { Close() error UserRepository CategoryRepository ArticleRepository IncomingWebhookRepository OutgoingWebhookRepository DeviceRepository PropertiesRepository }
DB is the global database structure
type DeviceRepository ¶
type DeviceRepository interface { GetDeviceByID(id uint) (*model.Device, error) GetDeviceByUserAndKey(uid uint, key string) (*model.Device, error) GetDevicesByUser(uid uint) ([]model.Device, error) CountDevicesByUser(uid uint) (uint, error) CreateDevice(device model.Device) (*model.Device, error) DeleteDevice(id uint) error DeleteDevicesByUser(uid uint, ids []uint) (int64, error) DeleteInactiveDevicesOlderThan(delay time.Duration) (int64, error) }
DeviceRepository is the repository interface to manage Devices
type IncomingWebhookRepository ¶
type IncomingWebhookRepository interface { GetIncomingWebhookByID(id uint) (*model.IncomingWebhook, error) GetIncomingWebhookByToken(token string) (*model.IncomingWebhook, error) GetIncomingWebhookByUserAndAlias(uid uint, alias string) (*model.IncomingWebhook, error) GetIncomingWebhooksByUser(uid uint) ([]model.IncomingWebhook, error) CountIncomingWebhooksByUser(uid uint) (uint, error) CreateIncomingWebhookForUser(uid uint, form model.IncomingWebhookCreateForm) (*model.IncomingWebhook, error) UpdateIncomingWebhookForUser(uid uint, form model.IncomingWebhookUpdateForm) (*model.IncomingWebhook, error) DeleteIncomingWebhookByUser(uid uint, id uint) error DeleteIncomingWebhooksByUser(uid uint, ids []uint) (int64, error) }
IncomingWebhookRepository is the repository interface to manage incoming webhooks
type OutgoingWebhookRepository ¶
type OutgoingWebhookRepository interface { GetOutgoingWebhookByID(id uint) (*model.OutgoingWebhook, error) GetOutgoingWebhookByUserAndAlias(uid uint, alias *string) (*model.OutgoingWebhook, error) GetOutgoingWebhooksByUser(uid uint) ([]model.OutgoingWebhook, error) CountOutgoingWebhooksByUser(uid uint) (uint, error) CreateOutgoingWebhookForUser(uid uint, form model.OutgoingWebhookCreateForm) (*model.OutgoingWebhook, error) UpdateOutgoingWebhookForUser(uid uint, form model.OutgoingWebhookUpdateForm) (*model.OutgoingWebhook, error) DeleteOutgoingWebhookByUser(uid uint, id uint) error DeleteOutgoingWebhooksByUser(uid uint, ids []uint) (int64, error) ManageOutgoingWebhookSecrets(ctx context.Context, provider secret.EngineProvider, action secret.Action) (uint, error) }
OutgoingWebhookRepository is the repository interface to manage outgoing webhooks
type PropertiesRepository ¶
type PropertiesRepository interface { CreateProperties(properties model.Properties) (*model.Properties, error) GetProperties() (*model.Properties, error) }
PropertiesRepository is the repository interface to manage Propertiess
type UserRepository ¶
type UserRepository interface { GetUserByID(id uint) (*model.User, error) GetUserByUsername(username string) (*model.User, error) CreateOrUpdateUser(user model.User) (*model.User, error) DeleteUser(user model.User) error CountUsers() (uint, error) }
UserRepository is the repository interface to manage Users