Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
Functions ¶
Types ¶
type Repository ¶
type Repository struct {
// contains filtered or unexported fields
}
func NewRepository ¶
func NewRepository(db *gorm.DB) *Repository
func (*Repository) Delete ¶
func (r *Repository) Delete(filters ...SelectFilter) error
func (*Repository) Replace ¶
func (r *Repository) Replace(webhook *Webhook) error
func (*Repository) Select ¶
func (r *Repository) Select(filters ...SelectFilter) ([]*Webhook, error)
type SelectFilter ¶
type SelectFilter func(*selectFilter)
func WithExtID ¶
func WithExtID(extID string) SelectFilter
func WithUserID ¶
func WithUserID(userID string) SelectFilter
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func NewService ¶
func NewService(params ServiceParams) *Service
func (*Service) Replace ¶
func (s *Service) Replace(userID string, webhook *smsgateway.Webhook) error
func (*Service) Select ¶
func (s *Service) Select(userID string, filters ...SelectFilter) ([]smsgateway.Webhook, error)
type ServiceParams ¶
type Webhook ¶
type Webhook struct { ID uint64 `json:"-" gorm:"->;primaryKey;type:BIGINT UNSIGNED;autoIncrement"` ExtID string `json:"id" gorm:"not null;type:varchar(36);uniqueIndex:unq_webhooks_user_extid,priority:2"` UserID string `json:"-" gorm:"<-:create;not null;type:varchar(32);uniqueIndex:unq_webhooks_user_extid,priority:1"` URL string `json:"url" validate:"required,http_url" gorm:"not null;type:varchar(256)"` Event smsgateway.WebhookEvent `json:"event" gorm:"not null;type:varchar(32)"` User models.User `gorm:"foreignKey:UserID;constraint:OnDelete:CASCADE"` models.TimedModel }
Click to show internal directories.
Click to hide internal directories.