-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrepository.go
More file actions
26 lines (24 loc) · 1.36 KB
/
repository.go
File metadata and controls
26 lines (24 loc) · 1.36 KB
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
package goauthlib
import (
"context"
"github.com/techpro-studio/goauthlib/oauth"
)
type Repository interface {
UpsertForEntity(ctx context.Context, entity AuthorizationEntity, info map[string]any) (*User, error)
GetForEntity(ctx context.Context, entity AuthorizationEntity) *User
CreateForEntity(ctx context.Context, entity AuthorizationEntity) *User
GetForSocial(ctx context.Context, result *oauth.ProviderResult) *User
EnsureService(ctx context.Context, id string) bool
RemoveService(ctx context.Context, id string, softDeleteIfNoServices bool, callback func(ctx context.Context, userId string) error)
CreateForSocial(ctx context.Context, result *oauth.ProviderResult) *User
Save(ctx context.Context, model *User)
GetVerificationForEntity(ctx context.Context, entity AuthorizationEntity) *Verification
GetServiceActionVerification(ctx context.Context, action string) *Verification
CreateServiceActionVerification(ctx context.Context, action, verificationCode string)
CreateVerificationForEntity(ctx context.Context, entity AuthorizationEntity, verificationCode string)
DeleteVerification(ctx context.Context, id string)
GetById(ctx context.Context, id string) *User
GetByIdList(ctx context.Context, id []string) []*User
SaveOAuthData(ctx context.Context, result *oauth.ProviderResult)
GetTokensFor(ctx context.Context, entity *AuthorizationEntity) (*oauth.Tokens, error)
}