service

package
v2.3.24 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 20, 2024 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrRoleNotFound        = apperr.New("role_not_found", apperr.WithTextTranslate(i18n.ErrRoleNotFound), apperr.WithCode(code.NotFound))
	ErrRoleExists          = apperr.New("role_exists_error", apperr.WithTextTranslate(i18n.ErrRoleExists), apperr.WithCode(code.InvalidArgument))
	ErrRoleCannotBeChanged = apperr.New("role_cannot_be_changed", apperr.WithTextTranslate(i18n.ErrRoleCannotBeChanged), apperr.WithCode(code.PermissionDenied))
	ErrRoleCannotBeDeleted = apperr.New("role_cannot_be_deleted", apperr.WithTextTranslate(i18n.ErrRoleCannotBeDeleted), apperr.WithCode(code.PermissionDenied))
)
View Source
var (
	ErrUserNotFound             = apperr.New("user_not_found", apperr.WithTextTranslate(i18n.ErrUserNotFound), apperr.WithCode(code.NotFound))
	ErrUserExists               = apperr.New("user_exists_error", apperr.WithTextTranslate(i18n.ErrUserExists), apperr.WithCode(code.InvalidArgument))
	ErrUserRolesCannotBeChanged = apperr.New("user_roles_cannot_be_changed", apperr.WithTextTranslate(i18n.ErrUserRolesCannotBeChanged), apperr.WithCode(code.PermissionDenied))
	ErrUserCannotBeDeleted      = apperr.New("user_cannot_be_deleted", apperr.WithTextTranslate(i18n.ErrUserCannotBeDeleted), apperr.WithCode(code.PermissionDenied))
)
View Source
var (
	ErrSessionNotFound = apperr.New("session_not_found", apperr.WithTextTranslate(i18n.ErrSessionNotFound), apperr.WithCode(code.NotFound))
)

Functions

This section is empty.

Types

type AuthLogin

type AuthLogin struct {
	Login    string
	Password string
	DeviceID int
}

type AuthLogout

type AuthLogout struct {
	Token string
}

type AuthRefresh

type AuthRefresh struct {
	Token    string
	DeviceID int
}

type AuthService

type AuthService struct {
	// contains filtered or unexported fields
}

func NewAuthService

func NewAuthService(
	userRepository repository2.IUserRepository,
	tokenRepository repository2.ITokenRepository,
	tokenCache cache2.ITokenCache,
	userCache cache2.IUserCache,
	hasher secret.Hasher,
	accessExpire time.Duration,
	refreshExpire time.Duration,
	accessSecret string,
) AuthService

func (AuthService) Account

func (s AuthService) Account(ctx context.Context) (*model2.User, error)

func (AuthService) Login

func (s AuthService) Login(ctx context.Context, input AuthLogin) (*model2.AuthToken, int, error)

func (AuthService) Logout

func (s AuthService) Logout(ctx context.Context, input AuthLogout) (int, error)

func (AuthService) Refresh

func (s AuthService) Refresh(ctx context.Context, input AuthRefresh) (*model2.AuthToken, int, error)

func (AuthService) Trx

func (s AuthService) Trx(db *gorm.DB) IAuthService

func (AuthService) UpdateAccountData

func (s AuthService) UpdateAccountData(ctx context.Context, input AuthUpdateAccountData) error

type AuthUpdateAccountData

type AuthUpdateAccountData struct {
	Login      *string
	FirstName  *string
	SecondName *string
	LastName   *string
	Password   *string
	Email      *string
	Phone      *string
}

type IAuthService

type IAuthService interface {
	Trx(db *gorm.DB) IAuthService
	Login(ctx context.Context, input AuthLogin) (*model2.AuthToken, int, error)
	Refresh(ctx context.Context, input AuthRefresh) (*model2.AuthToken, int, error)
	Logout(ctx context.Context, input AuthLogout) (int, error)
	Account(ctx context.Context) (*model2.User, error)
	UpdateAccountData(ctx context.Context, input AuthUpdateAccountData) error
}

type IPermissionService

type IPermissionService interface {
	Trx(db *gorm.DB) IPermissionService
	List(ctx context.Context) ([]model.Permission, error)
}

type IRoleService

type IRoleService interface {
	Trx(db *gorm.DB) IRoleService
	List(ctx context.Context, m *model2.Meta[model.Role]) error
	GetById(ctx context.Context, id int) (*model.Role, error)
	Create(ctx context.Context, input RoleCreateInput) (*model.Role, error)
	Update(ctx context.Context, id int, input RoleUpdateInput) error
	Delete(ctx context.Context, id int) error
}

type ISessionService added in v2.3.7

type ISessionService interface {
	Trx(db *gorm.DB) ISessionService
	List(ctx context.Context, m *model3.Meta[model2.RefreshToken]) error
	End(ctx context.Context, id int) error
}

type ISettingService

type ISettingService interface {
	Trx(db *gorm.DB) ISettingService
	Get(ctx context.Context) (*model.Setting, error)
	Update(ctx context.Context, input SettingUpdateInput) error
}

type IUserService

type IUserService interface {
	Trx(db *gorm.DB) IUserService
	List(ctx context.Context, m *model2.Meta[model.User]) error
	GetById(ctx context.Context, id int) (*model.User, error)
	Create(ctx context.Context, input UserCreateInput) (*model.User, error)
	Update(ctx context.Context, id int, input UserUpdateInput) error
	Delete(ctx context.Context, id int) error
}

type PermissionService

type PermissionService struct {
	// contains filtered or unexported fields
}

func NewPermissionService

func NewPermissionService(
	permissionRepository repository.IPermissionRepository,
	permissionCache cache.IPermissionCache,
) PermissionService

func (PermissionService) List

func (PermissionService) Trx

type RoleCreateInput

type RoleCreateInput struct {
	Name  string
	Write []int
	Read  []int
	Exec  []int
}

type RoleService

type RoleService struct {
	// contains filtered or unexported fields
}

func NewRoleService

func NewRoleService(
	roleRepository repository2.IRoleRepository,
	permissionRepository repository2.IPermissionRepository,
	rolePermissionRepository repository2.IRolePermissionRepository,
	userRoleRepository repository2.IUserRoleRepository,
	userCache cache2.IUserCache,
	tokenCache cache2.ITokenCache,
) RoleService

func (RoleService) Create

func (s RoleService) Create(ctx context.Context, input RoleCreateInput) (*model.Role, error)

func (RoleService) Delete

func (s RoleService) Delete(ctx context.Context, id int) error

func (RoleService) GetById

func (s RoleService) GetById(ctx context.Context, id int) (*model.Role, error)

func (RoleService) List

func (s RoleService) List(ctx context.Context, m *model2.Meta[model.Role]) error

func (RoleService) Trx

func (s RoleService) Trx(db *gorm.DB) IRoleService

func (RoleService) Update

func (s RoleService) Update(ctx context.Context, id int, input RoleUpdateInput) error

type RoleUpdateInput

type RoleUpdateInput struct {
	Name  *string
	Write []int
	Read  []int
	Exec  []int
}

type SessionService added in v2.3.7

type SessionService struct {
	// contains filtered or unexported fields
}

func NewSessionService added in v2.3.7

func NewSessionService(
	tokenRepository repository2.ITokenRepository,
	tokenCache cache2.ITokenCache,
	userCache cache2.IUserCache,
	refreshExpire time.Duration,
) SessionService

func (SessionService) End added in v2.3.7

func (s SessionService) End(ctx context.Context, id int) error

func (SessionService) List added in v2.3.7

func (SessionService) Trx added in v2.3.7

type SettingService

type SettingService struct {
	// contains filtered or unexported fields
}

func NewSettingService

func NewSettingService(
	settingRepository repository.ISettingRepository,
) SettingService

func (SettingService) Get

func (SettingService) Trx

func (SettingService) Update

func (s SettingService) Update(ctx context.Context, input SettingUpdateInput) error

type SettingUpdateInput

type SettingUpdateInput struct {
	Settings *string
}

type UserCreateInput

type UserCreateInput struct {
	Login      string
	FirstName  string
	SecondName *string
	LastName   *string
	Password   string
	Email      *string
	Phone      *string
	Roles      []int
	Blocked    bool
}

type UserService

type UserService struct {
	// contains filtered or unexported fields
}

func NewUserService

func NewUserService(
	userRepository repository2.IUserRepository,
	roleRepository repository2.IRoleRepository,
	userRoleRepository repository2.IUserRoleRepository,
	userCache cache2.IUserCache,
	tokenCache cache2.ITokenCache,
	hasher secret.Hasher,
) UserService

func (UserService) Create

func (s UserService) Create(ctx context.Context, input UserCreateInput) (*model.User, error)

func (UserService) Delete

func (s UserService) Delete(ctx context.Context, id int) error

func (UserService) GetById

func (s UserService) GetById(ctx context.Context, id int) (*model.User, error)

func (UserService) List

func (s UserService) List(ctx context.Context, m *model2.Meta[model.User]) error

func (UserService) Trx

func (s UserService) Trx(db *gorm.DB) IUserService

func (UserService) Update

func (s UserService) Update(ctx context.Context, id int, input UserUpdateInput) error

type UserUpdateInput

type UserUpdateInput struct {
	Login      *string
	FirstName  *string
	SecondName *string
	LastName   *string
	Password   *string
	Email      *string
	Phone      *string
	Roles      []int
	Blocked    *bool
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL