package initialize

import (
	"time"

	"gitea.pena/PenaSide/customer/internal/models"
	"github.com/caarlos0/env/v8"
	"github.com/golang-jwt/jwt/v5"
)

// TODO: обработать возможность читать конфиги ещё по json

func Configuration(path string) (*models.Config, error) {
	var cfg models.Config
	if err := env.Parse(&cfg); err != nil {
		return nil, err
	}

	//if err := utils.ValidateConfigurationURLs(&config.Service); err != nil {
	//	return nil, err
	//}

	iniJWTConfiguration(&cfg.ExternalCfg.JwtCfg)

	return &cfg, nil
}

func iniJWTConfiguration(config *models.JWTConfiguration) {
	config.Algorithm = *jwt.SigningMethodRS256
	config.ExpiresIn = 15 * time.Minute
}
