"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
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 {
+ if apiError, ok := err.(*Error); ok {
+ return apiError
+ }
return &Error{InternalError, "internal error", err}
}