Documentation
¶
Index ¶
- func NewContactStore(db *DB, logger logging.Logger) contact.Store
- func NewSubscriptionStore(db *sqlx.DB, logger logging.Logger) subscription.Store
- type Config
- type ContactStore
- func (s *ContactStore) Create(ctx context.Context, sub *contact.Submission) error
- func (s *ContactStore) Get(ctx context.Context, id int64) (*contact.Submission, error)
- func (s *ContactStore) List(ctx context.Context) ([]contact.Submission, error)
- func (s *ContactStore) UpdateStatus(ctx context.Context, id int64, status contact.Status) error
- type DB
- type SubscriptionStore
- func (s *SubscriptionStore) Create(ctx context.Context, sub *subscription.Subscription) error
- func (s *SubscriptionStore) Delete(ctx context.Context, id int64) error
- func (s *SubscriptionStore) Get(ctx context.Context, id int64) (*subscription.Subscription, error)
- func (s *SubscriptionStore) GetByEmail(ctx context.Context, email string) (*subscription.Subscription, error)
- func (s *SubscriptionStore) GetByID(ctx context.Context, id int64) (*subscription.Subscription, error)
- func (s *SubscriptionStore) List(ctx context.Context) ([]subscription.Subscription, error)
- func (s *SubscriptionStore) UpdateStatus(ctx context.Context, id int64, status subscription.Status) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewContactStore ¶
NewContactStore creates a new contact store
func NewSubscriptionStore ¶
NewSubscriptionStore creates a new subscription store
Types ¶
type Config ¶
type Config struct { Host string Port string Name string User string Password string SSLMode string }
Config holds database configuration
type ContactStore ¶
type ContactStore struct {
// contains filtered or unexported fields
}
ContactStore implements contact.Store
func (*ContactStore) Create ¶
func (s *ContactStore) Create(ctx context.Context, sub *contact.Submission) error
Create creates a new contact submission
func (*ContactStore) Get ¶
func (s *ContactStore) Get(ctx context.Context, id int64) (*contact.Submission, error)
Get returns a contact submission by ID
func (*ContactStore) List ¶
func (s *ContactStore) List(ctx context.Context) ([]contact.Submission, error)
List returns all contact submissions
func (*ContactStore) UpdateStatus ¶
UpdateStatus updates the status of a contact submission
type DB ¶
DB wraps sqlx.DB with lifecycle management
func (*DB) PingContext ¶
PingContext implements the PingContexter interface for Echo
type SubscriptionStore ¶
type SubscriptionStore struct {
// contains filtered or unexported fields
}
SubscriptionStore implements subscription.Store
func (*SubscriptionStore) Create ¶
func (s *SubscriptionStore) Create(ctx context.Context, sub *subscription.Subscription) error
Create creates a new subscription
func (*SubscriptionStore) Delete ¶
func (s *SubscriptionStore) Delete(ctx context.Context, id int64) error
Delete removes a subscription
func (*SubscriptionStore) Get ¶
func (s *SubscriptionStore) Get(ctx context.Context, id int64) (*subscription.Subscription, error)
Get implements subscription.Store
func (*SubscriptionStore) GetByEmail ¶
func (s *SubscriptionStore) GetByEmail(ctx context.Context, email string) (*subscription.Subscription, error)
GetByEmail returns a subscription by email
func (*SubscriptionStore) GetByID ¶
func (s *SubscriptionStore) GetByID(ctx context.Context, id int64) (*subscription.Subscription, error)
GetByID implements subscription.Store
func (*SubscriptionStore) List ¶
func (s *SubscriptionStore) List(ctx context.Context) ([]subscription.Subscription, error)
List returns all subscriptions
func (*SubscriptionStore) UpdateStatus ¶
func (s *SubscriptionStore) UpdateStatus(ctx context.Context, id int64, status subscription.Status) error
UpdateStatus updates the status of a subscription