#4286 #4275

Merged
chenyifan01 merged 3 commits from merge_debug into V20230531 11 months ago
  1. +1
    -0
      options/locale/locale_en-US.ini
  2. +1
    -0
      options/locale/locale_zh-CN.ini
  3. +19
    -9
      routers/api/v1/api.go
  4. +1
    -0
      routers/response/response_list.go
  5. +4
    -0
      web_src/vuepages/apis/service.js

+ 1
- 0
options/locale/locale_en-US.ini View File

@@ -3431,6 +3431,7 @@ can_not_restart = The task was not scheduled successfully before, so it cannot b
system_error = System error.Please try again later
insufficient_permission = Insufficient permissions
param_error = The parameter you submitted is incorrect
wechat_not_bind = Please scan the code and bind to wechat first

[deployment]
deploy_max = The maximum deployment is %v per user


+ 1
- 0
options/locale/locale_zh-CN.ini View File

@@ -3453,6 +3453,7 @@ can_not_restart = 这个任务之前没有调度成功,不能再次调试。
system_error = 当前服务不可用,请稍后再试
insufficient_permission = 权限不足
param_error = 提交的参数有误
wechat_not_bind = 请先扫码绑定微信

[deployment]
deploy_max = 每个用户只能同时创建 %v 个部署任务


+ 19
- 9
routers/api/v1/api.go View File

@@ -60,6 +60,7 @@ package v1

import (
"code.gitea.io/gitea/entity"
"code.gitea.io/gitea/routers/response"
"net/http"
"strings"

@@ -366,6 +367,15 @@ func reqWeChat() macaron.Handler {
}
}

func reqWeChatStandard() macaron.Handler {
return func(ctx *context.Context) {
if setting.WechatAuthSwitch && ctx.User.WechatOpenId == "" {
ctx.JSON(http.StatusOK, response.OuterTrBizError(response.WECHAT_NOT_BIND, ctx))
return
}
}
}

// reqAnyRepoReader user should have any permission to read repository or permissions of site admin
func reqAnyRepoReader() macaron.Handler {
return func(ctx *context.Context) {
@@ -635,14 +645,14 @@ func RegisterRoutes(m *macaron.Macaron) {

m.Group("/:username/:reponame", func() {
m.Group("/ai_task", func() {
m.Post("/create", reqWeChat(), reqRepoWriter(models.UnitTypeCloudBrain), bind(entity.CreateReq{}), ai_task.CreateAITask)
m.Post("/stop", reqWeChat(), reqRepoWriter(models.UnitTypeCloudBrain), reqAITaskInRepo(), reqAdminOrOwnerAITaskCreator(), ai_task.StopAITask)
m.Post("/del", reqWeChat(), reqRepoWriter(models.UnitTypeCloudBrain), reqAITaskInRepo(), reqAdminOrOwnerAITaskCreator(), ai_task.DelAITask)
m.Post("/restart", reqWeChat(), reqRepoWriter(models.UnitTypeCloudBrain), reqAITaskInRepo(), reqAdminOrAITaskCreator(), ai_task.RestartAITask)
m.Get("/log", reqWeChat(), reqRepoWriter(models.UnitTypeCloudBrain), reqAITaskInRepo(), ai_task.GetAITaskLog)
m.Get("/output", reqWeChat(), reqRepoWriter(models.UnitTypeCloudBrain), reqAITaskInRepo(), ai_task.GetAITaskOutput)
m.Get("/debug_url", reqWeChat(), reqRepoWriter(models.UnitTypeCloudBrain), reqAITaskInRepo(), ai_task.GetNotebookUrl)
m.Get("/creation/required", reqWeChat(), reqRepoWriter(models.UnitTypeCloudBrain), ai_task.GetCreationRequiredInfo)
m.Post("/create", reqWeChatStandard(), reqRepoWriter(models.UnitTypeCloudBrain), bind(entity.CreateReq{}), ai_task.CreateAITask)
m.Post("/stop", reqWeChatStandard(), reqRepoWriter(models.UnitTypeCloudBrain), reqAITaskInRepo(), reqAdminOrOwnerAITaskCreator(), ai_task.StopAITask)
m.Post("/del", reqWeChatStandard(), reqRepoWriter(models.UnitTypeCloudBrain), reqAITaskInRepo(), reqAdminOrOwnerAITaskCreator(), ai_task.DelAITask)
m.Post("/restart", reqWeChatStandard(), reqRepoWriter(models.UnitTypeCloudBrain), reqAITaskInRepo(), reqAdminOrAITaskCreator(), ai_task.RestartAITask)
m.Get("/log", reqWeChatStandard(), reqRepoWriter(models.UnitTypeCloudBrain), reqAITaskInRepo(), ai_task.GetAITaskLog)
m.Get("/output", reqWeChatStandard(), reqRepoWriter(models.UnitTypeCloudBrain), reqAITaskInRepo(), ai_task.GetAITaskOutput)
m.Get("/debug_url", reqWeChatStandard(), reqRepoWriter(models.UnitTypeCloudBrain), reqAITaskInRepo(), ai_task.GetNotebookUrl)
m.Get("/creation/required", reqWeChatStandard(), reqRepoWriter(models.UnitTypeCloudBrain), ai_task.GetCreationRequiredInfo)
}, reqToken(), context.RepoRef())
m.Group("/ai_task", func() {
m.Get("", reqRepoReader(models.UnitTypeCloudBrain), ai_task.GetAITaskInfo)
@@ -912,7 +922,7 @@ func RegisterRoutes(m *macaron.Macaron) {

m.Group("/file_notebook", func() {
m.Get("", repo.GetFileNoteBookInfo)
m.Post("/create", reqToken(), reqWeChat(), bind(api.CreateFileNotebookJobOption{}), repo.CreateFileNoteBook)
m.Post("/create", reqToken(), reqWeChatStandard(), bind(api.CreateFileNotebookJobOption{}), repo.CreateFileNoteBook)
m.Post("/status", reqToken(), bind(api.CreateFileNotebookJobOption{}), repo.FileNoteBookStatus)
})



+ 1
- 0
routers/response/response_list.go View File

@@ -11,6 +11,7 @@ var BADGES_STILL_HAS_USERS = &BizError{Code: 1005, DefaultMsg: "Please delete us
var SYSTEM_ERROR = &BizError{Code: 9009, DefaultMsg: "System error.Please try again later", TrCode: "common_error.system_error"}
var INSUFFICIENT_PERMISSION = &BizError{Code: 9003, DefaultMsg: "insufficient permissions", TrCode: "common_error.insufficient_permission"}
var PARAM_ERROR = &BizError{Code: 9001, DefaultMsg: "param error", TrCode: "common_error.param_error"}
var WECHAT_NOT_BIND = &BizError{Code: 9002, DefaultMsg: "Please scan the code and bind to wechat first", TrCode: "common_error.wechat_not_bind"}

//云脑任务相关错误
var AI_TASK_NOT_EXISTS = &BizError{Code: 2001, DefaultMsg: "AI task not exists", TrCode: "ai_task.task_not_exists"}


+ 4
- 0
web_src/vuepages/apis/service.js View File

@@ -17,6 +17,10 @@ service.interceptors.request.use((config) => {
});

service.interceptors.response.use((response) => {
if (response.status == 200 && response.data && response.data.code == 9002) { // 绑定微信
window.location.href = `/authentication/wechat/bind?redirect_to=${encodeURIComponent(window.location.href)}`;
return Promise.reject(response);
}
return response;
}, (error) => {
return Promise.reject(error);


Loading…
Cancel
Save