/
persistence.go
54 lines (43 loc) · 1.89 KB
/
persistence.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// Copyright © 2023 Ory Corp
// SPDX-License-Identifier: Apache-2.0
package code
import (
"context"
"github.com/gofrs/uuid"
)
type (
RecoveryCodePersister interface {
CreateRecoveryCode(ctx context.Context, dto *CreateRecoveryCodeParams) (*RecoveryCode, error)
UseRecoveryCode(ctx context.Context, fID uuid.UUID, code string) (*RecoveryCode, error)
DeleteRecoveryCodesOfFlow(ctx context.Context, fID uuid.UUID) error
}
RecoveryCodePersistenceProvider interface {
RecoveryCodePersister() RecoveryCodePersister
}
VerificationCodePersister interface {
CreateVerificationCode(context.Context, *CreateVerificationCodeParams) (*VerificationCode, error)
UseVerificationCode(context.Context, uuid.UUID, string) (*VerificationCode, error)
DeleteVerificationCodesOfFlow(context.Context, uuid.UUID) error
}
VerificationCodePersistenceProvider interface {
VerificationCodePersister() VerificationCodePersister
}
RegistrationCodePersistenceProvider interface {
RegistrationCodePersister() RegistrationCodePersister
}
RegistrationCodePersister interface {
CreateRegistrationCode(context.Context, *CreateRegistrationCodeParams) (*RegistrationCode, error)
UseRegistrationCode(ctx context.Context, flowID uuid.UUID, code string, addresses ...string) (*RegistrationCode, error)
DeleteRegistrationCodesOfFlow(ctx context.Context, flowID uuid.UUID) error
GetUsedRegistrationCode(ctx context.Context, flowID uuid.UUID) (*RegistrationCode, error)
}
LoginCodePersistenceProvider interface {
LoginCodePersister() LoginCodePersister
}
LoginCodePersister interface {
CreateLoginCode(context.Context, *CreateLoginCodeParams) (*LoginCode, error)
UseLoginCode(ctx context.Context, flowID uuid.UUID, identityID uuid.UUID, code string) (*LoginCode, error)
DeleteLoginCodesOfFlow(ctx context.Context, flowID uuid.UUID) error
GetUsedLoginCode(ctx context.Context, flowID uuid.UUID) (*LoginCode, error)
}
)