Organize backend into product executable and shared Go modules
This commit is contained in:
1 parent
981e84a4b4
commit
f0720ec66b
382 files changed
+1944
-6989
No files matched your search
@@ -0,0 +1,69 @@
|
||||
package verification
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"git.sendico.io/tech/sxchnge/shared/errors"
|
||||
)
|
||||
|
||||
var (
|
||||
ErrTokenNotFound = merrors.Define("vtNotFound")
|
||||
ErrTokenAlreadyUsed = merrors.Define("vtAlreadyUsed")
|
||||
ErrTokenExpired = merrors.Define("vtExpired")
|
||||
ErrTokenAttemptsExceeded = merrors.Define("vtAttemptsExceeded")
|
||||
ErrCooldownActive = merrors.Define("vtCooldownActive")
|
||||
ErrIdempotencyConflict = merrors.Define("vtIdempotencyConflict")
|
||||
ErrIssuanceRateLimited = merrors.Define("vtIssuanceRateLimited")
|
||||
)
|
||||
|
||||
type ThrottleDetails = merrors.ThrottleDetails
|
||||
|
||||
func Throttle(err error) (ThrottleDetails, bool) {
|
||||
return merrors.ThrottleDetailsFrom(err)
|
||||
}
|
||||
|
||||
func wrap(err error, msg string) error {
|
||||
return merrors.Wrap(err, msg)
|
||||
}
|
||||
|
||||
func ErorrTokenNotFound() error {
|
||||
return wrap(ErrTokenNotFound, "verification token not found")
|
||||
}
|
||||
|
||||
func ErorrTokenAlreadyUsed() error {
|
||||
return wrap(ErrTokenAlreadyUsed, "verification token has already been used")
|
||||
}
|
||||
|
||||
func ErorrTokenExpired() error {
|
||||
return wrap(ErrTokenExpired, "verification token expired")
|
||||
}
|
||||
|
||||
func ErrorCooldownActive() error {
|
||||
return ErrorCooldownActiveFor(0)
|
||||
}
|
||||
|
||||
func ErrorCooldownActiveFor(retryAfter time.Duration) error {
|
||||
return merrors.WithThrottle(
|
||||
ErrCooldownActive,
|
||||
"cooldown",
|
||||
retryAfter,
|
||||
"verification request is temporarily limited",
|
||||
)
|
||||
}
|
||||
|
||||
func ErrorIssuanceRateLimited(scopeKind string, retryAfter time.Duration) error {
|
||||
return merrors.WithThrottle(
|
||||
ErrIssuanceRateLimited,
|
||||
scopeKind,
|
||||
retryAfter,
|
||||
"verification request is temporarily limited",
|
||||
)
|
||||
}
|
||||
|
||||
func ErrorTokenAttemptsExceeded() error {
|
||||
return wrap(ErrTokenAttemptsExceeded, "verification token max attempts exceeded")
|
||||
}
|
||||
|
||||
func ErrorIdempotencyConflict() error {
|
||||
return wrap(ErrIdempotencyConflict, "verification token request idempotency key has already been used")
|
||||
}
|
||||
Reference in new issue
Block a user