package verification import ( "context" "errors" "time" "github.com/tech/sendico/pkg/model" "go.mongodb.org/mongo-driver/v2/bson" ) var ( ErrTokenNotFound = errors.New("verification token not found") ErrTokenAlreadyUsed = errors.New("verification token already used") ErrTokenExpired = errors.New("verification token expired") ) type DB interface { // template.DB[*model.VerificationToken] Create( ctx context.Context, accountRef bson.ObjectID, purpose model.VerificationPurpose, target string, ttl time.Duration, ) (rawToken string, err error) Consume(ctx context.Context, rawToken string) (*model.VerificationToken, error) }