refactor: split backend transport and domain modules
This commit is contained in:
@@ -0,0 +1,104 @@
|
||||
package biz
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
)
|
||||
|
||||
type Department struct {
|
||||
ID uint
|
||||
CreatedAt time.Time
|
||||
UpdatedAt time.Time
|
||||
Name string
|
||||
ParentID uint
|
||||
Ancestors string
|
||||
Sort int
|
||||
LeaderID uint
|
||||
Status bool
|
||||
Children []*Department
|
||||
}
|
||||
|
||||
type Position struct {
|
||||
ID uint
|
||||
CreatedAt time.Time
|
||||
UpdatedAt time.Time
|
||||
Name string
|
||||
Code string
|
||||
Sort int
|
||||
Status bool
|
||||
Remark string
|
||||
}
|
||||
|
||||
type OrganizationRepo interface {
|
||||
CreateDepartment(context.Context, *Department) error
|
||||
UpdateDepartment(context.Context, *Department) error
|
||||
DeleteDepartment(context.Context, uint) error
|
||||
FindDepartment(context.Context, uint) (*Department, error)
|
||||
ListDepartments(context.Context, string) ([]*Department, error)
|
||||
DepartmentUserIDs(context.Context, uint) ([]uint, error)
|
||||
SetDepartmentUsers(context.Context, uint, []uint) error
|
||||
SetUserDepartments(context.Context, uint, []uint, uint) error
|
||||
CreatePosition(context.Context, *Position) error
|
||||
UpdatePosition(context.Context, *Position) error
|
||||
DeletePosition(context.Context, uint) error
|
||||
FindPosition(context.Context, uint) (*Position, error)
|
||||
ListPositions(context.Context, int, int, *Position) ([]*Position, int64, error)
|
||||
PositionUserIDs(context.Context, uint) ([]uint, error)
|
||||
SetPositionUsers(context.Context, uint, []uint) error
|
||||
SetUserPositions(context.Context, uint, []uint) error
|
||||
}
|
||||
|
||||
type OrganizationUsecase struct{ repo OrganizationRepo }
|
||||
|
||||
func NewOrganizationUsecase(repo OrganizationRepo) *OrganizationUsecase {
|
||||
return &OrganizationUsecase{repo: repo}
|
||||
}
|
||||
|
||||
func (uc *OrganizationUsecase) Departments(ctx context.Context, name string) ([]*Department, error) {
|
||||
return uc.repo.ListDepartments(ctx, name)
|
||||
}
|
||||
func (uc *OrganizationUsecase) CreateDepartment(ctx context.Context, value *Department) error {
|
||||
return uc.repo.CreateDepartment(ctx, value)
|
||||
}
|
||||
func (uc *OrganizationUsecase) UpdateDepartment(ctx context.Context, value *Department) error {
|
||||
return uc.repo.UpdateDepartment(ctx, value)
|
||||
}
|
||||
func (uc *OrganizationUsecase) DeleteDepartment(ctx context.Context, id uint) error {
|
||||
return uc.repo.DeleteDepartment(ctx, id)
|
||||
}
|
||||
func (uc *OrganizationUsecase) Department(ctx context.Context, id uint) (*Department, error) {
|
||||
return uc.repo.FindDepartment(ctx, id)
|
||||
}
|
||||
func (uc *OrganizationUsecase) DepartmentUserIDs(ctx context.Context, id uint) ([]uint, error) {
|
||||
return uc.repo.DepartmentUserIDs(ctx, id)
|
||||
}
|
||||
func (uc *OrganizationUsecase) SetDepartmentUsers(ctx context.Context, id uint, ids []uint) error {
|
||||
return uc.repo.SetDepartmentUsers(ctx, id, ids)
|
||||
}
|
||||
func (uc *OrganizationUsecase) SetUserDepartments(ctx context.Context, id uint, ids []uint, primary uint) error {
|
||||
return uc.repo.SetUserDepartments(ctx, id, ids, primary)
|
||||
}
|
||||
func (uc *OrganizationUsecase) Positions(ctx context.Context, page, size int, filter *Position) ([]*Position, int64, error) {
|
||||
return uc.repo.ListPositions(ctx, page, size, filter)
|
||||
}
|
||||
func (uc *OrganizationUsecase) CreatePosition(ctx context.Context, value *Position) error {
|
||||
return uc.repo.CreatePosition(ctx, value)
|
||||
}
|
||||
func (uc *OrganizationUsecase) UpdatePosition(ctx context.Context, value *Position) error {
|
||||
return uc.repo.UpdatePosition(ctx, value)
|
||||
}
|
||||
func (uc *OrganizationUsecase) DeletePosition(ctx context.Context, id uint) error {
|
||||
return uc.repo.DeletePosition(ctx, id)
|
||||
}
|
||||
func (uc *OrganizationUsecase) Position(ctx context.Context, id uint) (*Position, error) {
|
||||
return uc.repo.FindPosition(ctx, id)
|
||||
}
|
||||
func (uc *OrganizationUsecase) PositionUserIDs(ctx context.Context, id uint) ([]uint, error) {
|
||||
return uc.repo.PositionUserIDs(ctx, id)
|
||||
}
|
||||
func (uc *OrganizationUsecase) SetPositionUsers(ctx context.Context, id uint, ids []uint) error {
|
||||
return uc.repo.SetPositionUsers(ctx, id, ids)
|
||||
}
|
||||
func (uc *OrganizationUsecase) SetUserPositions(ctx context.Context, id uint, ids []uint) error {
|
||||
return uc.repo.SetUserPositions(ctx, id, ids)
|
||||
}
|
||||
Reference in New Issue
Block a user