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) }) }