From 9e513d2ad79dd33ddb030ee5d44e9242df976453 Mon Sep 17 00:00:00 2001 From: zouap Date: Wed, 26 Oct 2022 10:59:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4API=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- routers/api/v1/api.go | 5 +++ routers/api/v1/repo/modelmanage.go | 53 +++++++++++++++++++++++------- routers/repo/ai_model_convert.go | 29 ++++++++++++---- 3 files changed, 69 insertions(+), 18 deletions(-) diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go index b3694ced9..b03db6327 100755 --- a/routers/api/v1/api.go +++ b/routers/api/v1/api.go @@ -966,6 +966,11 @@ func RegisterRoutes(m *macaron.Macaron) { m.Post("/create_new_model", repo.CreateNewModel) m.Get("/show_model_api", repo.ShowModelManageApi) m.Delete("/delete_model", repo.DeleteModel) + m.Get("/downloadall", repo.DownloadModel) + m.Get("/query_model_for_predict", repo.QueryModelListForPredict) + m.Get("/query_modelfile_for_predict", repo.QueryModelFileForPredict) + m.Post("/create_model_convert", repo.CreateModelConvert) + m.Get("/show_model_convert_page") m.Get("/:id", repo.GetCloudbrainModelConvertTask) m.Get("/:id/log", repo.CloudbrainForModelConvertGetLog) m.Get("/:id/modelartlog", repo.TrainJobForModelConvertGetLog) diff --git a/routers/api/v1/repo/modelmanage.go b/routers/api/v1/repo/modelmanage.go index fce7cd886..b32726997 100644 --- a/routers/api/v1/repo/modelmanage.go +++ b/routers/api/v1/repo/modelmanage.go @@ -1,30 +1,61 @@ package repo import ( + "net/http" + "code.gitea.io/gitea/modules/context" "code.gitea.io/gitea/modules/log" routerRepo "code.gitea.io/gitea/routers/repo" ) func CreateNewModel(ctx *context.APIContext) { - log.Info("create new model by api.") - ctx.Context.SetParams("JobId", ctx.Query("jobId")) - ctx.Context.SetParams("VersionName", ctx.Query("versionName")) - ctx.Context.SetParams("Name", ctx.Query("name")) - ctx.Context.SetParams("Version", ctx.Query("version")) - ctx.Context.SetParams("Engine", ctx.Query("engine")) - ctx.Context.SetParams("modelSelectedFile", ctx.Query("modelSelectedFile")) - ctx.Context.SetParams("Label", ctx.Query("label")) - ctx.Context.SetParams("Description", ctx.Query("description")) - + log.Info("CreateNewModel by api.") routerRepo.SaveModel(ctx.Context) - } func ShowModelManageApi(ctx *context.APIContext) { + log.Info("ShowModelManageApi by api.") routerRepo.ShowModelPageInfo(ctx.Context) } func DeleteModel(ctx *context.APIContext) { + log.Info("DeleteModel by api.") routerRepo.DeleteModel(ctx.Context) } + +func DownloadModel(ctx *context.APIContext) { + log.Info("DownloadModel by api.") + routerRepo.DownloadMultiModelFile(ctx.Context) +} + +func QueryModelListForPredict(ctx *context.APIContext) { + log.Info("QueryModelListForPredict by api.") + routerRepo.QueryModelListForPredict(ctx.Context) +} + +func QueryModelFileForPredict(ctx *context.APIContext) { + log.Info("QueryModelFileForPredict by api.") + routerRepo.QueryModelFileForPredict(ctx.Context) +} + +func CreateModelConvert(ctx *context.APIContext) { + log.Info("CreateModelConvert by api.") + routerRepo.SaveModelConvert(ctx.Context) +} + +func ShowModelConvertPage(ctx *context.APIContext) { + log.Info("ShowModelConvertPage by api.") + modelResult, count, err := routerRepo.GetModelConvertPageData(ctx.Context) + if err == nil { + mapInterface := make(map[string]interface{}) + mapInterface["data"] = modelResult + mapInterface["count"] = count + ctx.JSON(http.StatusOK, mapInterface) + } else { + mapInterface := make(map[string]interface{}) + mapInterface["data"] = nil + mapInterface["count"] = 0 + ctx.JSON(http.StatusOK, mapInterface) + } + +} diff --git a/routers/repo/ai_model_convert.go b/routers/repo/ai_model_convert.go index 27ff0091f..959f4bc50 100644 --- a/routers/repo/ai_model_convert.go +++ b/routers/repo/ai_model_convert.go @@ -691,6 +691,26 @@ func ShowModelConvertPageInfo(ctx *context.Context) { ctx.NotFound(ctx.Req.URL.RequestURI(), nil) return } + page := ctx.QueryInt("page") + if page <= 0 { + page = 1 + } + pageSize := ctx.QueryInt("pageSize") + if pageSize <= 0 { + pageSize = setting.UI.IssuePagingNum + } + modelResult, count, err := GetModelConvertPageData(ctx) + if err == nil { + pager := context.NewPagination(int(count), page, pageSize, 5) + ctx.Data["Page"] = pager + ctx.Data["Tasks"] = modelResult + ctx.Data["MODEL_CONVERT_COUNT"] = count + } else { + ctx.ServerError("Query data error.", err) + } +} + +func GetModelConvertPageData(ctx *context.Context) ([]*models.AiModelConvert, int64, error) { page := ctx.QueryInt("page") if page <= 0 { page = 1 @@ -709,10 +729,8 @@ func ShowModelConvertPageInfo(ctx *context.Context) { }) if err != nil { log.Info("query db error." + err.Error()) - ctx.ServerError("Cloudbrain", err) - return + return nil, 0, err } - ctx.Data["MODEL_CONVERT_COUNT"] = count userIds := make([]int64, len(modelResult)) for i, model := range modelResult { model.IsCanOper = isOper(ctx, model.UserId) @@ -727,10 +745,7 @@ func ShowModelConvertPageInfo(ctx *context.Context) { model.UserRelAvatarLink = value.RelAvatarLink() } } - pager := context.NewPagination(int(count), page, pageSize, 5) - ctx.Data["Page"] = pager - ctx.Data["Tasks"] = modelResult - + return modelResult, count, nil } func ModelConvertDownloadModel(ctx *context.Context) {