X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=api%2Fapi.go;h=ece2a26aee852a63727a56bac5fd3faac9da4ccf;hb=24e4797900b3d2edf642fdb547bc22357a5b39ad;hp=7b7be49257a2949796b5435ccaddc6abd63893bf;hpb=7a9e5112eaaea58d55f181d3e5296e4ff839921c;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FCryptoportfolio%2FFront.git diff --git a/api/api.go b/api/api.go index 7b7be49..ece2a26 100644 --- a/api/api.go +++ b/api/api.go @@ -7,6 +7,22 @@ import ( "github.com/gin-gonic/gin" ) +var CONFIG Config + +type Config struct { + JwtSecret string `toml:"jwt_secret"` + PasswordResetSecret string `toml:"password_reset_secret"` + FreeSMSUser string `toml:"free_sms_user"` + FreeSMSPass string `toml:"free_sms_pass"` +} + +func SetConfig(config Config) { + CONFIG = config + + JWT_SECRET = []byte(config.JwtSecret) + PASSWORD_RESET_SECRET = []byte(config.PasswordResetSecret) +} + type Error struct { Code ErrorCode UserMessage string @@ -29,6 +45,18 @@ func (e Error) Error() string { return "" } +func ErrorIs(err error, code ErrorCode) bool { + if err == nil { + return false + } + + if apiError, ok := err.(*Error); !ok { + return false + } else { + return apiError.Code == code + } +} + func NewInternalError(err error) *Error { return &Error{InternalError, "internal error", err} }