service

package
v2.3.3 Latest Latest
Warning

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

Go to latest
Published: Nov 6, 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))
)

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, error)

func (AuthService) Logout

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

func (AuthService) Refresh

func (s AuthService) Refresh(ctx context.Context, input AuthRefresh) (*model2.AuthToken, 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, error)
	Refresh(ctx context.Context, input AuthRefresh) (*model2.AuthToken, error)
	Logout(ctx context.Context, input AuthLogout) 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 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 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