39 lines
837 B
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
|
|
}
|