From a80b1aed0866dc629ae124a6d64c6e61e7037df4 Mon Sep 17 00:00:00 2001 From: Liujian <824010343@qq.com> Date: Thu, 26 Dec 2024 15:09:44 +0800 Subject: [PATCH] finish ai provider api --- controller/service/iml.go | 4 ++-- controller/service/service.go | 2 +- module/ai/dto/output.go | 12 +++++++----- module/ai/iml.go | 9 +++++---- plugins/core/my-team.go | 2 +- plugins/core/service.go | 2 +- 6 files changed, 17 insertions(+), 14 deletions(-) diff --git a/controller/service/iml.go b/controller/service/iml.go index 7227e6b7..2e0d8cff 100644 --- a/controller/service/iml.go +++ b/controller/service/iml.go @@ -318,8 +318,8 @@ func (i *imlServiceController) Get(ctx *gin.Context, id string) (*service_dto.Se return i.module.Get(ctx, id) } -func (i *imlServiceController) Search(ctx *gin.Context, teamID string, keyword string) ([]*service_dto.ServiceItem, error) { - return i.module.Search(ctx, teamID, keyword) +func (i *imlServiceController) Search(ctx *gin.Context, teamIDs string, keyword string, page string, pageSize string, sort string, asc string, serviceKind string) ([]*service_dto.ServiceItem, error) { + return i.module.Search(ctx, teamIDs, keyword) } func (i *imlServiceController) Create(ctx *gin.Context, teamID string, input *service_dto.CreateService) (*service_dto.Service, error) { diff --git a/controller/service/service.go b/controller/service/service.go index 4e2a553e..0509fe9a 100644 --- a/controller/service/service.go +++ b/controller/service/service.go @@ -15,7 +15,7 @@ type IServiceController interface { Get(ctx *gin.Context, id string) (*service_dto.Service, error) // SearchMyServices 搜索服务 SearchMyServices(ctx *gin.Context, teamID string, keyword string) ([]*service_dto.ServiceItem, error) - Search(ctx *gin.Context, teamID string, keyword string) ([]*service_dto.ServiceItem, error) + Search(ctx *gin.Context, teamIDs string, keyword string, page string, pageSize string, sort string, asc string, serviceKind string) ([]*service_dto.ServiceItem, error) // Create 创建 Create(ctx *gin.Context, teamID string, input *service_dto.CreateService) (*service_dto.Service, error) // Edit 编辑 diff --git a/module/ai/dto/output.go b/module/ai/dto/output.go index 137a4b61..53481441 100644 --- a/module/ai/dto/output.go +++ b/module/ai/dto/output.go @@ -7,6 +7,7 @@ import ( type SimpleProvider struct { Id string `json:"id"` Name string `json:"name"` + Config string `json:"config"` Logo string `json:"logo"` GetAPIKeyUrl string `json:"get_apikey_url"` } @@ -49,11 +50,12 @@ type ProviderItem struct { } type SimpleProviderItem struct { - Id string `json:"id"` - Name string `json:"name"` - Logo string `json:"logo"` - Configured bool `json:"configured"` - Status ProviderStatus `json:"status"` + Id string `json:"id"` + Name string `json:"name"` + Logo string `json:"logo"` + Configured bool `json:"configured"` + DefaultConfig string `json:"default_config"` + Status ProviderStatus `json:"status"` } type LLMItem struct { diff --git a/module/ai/iml.go b/module/ai/iml.go index ac336a77..45c64bd0 100644 --- a/module/ai/iml.go +++ b/module/ai/iml.go @@ -207,10 +207,11 @@ func (i *imlProviderModule) SimpleProviders(ctx context.Context) ([]*ai_dto.Simp items := make([]*ai_dto.SimpleProviderItem, 0, len(providers)) for _, v := range providers { item := &ai_dto.SimpleProviderItem{ - Id: v.ID(), - Name: v.Name(), - Logo: v.Logo(), - Status: ai_dto.ProviderDisabled, + Id: v.ID(), + Name: v.Name(), + Logo: v.Logo(), + DefaultConfig: v.DefaultConfig(), + Status: ai_dto.ProviderDisabled, } if info, has := providerMap[v.ID()]; has { item.Configured = true diff --git a/plugins/core/my-team.go b/plugins/core/my-team.go index e8d963a0..7b556606 100644 --- a/plugins/core/my-team.go +++ b/plugins/core/my-team.go @@ -22,7 +22,7 @@ func (p *plugin) MyTeamApi() []pm3.Api { pm3.CreateApiWidthDoc(http.MethodPut, "/api/v1/team/member/role", []string{"context", "query:team", "body"}, nil, p.myTeamController.UpdateMemberRole, access.SystemWorkspaceTeamManager, access.TeamTeamMemberManager), // 团队项目操作 - pm3.CreateApiWidthDoc(http.MethodGet, "/api/v1/team/services", []string{"context", "query:team", "query:keyword"}, []string{"services"}, p.serviceController.Search, access.SystemWorkspaceServiceViewAll, access.TeamTeamServiceView), + pm3.CreateApiWidthDoc(http.MethodGet, "/api/v1/team/services", []string{"context", "query:team", "query:keyword", "query:page", "query:page_size", "query:sort", "query:asc", "query:status"}, []string{"services"}, p.serviceController.Search, access.SystemWorkspaceServiceViewAll, access.TeamTeamServiceView), pm3.CreateApiWidthDoc(http.MethodPost, "/api/v1/team/service", []string{"context", "query:team", "body"}, []string{"service"}, p.serviceController.Create, access.SystemWorkspaceServiceManagerAll, access.TeamTeamServiceManager), pm3.CreateApiWidthDoc(http.MethodPost, "/api/v1/team/app", []string{"context", "query:team", "body"}, []string{"app"}, p.appController.CreateApp, access.SystemWorkspaceApplicationManagerAll, access.TeamTeamConsumerManager), pm3.CreateApiWidthDoc(http.MethodDelete, "/api/v1/team/service", []string{"context", "query:service"}, nil, p.serviceController.Delete, access.SystemWorkspaceServiceManagerAll, access.TeamTeamServiceManager), diff --git a/plugins/core/service.go b/plugins/core/service.go index e929e6ef..95a062d0 100644 --- a/plugins/core/service.go +++ b/plugins/core/service.go @@ -17,7 +17,7 @@ func (p *plugin) ServiceApis() []pm3.Api { pm3.CreateApiWidthDoc(http.MethodPut, "/api/v1/service/info", []string{"context", "query:service", "body"}, []string{"service"}, p.serviceController.Edit, access.SystemWorkspaceServiceManagerAll, access.TeamTeamServiceManager), pm3.CreateApiWidthDoc(http.MethodDelete, "/api/v1/service/info", []string{"context", "query:service"}, nil, p.serviceController.Delete, access.SystemWorkspaceServiceManagerAll, access.TeamTeamServiceManager), pm3.CreateApiWidthDoc(http.MethodGet, "/api/v1/my_services", []string{"context", "query:team", "query:keyword"}, []string{"services"}, p.serviceController.SearchMyServices), - pm3.CreateApiWidthDoc(http.MethodGet, "/api/v1/services", []string{"context", "query:team", "query:keyword"}, []string{"services"}, p.serviceController.Search, access.SystemWorkspaceServiceViewAll, access.TeamTeamServiceView), + pm3.CreateApiWidthDoc(http.MethodGet, "/api/v1/services", []string{"context", "query:team", "query:keyword", "query:page", "query:page_size", "query:sort", "query:asc", "query:workspace"}, []string{"services"}, p.serviceController.Search, access.SystemWorkspaceServiceViewAll, access.TeamTeamServiceView), pm3.CreateApiWidthDoc(http.MethodGet, "/api/v1/simple/services", []string{"context"}, []string{"services"}, p.serviceController.Simple), pm3.CreateApiWidthDoc(http.MethodGet, "/api/v1/simple/services/mine", []string{"context"}, []string{"services"}, p.serviceController.MySimple), // 应用相关