initial pase store definitions
This commit is contained in:
parent
fefe08f6f9
commit
b947535795
10 changed files with 723 additions and 0 deletions
52
store/store.go
Normal file
52
store/store.go
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
package store
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
)
|
||||
|
||||
type Store interface {
|
||||
CreateUser(ctx context.Context, u *User) error
|
||||
GetUserByID(ctx context.Context, id string) (*User, error)
|
||||
GetUserByEmail(ctx context.Context, email string) (*User, error)
|
||||
GetUserByUsername(ctx context.Context, username string) (*User, error)
|
||||
UpdateUser(ctx context.Context, u *User) error
|
||||
|
||||
UpsertCredential(ctx context.Context, c *Credential) error
|
||||
GetCredential(ctx context.Context, userID string, t CredentialType) (*Credential, error)
|
||||
DeleteCredential(ctx context.Context, userID string, t CredentialType) error
|
||||
|
||||
CreateSession(ctx context.Context, s *Session) error
|
||||
GetSession(ctx context.Context, id string) (*Session, error)
|
||||
DeleteSession(ctx context.Context, id string) error
|
||||
DeleteUserSessions(ctx context.Context, userID string) error
|
||||
|
||||
CreateToken(ctx context.Context, t *Token) error
|
||||
ConsumeToken(ctx context.Context, hashedValue string, purpose TokenPurpose) (*Token, error)
|
||||
DeleteExpiredTokens(ctx context.Context, before time.Time) error
|
||||
|
||||
CreatePermission(ctx context.Context, p *Permission) error
|
||||
GetPermissionByName(ctx context.Context, name string) (*Permission, error)
|
||||
ListPermissions(ctx context.Context) ([]*Permission, error)
|
||||
DeletePermission(ctx context.Context, id string) error
|
||||
|
||||
CreateRole(ctx context.Context, r *Role) error
|
||||
GetRoleByName(ctx context.Context, name string) (*Role, error)
|
||||
ListRoles(ctx context.Context) ([]*Role, error)
|
||||
DeleteRole(ctx context.Context, id string) error
|
||||
|
||||
AssignPermissionToRole(ctx context.Context, roleID, permissionID string) error
|
||||
RevokePermissionFromRole(ctx context.Context, roleID, permissionID string) error
|
||||
ListRolePermissions(ctx context.Context, roleID string) ([]*Permission, error)
|
||||
|
||||
AssignRoleToUser(ctx context.Context, userID, roleID string) error
|
||||
RevokeRoleFromUser(ctx context.Context, userID, roleID string) error
|
||||
ListUserRoles(ctx context.Context, userID string) ([]*Role, error)
|
||||
|
||||
SetUserPermission(ctx context.Context, userID, permissionID string, effect PermissionEffect) error
|
||||
DeleteUserPermission(ctx context.Context, userID, permissionID string) error
|
||||
ListUserPermissions(ctx context.Context, userID string) ([]*UserPermission, error)
|
||||
|
||||
UserHasPermissionViaRole(ctx context.Context, userID, permissionName string) (bool, error)
|
||||
ListEffectivePermissions(ctx context.Context, userID string) ([]*Permission, error)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue