34 lines
1 KiB
Go
34 lines
1 KiB
Go
package users
|
|
|
|
import (
|
|
"context"
|
|
"git.sch9.ru/new_gate/ms-auth/internal/models"
|
|
)
|
|
|
|
type Caller interface {
|
|
CreateUser(ctx context.Context, username string, password string, role models.Role) (int32, error)
|
|
ReadUserByUsername(ctx context.Context, username string) (*models.User, error)
|
|
ReadUserById(ctx context.Context, id int32) (*models.User, error)
|
|
UpdateUser(ctx context.Context, id int32, username *string, role *models.Role) error
|
|
DeleteUser(ctx context.Context, id int32) error
|
|
}
|
|
|
|
type TxCaller interface {
|
|
Caller
|
|
Commit() error
|
|
Rollback() error
|
|
}
|
|
|
|
type PgRepository interface {
|
|
BeginTx(ctx context.Context) (TxCaller, error)
|
|
C() Caller
|
|
}
|
|
|
|
type ValkeyRepository interface {
|
|
CreateSession(ctx context.Context, userId int32, role models.Role) (string, error)
|
|
ReadSession(ctx context.Context, sessionId string) (*models.Session, error)
|
|
UpdateSession(ctx context.Context, sessionId string) error
|
|
DeleteSession(ctx context.Context, sessionId string) error
|
|
DeleteAllSessions(ctx context.Context, userId int32) error
|
|
}
|