44 lines
1.2 KiB
Go
44 lines
1.2 KiB
Go
package verification
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
)
|
|
|
|
var (
|
|
ErrTokenNotFound = errors.New("vtNotFound")
|
|
ErrTokenAlreadyUsed = errors.New("vtAlreadyUsed")
|
|
ErrTokenExpired = errors.New("vtExpired")
|
|
ErrTokenAttemptsExceeded = errors.New("vtAttemptsExceeded")
|
|
ErrCooldownActive = errors.New("vtCooldownActive")
|
|
ErrIdempotencyConflict = errors.New("vtIdempotencyConflict")
|
|
)
|
|
|
|
func wrap(err error, msg string) error {
|
|
return fmt.Errorf("%w: %s", 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 wrap(ErrCooldownActive, "token creation cooldown is active")
|
|
}
|
|
|
|
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")
|
|
}
|