customer/internal/initialize/config.go

32 lines
707 B
Go
Raw Permalink Normal View History

2023-06-22 09:36:43 +00:00
package initialize
import (
"time"
2024-11-18 07:23:41 +00:00
"gitea.pena/PenaSide/customer/internal/models"
2025-01-08 11:43:03 +00:00
"github.com/caarlos0/env/v8"
2024-11-26 15:28:42 +00:00
"github.com/golang-jwt/jwt/v5"
2023-06-22 09:36:43 +00:00
)
2023-07-07 01:57:06 +00:00
// TODO: обработать возможность читать конфиги ещё по json
2023-06-22 09:36:43 +00:00
func Configuration(path string) (*models.Config, error) {
2025-01-08 11:43:03 +00:00
var cfg models.Config
if err := env.Parse(&cfg); err != nil {
2023-06-22 09:36:43 +00:00
return nil, err
}
2024-11-26 15:28:42 +00:00
//if err := utils.ValidateConfigurationURLs(&config.Service); err != nil {
// return nil, err
//}
2023-06-22 09:36:43 +00:00
2025-01-08 11:43:03 +00:00
iniJWTConfiguration(&cfg.ExternalCfg.JwtCfg)
2023-06-22 09:36:43 +00:00
2025-01-08 11:43:03 +00:00
return &cfg, nil
2023-06-22 09:36:43 +00:00
}
func iniJWTConfiguration(config *models.JWTConfiguration) {
config.Algorithm = *jwt.SigningMethodRS256
config.ExpiresIn = 15 * time.Minute
}