Documentation
¶
Index ¶
- func NewGormConnection(config *config.Config) (*gorm.DB, error)
- func ToDomain(m *SubscriptionModel) *domain.Subscription
- func ToDomainList(models []*SubscriptionModel) []*domain.Subscription
- type Frequency
- type GormRepository
- func (r *GormRepository) Confirm(ctx context.Context, confirmationToken string) error
- func (r *GormRepository) Delete(ctx context.Context, id uuid.UUID) error
- func (r *GormRepository) EnsureSchema() error
- func (r *GormRepository) FindByConfirmationToken(ctx context.Context, token string) (*domain.Subscription, error)
- func (r *GormRepository) FindByID(ctx context.Context, id uuid.UUID) (*domain.Subscription, error)
- func (r *GormRepository) FindByUnsubscribeToken(ctx context.Context, token string) (*domain.Subscription, error)
- func (r *GormRepository) GetConfirmedSubscriptions(ctx context.Context, frequency domain.Frequency) ([]domain.Subscriber, error)
- func (r *GormRepository) IsComfirmationTokenExists(ctx context.Context, token string) (bool, error)
- func (r *GormRepository) IsSubscribed(ctx context.Context, email, city string) (bool, error)
- func (r *GormRepository) IsUnsubscribeTokenExists(ctx context.Context, token string) (bool, error)
- func (r *GormRepository) Save(ctx context.Context, s *domain.Subscription) error
- type SubscriptionModel
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ToDomain ¶
func ToDomain(m *SubscriptionModel) *domain.Subscription
func ToDomainList ¶
func ToDomainList(models []*SubscriptionModel) []*domain.Subscription
Types ¶
type GormRepository ¶
type GormRepository struct {
// contains filtered or unexported fields
}
func NewGormRepository ¶
func NewGormRepository(db *gorm.DB) *GormRepository
func (*GormRepository) Confirm ¶
func (r *GormRepository) Confirm(ctx context.Context, confirmationToken string) error
func (*GormRepository) EnsureSchema ¶
func (r *GormRepository) EnsureSchema() error
func (*GormRepository) FindByConfirmationToken ¶
func (r *GormRepository) FindByConfirmationToken(ctx context.Context, token string) (*domain.Subscription, error)
func (*GormRepository) FindByID ¶
func (r *GormRepository) FindByID(ctx context.Context, id uuid.UUID) (*domain.Subscription, error)
func (*GormRepository) FindByUnsubscribeToken ¶
func (r *GormRepository) FindByUnsubscribeToken(ctx context.Context, token string) (*domain.Subscription, error)
func (*GormRepository) GetConfirmedSubscriptions ¶
func (r *GormRepository) GetConfirmedSubscriptions(ctx context.Context, frequency domain.Frequency) ([]domain.Subscriber, error)
func (*GormRepository) IsComfirmationTokenExists ¶
func (*GormRepository) IsSubscribed ¶
func (*GormRepository) IsUnsubscribeTokenExists ¶
func (*GormRepository) Save ¶
func (r *GormRepository) Save(ctx context.Context, s *domain.Subscription) error
type SubscriptionModel ¶
type SubscriptionModel struct {
ID uuid.UUID `gorm:"type:uuid;primary_key"`
Email string `gorm:"uniqueIndex:idx_email_city"`
City string `gorm:"uniqueIndex:idx_email_city"`
Frequency Frequency `gorm:"type:varchar(10);default:'DAILY'"`
ConfirmationToken string `gorm:"uniqueIndex;type:varchar(100)"`
UnsubscribeToken string `gorm:"uniqueIndex;type:varchar(100)"`
Confirmed bool `gorm:"default:false"`
CreatedAt time.Time
ConfirmedAt *time.Time
LastSentAt *time.Time
DeletedAt gorm.DeletedAt `gorm:"index"`
}
func ToModel ¶
func ToModel(s *domain.Subscription) *SubscriptionModel
func (SubscriptionModel) TableName ¶
func (SubscriptionModel) TableName() string
Click to show internal directories.
Click to hide internal directories.