feat: invite management API: DELETE /v1/user/invite/:id (204, cancels a pending invite) and POST /v1/user/invite/:id/renew (200, new code, expires_at = now+3d, created_at = now, resends the invitation email, old link dead)
This commit is contained in:
1 parent
461e93e3b5
commit
153fd8719a
18 files changed
+1147
-44
No files matched your search
@@ -11,6 +11,7 @@ var ErrInviteNotFound = errors.New("invite not found")
|
||||
var ErrInviteEmailNotSent = errors.New("invite email not sent")
|
||||
var ErrInviteInvalid = errors.New("invite invalid")
|
||||
var ErrInviteExpired = errors.New("invite expired")
|
||||
var ErrInviteAlreadyAccepted = errors.New("invite already accepted")
|
||||
|
||||
const Lifetime = 3 * 24 * time.Hour
|
||||
|
||||
|
||||
@@ -9,5 +9,6 @@ type Repository interface {
|
||||
Create(invite Invite) (Invite, error)
|
||||
GetAll() []Invite
|
||||
Delete(id uint32) error
|
||||
Renew(id uint32, hashedCode string, expiresAt time.Time, createdAt time.Time) (Invite, error)
|
||||
AcceptWithUser(inviteID uint32, acceptedAt time.Time, newUser user.User) (user.User, error)
|
||||
}
|
||||
Reference in new issue
Block a user