package bootstrap

import (
	"tm/pkg/config"
)

// Config holds configuration for the web command
type Config struct {
	Server       config.ServerConfig    `mapstructure:"server"`
	Database     config.DatabaseConfig  `mapstructure:"database"`
	Cache        config.CacheConfig     `mapstructure:"cache"`
	Logging      config.LoggingConfig   `mapstructure:"logging"`
	RateLimit    config.RateLimitConfig `mapstructure:"rate_limiting"`
	UserAuth     AuthConfig             `mapstructure:"user_authorization"`
	CustomerAuth AuthConfig             `mapstructure:"customer_authorization"`
}

type AuthConfig struct {
	JWT JWTConfig `mapstructure:"jwt"`
}

type JWTConfig struct {
	AccessSecret     string `mapstructure:"access_secret"`
	RefreshSecret    string `mapstructure:"refresh_secret"`
	AccessExpiresIn  int    `mapstructure:"access_expires_in"`
	RefreshExpiresIn int    `mapstructure:"refresh_expires_in"`
}
