5 //go:generate stringer -type=Status,ErrorCode -output const_string.go
9 const EXTERNAL_SERVICE_TIMEOUT_SECONDS = 20
15 BadRequest ErrorCode = iota + 1
17 ExternalServiceTimeout
21 InvalidMarketCredentials
22 MarketCredentialsNotConfigured
34 func StatusToHttpCode(status Status, code ErrorCode) int {
40 case BadRequest, InvalidPassword, InvalidEmail, InvalidMarketCredentials, IPRestrictedApiKey, MarketCredentialsNotConfigured:
41 return http.StatusBadRequest
43 case InvalidCredentials, InvalidOtp:
44 return http.StatusUnauthorized
46 case UserNotConfirmed, NotAuthorized, OtpAlreadySetup, OtpNotSetup, NeedOtpValidation:
47 return http.StatusForbidden
50 return http.StatusConflict
53 return http.StatusNotFound
55 case ExternalServiceTimeout:
56 return http.StatusGatewayTimeout
59 return http.StatusInternalServerError