2023-05-16 01:12:07 +00:00
|
|
|
package models
|
|
|
|
|
|
|
|
import (
|
|
|
|
"time"
|
|
|
|
|
|
|
|
"github.com/golang-jwt/jwt/v5"
|
2023-05-16 04:01:55 +00:00
|
|
|
"penahub.gitlab.yandexcloud.net/pena-services/customer/pkg/mongo"
|
2023-05-16 01:12:07 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
type Config struct {
|
|
|
|
HTTP HTTPConfiguration
|
|
|
|
Service ServiceConfiguration
|
|
|
|
Database mongo.Configuration
|
|
|
|
}
|
|
|
|
|
|
|
|
type HTTPConfiguration struct {
|
|
|
|
Host string `env:"HTTP_HOST,default=localhost"`
|
|
|
|
Port string `env:"HTTP_PORT,default=8080"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type ServiceConfiguration struct {
|
2023-05-19 09:08:15 +00:00
|
|
|
AuthMicroservice AuthMicroserviceConfiguration
|
|
|
|
HubadminMicroservice HubadminMicroserviceConfiguration
|
2023-05-23 16:09:06 +00:00
|
|
|
CurrencyMicroservice CurrencyMicroserviceConfiguration
|
2023-05-19 09:08:15 +00:00
|
|
|
JWT JWTConfiguration
|
2023-05-16 01:12:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type JWTConfiguration struct {
|
|
|
|
PrivateKey string `env:"JWT_PRIVATE_KEY"`
|
|
|
|
PublicKey string `env:"JWT_PUBLIC_KEY,required"`
|
|
|
|
Issuer string `env:"JWT_ISSUER,required"`
|
|
|
|
Audience string `env:"JWT_AUDIENCE,required"`
|
|
|
|
Algorithm jwt.SigningMethodRSA
|
|
|
|
ExpiresIn time.Duration
|
|
|
|
}
|
|
|
|
|
|
|
|
type AuthMicroserviceConfiguration struct {
|
2023-05-19 09:08:15 +00:00
|
|
|
URL AuthMicroserviceURL
|
2023-05-16 01:12:07 +00:00
|
|
|
}
|
|
|
|
|
2023-05-19 09:08:15 +00:00
|
|
|
type HubadminMicroserviceConfiguration struct {
|
|
|
|
URL HubadminMicroserviceURL
|
|
|
|
}
|
|
|
|
|
2023-05-23 16:09:06 +00:00
|
|
|
type CurrencyMicroserviceConfiguration struct {
|
|
|
|
URL CurrencyMicroserviceURL
|
|
|
|
}
|
|
|
|
|
2023-05-19 09:08:15 +00:00
|
|
|
type AuthMicroserviceURL struct {
|
2023-05-17 20:27:09 +00:00
|
|
|
User string `env:"AUTH_MICROSERVICE_USER_URL,required"`
|
2023-05-16 01:12:07 +00:00
|
|
|
}
|
2023-05-19 09:08:15 +00:00
|
|
|
|
|
|
|
type HubadminMicroserviceURL struct {
|
|
|
|
Tariff string `env:"HUBADMIN_MICROSERVICE_TARIFF_URL,required"`
|
|
|
|
}
|
2023-05-23 16:09:06 +00:00
|
|
|
|
|
|
|
type CurrencyMicroserviceURL struct {
|
|
|
|
Translate string `env:"CURRENCY_MICROSERVICE_TRANSLATE_URL,required"`
|
|
|
|
}
|