ticket-pimp/internal/controller/tickets_config.go

39 lines
837 B
Go

package controller
import (
"context"
"ticket-pimp/internal/domain"
db "ticket-pimp/internal/storage/db/config"
)
type IConfigController interface {
Get(context.Context) (domain.ApplicationConfig, error)
Update(context.Context) (domain.ApplicationConfig, error)
}
type AppConfig struct {
db *db.Queries
}
func NewAppConfig(db *db.Queries) AppConfig {
return AppConfig{
db: db,
}
}
func (ac *AppConfig) Get(ctx context.Context) (*domain.ApplicationConfig, error) {
c, err := ac.db.GetConfig(ctx)
return &domain.ApplicationConfig{
Key: c.TicketKey.String,
ID: int(c.TicketID.Int32),
}, err
}
func (ac *AppConfig) NewKey(ctx context.Context) (*domain.ApplicationConfig, error) {
c, err := ac.db.SetNewConfig(ctx)
return &domain.ApplicationConfig{
Key: c.TicketKey.String,
ID: int(c.TicketID.Int32),
}, err
}