Files
APIPark/module/catalogue/catalogue.go
T
2024-08-30 09:55:56 +08:00

48 lines
1.5 KiB
Go

package catalogue
import (
"context"
"github.com/APIParkLab/APIPark/module/system"
"reflect"
"github.com/eolinker/go-common/autowire"
catalogue_dto "github.com/APIParkLab/APIPark/module/catalogue/dto"
)
type ICatalogueModule interface {
// Search 搜索目录
Search(ctx context.Context, keyword string) ([]*catalogue_dto.Item, error)
// Create 创建目录
Create(ctx context.Context, input *catalogue_dto.CreateCatalogue) error
// Edit 编辑目录
Edit(ctx context.Context, id string, input *catalogue_dto.EditCatalogue) error
Get(ctx context.Context, id string) (*catalogue_dto.Catalogue, error)
// Delete 删除目录
Delete(ctx context.Context, id string) error
// Services 关键字筛选服务列表
Services(ctx context.Context, keyword string) ([]*catalogue_dto.ServiceItem, error)
// ServiceDetail 服务详情
ServiceDetail(ctx context.Context, sid string) (*catalogue_dto.ServiceDetail, error)
// Subscribe 订阅服务
Subscribe(ctx context.Context, subscribeInfo *catalogue_dto.SubscribeService) error
Sort(ctx context.Context, sorts []*catalogue_dto.SortItem) error
//ExportAll(ctx context.Context) ([]*catalogue_dto.ExportCatalogue, error)
}
type IExportCatalogueModule interface {
system.IExportModule[catalogue_dto.ExportCatalogue]
}
func init() {
catalogueModule := new(imlCatalogueModule)
autowire.Auto[ICatalogueModule](func() reflect.Value {
return reflect.ValueOf(catalogueModule)
})
autowire.Auto[IExportCatalogueModule](func() reflect.Value {
return reflect.ValueOf(catalogueModule)
})
}