package config import "time" type AuthConfig struct { jwtTokenExpiresTTL int jwtTokenSecret string jwtOrderSecret string jwtOrderExpiresTTL int jwtSecretResetPassword JWT jwtWithdraw JWT } type JWT struct { secret string expireTTL int } func (c *AuthConfig) AccessTokenSecret() string { return c.jwtTokenSecret } func (c *AuthConfig) AccessTokenOrderSecret() string { return c.jwtOrderSecret } func (c *AuthConfig) AccessTokenWithdrawSecret() string { return c.jwtWithdraw.secret } func (c *AuthConfig) AccessTokenWithdrawExpire() time.Time { duration := time.Duration(c.jwtWithdraw.expireTTL) return time.Now().UTC().Add(time.Minute * duration) } func (c *AuthConfig) AccessTokenOrderExpiresDate() time.Time { duration := time.Duration(c.jwtOrderExpiresTTL) return time.Now().UTC().Add(time.Minute * duration) } func (c *AuthConfig) AccessTokenExpiresDate() time.Time { duration := time.Duration(c.jwtTokenExpiresTTL) return time.Now().UTC().Add(time.Minute * duration) } func (c *AuthConfig) AccessTokenResetPasswordSecret() string { return c.jwtSecretResetPassword.secret } func (c *AuthConfig) AccessTokenResetPasswordExpire() time.Time { duration := time.Duration(c.jwtSecretResetPassword.expireTTL) return time.Now().UTC().Add(time.Minute * duration) }