Compare commits
2
Commits
b4ab9eaba1
...
8e126c46fb
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8e126c46fb | ||
|
|
24bb87fdca |
@@ -3,7 +3,6 @@ package domain
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"log/slog"
|
"log/slog"
|
||||||
"time"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type RegistrationService struct {
|
type RegistrationService struct {
|
||||||
@@ -23,13 +22,6 @@ func (s *RegistrationService) Register(ctx context.Context, inviteCode string, e
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if invite.ConsumedAt != nil {
|
|
||||||
return nil, ErrInviteConsumed
|
|
||||||
}
|
|
||||||
if invite.ExpiresAt.Before(time.Now()) {
|
|
||||||
return nil, ErrInviteExpired
|
|
||||||
}
|
|
||||||
|
|
||||||
var user *User
|
var user *User
|
||||||
err = s.tx.WithinTx(ctx, func(ctx context.Context) error {
|
err = s.tx.WithinTx(ctx, func(ctx context.Context) error {
|
||||||
user, err = s.UserService.CreateUser(ctx, email, username, password)
|
user, err = s.UserService.CreateUser(ctx, email, username, password)
|
||||||
|
|||||||
@@ -80,6 +80,9 @@ func (r *InviteRepo) GetInvite(ctx context.Context, code string) (*domain.Invite
|
|||||||
code,
|
code,
|
||||||
).Scan(&invite.ID, &invite.Code, &invite.ExpiresAt, &invite.ConsumedAt)
|
).Scan(&invite.ID, &invite.Code, &invite.ExpiresAt, &invite.ConsumedAt)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
if errors.Is(err, sql.ErrNoRows) {
|
||||||
|
return nil, domain.ErrInviteInvalid
|
||||||
|
}
|
||||||
return nil, fmt.Errorf("failed to get invite: %w", err)
|
return nil, fmt.Errorf("failed to get invite: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user