78 lines
2.4 KiB
Go
78 lines
2.4 KiB
Go
package system
|
|
|
|
import (
|
|
"context"
|
|
)
|
|
|
|
// SysAutoCodePackage 代码包实体
|
|
type SysAutoCodePackage struct {
|
|
ID uint
|
|
Desc string
|
|
Label string
|
|
Template string
|
|
PackageName string
|
|
Module string
|
|
}
|
|
|
|
// AutoCodePackageRepo 代码包仓储接口
|
|
type AutoCodePackageRepo interface {
|
|
Create(ctx context.Context, pkg *SysAutoCodePackage) error
|
|
Delete(ctx context.Context, id uint) error
|
|
DeleteByNames(ctx context.Context, names []string) error
|
|
All(ctx context.Context) ([]SysAutoCodePackage, error)
|
|
First(ctx context.Context, packageName, template string) (*SysAutoCodePackage, error)
|
|
FindByPackageName(ctx context.Context, packageName string) (*SysAutoCodePackage, error)
|
|
BatchCreate(ctx context.Context, pkgs []SysAutoCodePackage) error
|
|
DeleteByIDs(ctx context.Context, ids []uint) error
|
|
}
|
|
|
|
// AutoCodePackageUsecase 代码包用例
|
|
type AutoCodePackageUsecase struct {
|
|
repo AutoCodePackageRepo
|
|
}
|
|
|
|
// NewAutoCodePackageUsecase 创建代码包用例
|
|
func NewAutoCodePackageUsecase(repo AutoCodePackageRepo) *AutoCodePackageUsecase {
|
|
return &AutoCodePackageUsecase{repo: repo}
|
|
}
|
|
|
|
// Create 创建包
|
|
func (uc *AutoCodePackageUsecase) Create(ctx context.Context, pkg *SysAutoCodePackage) error {
|
|
return uc.repo.Create(ctx, pkg)
|
|
}
|
|
|
|
// Delete 删除包
|
|
func (uc *AutoCodePackageUsecase) Delete(ctx context.Context, id uint) error {
|
|
return uc.repo.Delete(ctx, id)
|
|
}
|
|
|
|
// DeleteByNames 根据名称删除包
|
|
func (uc *AutoCodePackageUsecase) DeleteByNames(ctx context.Context, names []string) error {
|
|
return uc.repo.DeleteByNames(ctx, names)
|
|
}
|
|
|
|
// All 获取所有包
|
|
func (uc *AutoCodePackageUsecase) All(ctx context.Context) ([]SysAutoCodePackage, error) {
|
|
return uc.repo.All(ctx)
|
|
}
|
|
|
|
// First 查询包
|
|
func (uc *AutoCodePackageUsecase) First(ctx context.Context, packageName, template string) (*SysAutoCodePackage, error) {
|
|
return uc.repo.First(ctx, packageName, template)
|
|
}
|
|
|
|
// FindByPackageName 根据包名查询
|
|
func (uc *AutoCodePackageUsecase) FindByPackageName(ctx context.Context, packageName string) (*SysAutoCodePackage, error) {
|
|
return uc.repo.FindByPackageName(ctx, packageName)
|
|
}
|
|
|
|
// BatchCreate 批量创建
|
|
func (uc *AutoCodePackageUsecase) BatchCreate(ctx context.Context, pkgs []SysAutoCodePackage) error {
|
|
return uc.repo.BatchCreate(ctx, pkgs)
|
|
}
|
|
|
|
// DeleteByIDs 根据ID批量删除
|
|
func (uc *AutoCodePackageUsecase) DeleteByIDs(ctx context.Context, ids []uint) error {
|
|
return uc.repo.DeleteByIDs(ctx, ids)
|
|
}
|