Refactor API endpoints to use /api/dashboard instead of /api/console
- Updated all relevant API functions in agent.ts, company.ts, customer-contact.ts, customer.ts, dashboard.ts, ticket-config.ts, and ticket.ts to point to the new /api/dashboard paths. - Ensured that all request methods and payload structures remain unchanged to maintain existing functionality.
This commit is contained in:
@@ -286,30 +286,30 @@ func BuildXxx(item *models.Xxx) *response.Xxx {
|
||||
|
||||
### 8.2 路径分层
|
||||
|
||||
- `/api/console/*`:业务后台接口,默认归属
|
||||
- `/api/dashboard/*`:业务后台接口,默认归属
|
||||
- `/api/admin/*`:平台总后台接口
|
||||
- `/api/open/*`:开放接口;IM 优先使用 `/api/open/im/*`
|
||||
- `/api/auth/*`:认证接口,可未登录访问
|
||||
|
||||
禁止新增 `/api/v1` 这类版本前缀。
|
||||
|
||||
### 8.3 console 接口风格
|
||||
### 8.3 dashboard 接口风格
|
||||
|
||||
- 资源路径优先平铺:如 `/api/console/project`
|
||||
- 资源路径优先平铺:如 `/api/dashboard/project`
|
||||
- 列表、创建、更新、删除优先使用 `/list`、`/create`、`/update`、`/delete`
|
||||
- 查询条件优先通过 `query` 或 `body` 传递
|
||||
- 除详情接口外,尽量不使用 path param
|
||||
- 详情接口允许 `GET /api/console/project/{id}`
|
||||
- 详情接口允许 `GET /api/dashboard/project/{id}`
|
||||
- 从属资源优先通过 `projectId`、`episodeId` 等普通参数过滤,不鼓励深层嵌套路由
|
||||
|
||||
### 8.4 路由注册
|
||||
|
||||
- 业务后台统一在 `internal/bootstrap/server.go` 中通过 `mvc.Configure(app.Party("/api/console"), ...)` 注册
|
||||
- 业务后台统一在 `internal/bootstrap/server.go` 中通过 `mvc.Configure(app.Party("/api/dashboard"), ...)` 注册
|
||||
- 平台接口统一通过 `mvc.Configure(app.Party("/api/admin"), ...)` 注册
|
||||
- 开放接口按领域归档,如 `mvc.Configure(app.Party("/api/open/im"), ...)`
|
||||
- 在分组内部通过 `m.Party("/xxx").Handle(...)` 挂载资源
|
||||
- 不要为每个资源单独再写一层顶级 `mvc.Configure(app.Party("/api/console/xxx"), ...)`
|
||||
- 认证与鉴权中间件优先挂在 `/api/console` 或 `/api/admin` 这一层
|
||||
- 不要为每个资源单独再写一层顶级 `mvc.Configure(app.Party("/api/dashboard/xxx"), ...)`
|
||||
- 认证与鉴权中间件优先挂在 `/api/dashboard` 或 `/api/admin` 这一层
|
||||
|
||||
### 8.5 Iris MVC 自动路由规则
|
||||
|
||||
@@ -318,10 +318,10 @@ func BuildXxx(item *models.Xxx) *response.Xxx {
|
||||
- controller 挂载方式示例:
|
||||
|
||||
```go
|
||||
m.Party("/quick-reply").Handle(new(console.QuickReplyController))
|
||||
m.Party("/quick-reply").Handle(new(dashboard.QuickReplyController))
|
||||
```
|
||||
|
||||
在上面的注册下,controller 的基础路径就是 `/quick-reply`,最终完整路径再拼上外层分组,如 `/api/console/quick-reply`。
|
||||
在上面的注册下,controller 的基础路径就是 `/quick-reply`,最终完整路径再拼上外层分组,如 `/api/dashboard/quick-reply`。
|
||||
|
||||
- controller 名称 `QuickReplyController` 不会自动变成路径,路径以 `m.Party("/quick-reply")` 为准
|
||||
- 方法名前缀决定 HTTP Method:
|
||||
@@ -352,18 +352,18 @@ m.Party("/quick-reply").Handle(new(console.QuickReplyController))
|
||||
|
||||
当前项目常见正确映射示例:
|
||||
|
||||
- `m.Party("/user").Handle(new(console.UserController))`
|
||||
- `AnyList()` -> `ANY /api/console/user/list`
|
||||
- `GetBy(id int64)` -> `GET /api/console/user/{id}`
|
||||
- `PostCreate()` -> `POST /api/console/user/create`
|
||||
- `PostUpdate()` -> `POST /api/console/user/update`
|
||||
- `PostDelete()` -> `POST /api/console/user/delete`
|
||||
- `m.Party("/conversation").Handle(new(console.ConversationController))`
|
||||
- `AnyList()` -> `ANY /api/console/conversation/list`
|
||||
- `GetBy(id int64)` -> `GET /api/console/conversation/{id}`
|
||||
- `AnyMessageList()` -> `ANY /api/console/conversation/message/list`
|
||||
- `PostSendMessage()` -> `POST /api/console/conversation/send/message`
|
||||
- 如果业务明确要求下划线路径,则方法名写成 `PostSend_message()`,对应 `POST /api/console/conversation/send_message`
|
||||
- `m.Party("/user").Handle(new(dashboard.UserController))`
|
||||
- `AnyList()` -> `ANY /api/dashboard/user/list`
|
||||
- `GetBy(id int64)` -> `GET /api/dashboard/user/{id}`
|
||||
- `PostCreate()` -> `POST /api/dashboard/user/create`
|
||||
- `PostUpdate()` -> `POST /api/dashboard/user/update`
|
||||
- `PostDelete()` -> `POST /api/dashboard/user/delete`
|
||||
- `m.Party("/conversation").Handle(new(dashboard.ConversationController))`
|
||||
- `AnyList()` -> `ANY /api/dashboard/conversation/list`
|
||||
- `GetBy(id int64)` -> `GET /api/dashboard/conversation/{id}`
|
||||
- `AnyMessageList()` -> `ANY /api/dashboard/conversation/message/list`
|
||||
- `PostSendMessage()` -> `POST /api/dashboard/conversation/send/message`
|
||||
- 如果业务明确要求下划线路径,则方法名写成 `PostSend_message()`,对应 `POST /api/dashboard/conversation/send_message`
|
||||
|
||||
容易写错的点:
|
||||
|
||||
|
||||
@@ -181,7 +181,7 @@ flowchart TD
|
||||
│ ├── models/ # GORM models
|
||||
│ ├── migration/ # data migrations
|
||||
│ └── ai/ # LLM / RAG / MCP related logic
|
||||
├── web/ # admin console (Next.js)
|
||||
├── dashboard/ # dashboard (Next.js)
|
||||
├── widget/ # embeddable customer chat widget
|
||||
├── config/ # config files
|
||||
└── docs/ # project docs
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"cs-agent/internal/ai/mcps"
|
||||
_ "cs-agent/internal/ai/runtime"
|
||||
"cs-agent/internal/controllers/api"
|
||||
"cs-agent/internal/controllers/console"
|
||||
"cs-agent/internal/controllers/dashboard"
|
||||
"cs-agent/internal/controllers/open"
|
||||
"cs-agent/internal/controllers/third"
|
||||
"cs-agent/internal/middleware"
|
||||
@@ -99,43 +99,43 @@ func addRouter(app *iris.Application) {
|
||||
mcpHandler.ServeHTTP(w, r)
|
||||
})))
|
||||
|
||||
app.Get("/api/console/ws", middleware.AuthMiddleware, middleware.ConsoleWsMiddleware)
|
||||
app.Get("/api/dashboard/ws", middleware.AuthMiddleware, middleware.DashboardWsMiddleware)
|
||||
app.Get("/api/open/im/ws", middleware.OpenImWsMiddleware)
|
||||
|
||||
mvc.Configure(app.Party("/api/auth"), func(m *mvc.Application) {
|
||||
m.Handle(new(api.AuthController))
|
||||
})
|
||||
|
||||
mvc.Configure(app.Party("/api/console", middleware.AuthMiddleware), func(m *mvc.Application) {
|
||||
m.Party("/dashboard").Handle(new(console.DashboardController))
|
||||
m.Party("/user").Handle(new(console.UserController))
|
||||
m.Party("/company").Handle(new(console.CompanyController))
|
||||
m.Party("/customer").Handle(new(console.CustomerController))
|
||||
m.Party("/customer-contact").Handle(new(console.CustomerContactController))
|
||||
m.Party("/role").Handle(new(console.RoleController))
|
||||
m.Party("/permission").Handle(new(console.PermissionController))
|
||||
m.Party("/session").Handle(new(console.SessionController))
|
||||
m.Party("/tag").Handle(new(console.TagController))
|
||||
m.Party("/conversation").Handle(new(console.ConversationController))
|
||||
m.Party("/ticket").Handle(new(console.TicketController))
|
||||
m.Party("/ticket-resolution-code").Handle(new(console.TicketResolutionCodeController))
|
||||
m.Party("/ticket-priority-config").Handle(new(console.TicketPriorityConfigController))
|
||||
m.Party("/quick-reply").Handle(new(console.QuickReplyController))
|
||||
m.Party("/channel").Handle(new(console.ChannelController))
|
||||
m.Party("/agent").Handle(new(console.AgentController))
|
||||
m.Party("/agent-team").Handle(new(console.AgentTeamController))
|
||||
m.Party("/agent-team-schedule").Handle(new(console.AgentTeamScheduleController))
|
||||
m.Party("/ai-agent").Handle(new(console.AIAgentController))
|
||||
m.Party("/ai-config").Handle(new(console.AIConfigController))
|
||||
m.Party("/asset").Handle(new(console.AssetController))
|
||||
m.Party("/knowledge-base").Handle(new(console.KnowledgeBaseController))
|
||||
m.Party("/knowledge-document").Handle(new(console.KnowledgeDocumentController))
|
||||
m.Party("/knowledge-faq").Handle(new(console.KnowledgeFAQController))
|
||||
m.Party("/knowledge-retrieve").Handle(new(console.KnowledgeRetrieveController))
|
||||
m.Party("/knowledge-retrieve-log").Handle(new(console.KnowledgeRetrieveLogController))
|
||||
m.Party("/agent-run-log").Handle(new(console.AgentRunLogController))
|
||||
m.Party("/skill-definition").Handle(new(console.SkillDefinitionController))
|
||||
m.Party("/mcp").Handle(new(console.MCPController))
|
||||
mvc.Configure(app.Party("/api/dashboard", middleware.AuthMiddleware), func(m *mvc.Application) {
|
||||
m.Party("/dashboard").Handle(new(dashboard.DashboardController))
|
||||
m.Party("/user").Handle(new(dashboard.UserController))
|
||||
m.Party("/company").Handle(new(dashboard.CompanyController))
|
||||
m.Party("/customer").Handle(new(dashboard.CustomerController))
|
||||
m.Party("/customer-contact").Handle(new(dashboard.CustomerContactController))
|
||||
m.Party("/role").Handle(new(dashboard.RoleController))
|
||||
m.Party("/permission").Handle(new(dashboard.PermissionController))
|
||||
m.Party("/session").Handle(new(dashboard.SessionController))
|
||||
m.Party("/tag").Handle(new(dashboard.TagController))
|
||||
m.Party("/conversation").Handle(new(dashboard.ConversationController))
|
||||
m.Party("/ticket").Handle(new(dashboard.TicketController))
|
||||
m.Party("/ticket-resolution-code").Handle(new(dashboard.TicketResolutionCodeController))
|
||||
m.Party("/ticket-priority-config").Handle(new(dashboard.TicketPriorityConfigController))
|
||||
m.Party("/quick-reply").Handle(new(dashboard.QuickReplyController))
|
||||
m.Party("/channel").Handle(new(dashboard.ChannelController))
|
||||
m.Party("/agent").Handle(new(dashboard.AgentController))
|
||||
m.Party("/agent-team").Handle(new(dashboard.AgentTeamController))
|
||||
m.Party("/agent-team-schedule").Handle(new(dashboard.AgentTeamScheduleController))
|
||||
m.Party("/ai-agent").Handle(new(dashboard.AIAgentController))
|
||||
m.Party("/ai-config").Handle(new(dashboard.AIConfigController))
|
||||
m.Party("/asset").Handle(new(dashboard.AssetController))
|
||||
m.Party("/knowledge-base").Handle(new(dashboard.KnowledgeBaseController))
|
||||
m.Party("/knowledge-document").Handle(new(dashboard.KnowledgeDocumentController))
|
||||
m.Party("/knowledge-faq").Handle(new(dashboard.KnowledgeFAQController))
|
||||
m.Party("/knowledge-retrieve").Handle(new(dashboard.KnowledgeRetrieveController))
|
||||
m.Party("/knowledge-retrieve-log").Handle(new(dashboard.KnowledgeRetrieveLogController))
|
||||
m.Party("/agent-run-log").Handle(new(dashboard.AgentRunLogController))
|
||||
m.Party("/skill-definition").Handle(new(dashboard.SkillDefinitionController))
|
||||
m.Party("/mcp").Handle(new(dashboard.MCPController))
|
||||
})
|
||||
|
||||
mvc.Configure(app.Party("/api/open/im", middleware.OpenImContextMiddleware), func(m *mvc.Application) {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"cs-agent/internal/builders"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"cs-agent/internal/builders"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"cs-agent/internal/models"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"cs-agent/internal/models"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"cs-agent/internal/pkg/constants"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"cs-agent/internal/builders"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"cs-agent/internal/models"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"cs-agent/internal/builders"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"cs-agent/internal/builders"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"cs-agent/internal/builders"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"cs-agent/internal/builders"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"cs-agent/internal/services"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"context"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"cs-agent/internal/builders"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"cs-agent/internal/builders"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"context"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"cs-agent/internal/builders"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"context"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"cs-agent/internal/pkg/constants"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"cs-agent/internal/pkg/constants"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"cs-agent/internal/pkg/constants"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"cs-agent/internal/pkg/constants"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"context"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"cs-agent/internal/builders"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"strings"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"cs-agent/internal/builders"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"cs-agent/internal/builders"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package console
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"cs-agent/internal/builders"
|
||||
@@ -12,7 +12,7 @@ import (
|
||||
"github.com/mlogclub/simple/web"
|
||||
)
|
||||
|
||||
func ConsoleWsMiddleware(ctx iris.Context) {
|
||||
func DashboardWsMiddleware(ctx iris.Context) {
|
||||
principal := services.AuthService.GetAuthPrincipal(ctx)
|
||||
if principal == nil {
|
||||
if _, err := services.AuthService.Authenticate(ctx); err != nil {
|
||||
|
||||
@@ -41,143 +41,143 @@ type Permission struct {
|
||||
// 权限常量定义
|
||||
var (
|
||||
// 用户相关权限
|
||||
PermissionUserView = Permission{Name: "查看用户", Code: "user.view", Type: "api", GroupName: "user", Method: "ANY", APIPath: "/api/console/user/list", SortNo: 10}
|
||||
PermissionUserCreate = Permission{Name: "创建用户", Code: "user.create", Type: "api", GroupName: "user", Method: "POST", APIPath: "/api/console/user/create", SortNo: 20}
|
||||
PermissionUserUpdate = Permission{Name: "更新用户", Code: "user.update", Type: "api", GroupName: "user", Method: "POST", APIPath: "/api/console/user/update", SortNo: 30}
|
||||
PermissionUserDelete = Permission{Name: "删除用户", Code: "user.delete", Type: "api", GroupName: "user", Method: "POST", APIPath: "/api/console/user/delete", SortNo: 40}
|
||||
PermissionUserAssignRole = Permission{Name: "分配用户角色", Code: "user.assignRole", Type: "api", GroupName: "user", Method: "POST", APIPath: "/api/console/user/assign_role", SortNo: 50}
|
||||
PermissionUserView = Permission{Name: "查看用户", Code: "user.view", Type: "api", GroupName: "user", Method: "ANY", APIPath: "/api/dashboard/user/list", SortNo: 10}
|
||||
PermissionUserCreate = Permission{Name: "创建用户", Code: "user.create", Type: "api", GroupName: "user", Method: "POST", APIPath: "/api/dashboard/user/create", SortNo: 20}
|
||||
PermissionUserUpdate = Permission{Name: "更新用户", Code: "user.update", Type: "api", GroupName: "user", Method: "POST", APIPath: "/api/dashboard/user/update", SortNo: 30}
|
||||
PermissionUserDelete = Permission{Name: "删除用户", Code: "user.delete", Type: "api", GroupName: "user", Method: "POST", APIPath: "/api/dashboard/user/delete", SortNo: 40}
|
||||
PermissionUserAssignRole = Permission{Name: "分配用户角色", Code: "user.assignRole", Type: "api", GroupName: "user", Method: "POST", APIPath: "/api/dashboard/user/assign_role", SortNo: 50}
|
||||
|
||||
// 角色相关权限
|
||||
PermissionRoleView = Permission{Name: "查看角色", Code: "role.view", Type: "api", GroupName: "role", Method: "ANY", APIPath: "/api/console/role/list", SortNo: 110}
|
||||
PermissionRoleCreate = Permission{Name: "创建角色", Code: "role.create", Type: "api", GroupName: "role", Method: "POST", APIPath: "/api/console/role/create", SortNo: 120}
|
||||
PermissionRoleUpdate = Permission{Name: "更新角色", Code: "role.update", Type: "api", GroupName: "role", Method: "POST", APIPath: "/api/console/role/update", SortNo: 130}
|
||||
PermissionRoleDelete = Permission{Name: "删除角色", Code: "role.delete", Type: "api", GroupName: "role", Method: "POST", APIPath: "/api/console/role/delete", SortNo: 140}
|
||||
PermissionRoleAssignPermission = Permission{Name: "分配角色权限", Code: "role.assignPermission", Type: "api", GroupName: "role", Method: "POST", APIPath: "/api/console/role/assign_permission", SortNo: 150}
|
||||
PermissionRoleView = Permission{Name: "查看角色", Code: "role.view", Type: "api", GroupName: "role", Method: "ANY", APIPath: "/api/dashboard/role/list", SortNo: 110}
|
||||
PermissionRoleCreate = Permission{Name: "创建角色", Code: "role.create", Type: "api", GroupName: "role", Method: "POST", APIPath: "/api/dashboard/role/create", SortNo: 120}
|
||||
PermissionRoleUpdate = Permission{Name: "更新角色", Code: "role.update", Type: "api", GroupName: "role", Method: "POST", APIPath: "/api/dashboard/role/update", SortNo: 130}
|
||||
PermissionRoleDelete = Permission{Name: "删除角色", Code: "role.delete", Type: "api", GroupName: "role", Method: "POST", APIPath: "/api/dashboard/role/delete", SortNo: 140}
|
||||
PermissionRoleAssignPermission = Permission{Name: "分配角色权限", Code: "role.assignPermission", Type: "api", GroupName: "role", Method: "POST", APIPath: "/api/dashboard/role/assign_permission", SortNo: 150}
|
||||
|
||||
// 权限相关权限
|
||||
PermissionPermissionView = Permission{Name: "查看权限", Code: "permission.view", Type: "api", GroupName: "permission", Method: "ANY", APIPath: "/api/console/permission/list", SortNo: 210}
|
||||
PermissionPermissionSync = Permission{Name: "同步权限", Code: "permission.sync", Type: "api", GroupName: "permission", Method: "POST", APIPath: "/api/console/permission/sync", SortNo: 220}
|
||||
PermissionPermissionView = Permission{Name: "查看权限", Code: "permission.view", Type: "api", GroupName: "permission", Method: "ANY", APIPath: "/api/dashboard/permission/list", SortNo: 210}
|
||||
PermissionPermissionSync = Permission{Name: "同步权限", Code: "permission.sync", Type: "api", GroupName: "permission", Method: "POST", APIPath: "/api/dashboard/permission/sync", SortNo: 220}
|
||||
|
||||
// 会话相关权限
|
||||
PermissionSessionView = Permission{Name: "查看会话", Code: "session.view", Type: "api", GroupName: "session", Method: "ANY", APIPath: "/api/console/session/list", SortNo: 310}
|
||||
PermissionSessionRevoke = Permission{Name: "踢除会话", Code: "session.revoke", Type: "api", GroupName: "session", Method: "POST", APIPath: "/api/console/session/revoke", SortNo: 320}
|
||||
PermissionSessionView = Permission{Name: "查看会话", Code: "session.view", Type: "api", GroupName: "session", Method: "ANY", APIPath: "/api/dashboard/session/list", SortNo: 310}
|
||||
PermissionSessionRevoke = Permission{Name: "踢除会话", Code: "session.revoke", Type: "api", GroupName: "session", Method: "POST", APIPath: "/api/dashboard/session/revoke", SortNo: 320}
|
||||
|
||||
// 客服会话相关权限
|
||||
PermissionConversationView = Permission{Name: "查看会话", Code: "conversation.view", Type: "api", GroupName: "conversation", Method: "ANY", APIPath: "/api/console/conversation/list", SortNo: 410}
|
||||
PermissionConversationAssign = Permission{Name: "分配会话", Code: "conversation.assign", Type: "api", GroupName: "conversation", Method: "POST", APIPath: "/api/console/conversation/assign", SortNo: 430}
|
||||
PermissionConversationTransfer = Permission{Name: "转接会话", Code: "conversation.transfer", Type: "api", GroupName: "conversation", Method: "POST", APIPath: "/api/console/conversation/transfer", SortNo: 440}
|
||||
PermissionConversationClose = Permission{Name: "关闭会话", Code: "conversation.close", Type: "api", GroupName: "conversation", Method: "POST", APIPath: "/api/console/conversation/close", SortNo: 450}
|
||||
PermissionConversationSend = Permission{Name: "发送会话消息", Code: "conversation.send", Type: "api", GroupName: "conversation", Method: "POST", APIPath: "/api/console/conversation/send_message", SortNo: 460}
|
||||
PermissionConversationTag = Permission{Name: "管理会话标签", Code: "conversation.tag", Type: "api", GroupName: "conversation", Method: "POST", APIPath: "/api/console/conversation/add_tag", SortNo: 470}
|
||||
PermissionConversationHandover = Permission{Name: "处理会话交接", Code: "conversation.handover", Type: "api", GroupName: "conversation", Method: "ANY", APIPath: "/api/console/conversation/handover_list", SortNo: 480}
|
||||
PermissionConversationRecycle = Permission{Name: "回收会话", Code: "conversation.recycle", Type: "api", GroupName: "conversation", Method: "POST", APIPath: "/api/console/conversation/recycle", SortNo: 490}
|
||||
PermissionConversationLinkCustomer = Permission{Name: "关联会话客户", Code: "conversation.linkCustomer", Type: "api", GroupName: "conversation", Method: "POST", APIPath: "/api/console/conversation/link_customer", SortNo: 495}
|
||||
PermissionConversationView = Permission{Name: "查看会话", Code: "conversation.view", Type: "api", GroupName: "conversation", Method: "ANY", APIPath: "/api/dashboard/conversation/list", SortNo: 410}
|
||||
PermissionConversationAssign = Permission{Name: "分配会话", Code: "conversation.assign", Type: "api", GroupName: "conversation", Method: "POST", APIPath: "/api/dashboard/conversation/assign", SortNo: 430}
|
||||
PermissionConversationTransfer = Permission{Name: "转接会话", Code: "conversation.transfer", Type: "api", GroupName: "conversation", Method: "POST", APIPath: "/api/dashboard/conversation/transfer", SortNo: 440}
|
||||
PermissionConversationClose = Permission{Name: "关闭会话", Code: "conversation.close", Type: "api", GroupName: "conversation", Method: "POST", APIPath: "/api/dashboard/conversation/close", SortNo: 450}
|
||||
PermissionConversationSend = Permission{Name: "发送会话消息", Code: "conversation.send", Type: "api", GroupName: "conversation", Method: "POST", APIPath: "/api/dashboard/conversation/send_message", SortNo: 460}
|
||||
PermissionConversationTag = Permission{Name: "管理会话标签", Code: "conversation.tag", Type: "api", GroupName: "conversation", Method: "POST", APIPath: "/api/dashboard/conversation/add_tag", SortNo: 470}
|
||||
PermissionConversationHandover = Permission{Name: "处理会话交接", Code: "conversation.handover", Type: "api", GroupName: "conversation", Method: "ANY", APIPath: "/api/dashboard/conversation/handover_list", SortNo: 480}
|
||||
PermissionConversationRecycle = Permission{Name: "回收会话", Code: "conversation.recycle", Type: "api", GroupName: "conversation", Method: "POST", APIPath: "/api/dashboard/conversation/recycle", SortNo: 490}
|
||||
PermissionConversationLinkCustomer = Permission{Name: "关联会话客户", Code: "conversation.linkCustomer", Type: "api", GroupName: "conversation", Method: "POST", APIPath: "/api/dashboard/conversation/link_customer", SortNo: 495}
|
||||
|
||||
// 工单相关权限
|
||||
PermissionTicketView = Permission{Name: "查看工单", Code: "ticket.view", Type: "api", GroupName: "ticket", Method: "ANY", APIPath: "/api/console/ticket/list", SortNo: 500}
|
||||
PermissionTicketCreate = Permission{Name: "创建工单", Code: "ticket.create", Type: "api", GroupName: "ticket", Method: "POST", APIPath: "/api/console/ticket/create", SortNo: 510}
|
||||
PermissionTicketUpdate = Permission{Name: "更新工单", Code: "ticket.update", Type: "api", GroupName: "ticket", Method: "POST", APIPath: "/api/console/ticket/update", SortNo: 520}
|
||||
PermissionTicketAssign = Permission{Name: "指派工单", Code: "ticket.assign", Type: "api", GroupName: "ticket", Method: "POST", APIPath: "/api/console/ticket/assign", SortNo: 530}
|
||||
PermissionTicketChangeStatus = Permission{Name: "变更工单状态", Code: "ticket.changeStatus", Type: "api", GroupName: "ticket", Method: "POST", APIPath: "/api/console/ticket/change_status", SortNo: 540}
|
||||
PermissionTicketReply = Permission{Name: "回复工单", Code: "ticket.reply", Type: "api", GroupName: "ticket", Method: "POST", APIPath: "/api/console/ticket/reply", SortNo: 550}
|
||||
PermissionTicketClose = Permission{Name: "关闭工单", Code: "ticket.close", Type: "api", GroupName: "ticket", Method: "POST", APIPath: "/api/console/ticket/close", SortNo: 560}
|
||||
PermissionTicketReopen = Permission{Name: "重开工单", Code: "ticket.reopen", Type: "api", GroupName: "ticket", Method: "POST", APIPath: "/api/console/ticket/reopen", SortNo: 570}
|
||||
PermissionTicketResolutionCodeView = Permission{Name: "查看工单解决码", Code: "ticketResolutionCode.view", Type: "api", GroupName: "ticketResolutionCode", Method: "ANY", APIPath: "/api/console/ticket-resolution-code/list", SortNo: 580}
|
||||
PermissionTicketResolutionCodeCreate = Permission{Name: "创建工单解决码", Code: "ticketResolutionCode.create", Type: "api", GroupName: "ticketResolutionCode", Method: "POST", APIPath: "/api/console/ticket-resolution-code/create", SortNo: 590}
|
||||
PermissionTicketResolutionCodeUpdate = Permission{Name: "更新工单解决码", Code: "ticketResolutionCode.update", Type: "api", GroupName: "ticketResolutionCode", Method: "POST", APIPath: "/api/console/ticket-resolution-code/update", SortNo: 600}
|
||||
PermissionTicketResolutionCodeDelete = Permission{Name: "删除工单解决码", Code: "ticketResolutionCode.delete", Type: "api", GroupName: "ticketResolutionCode", Method: "POST", APIPath: "/api/console/ticket-resolution-code/delete", SortNo: 610}
|
||||
PermissionTicketPriorityConfigView = Permission{Name: "查看工单优先级", Code: "ticketPriorityConfig.view", Type: "api", GroupName: "ticketPriorityConfig", Method: "ANY", APIPath: "/api/console/ticket-priority-config/list", SortNo: 620}
|
||||
PermissionTicketPriorityConfigCreate = Permission{Name: "创建工单优先级", Code: "ticketPriorityConfig.create", Type: "api", GroupName: "ticketPriorityConfig", Method: "POST", APIPath: "/api/console/ticket-priority-config/create", SortNo: 630}
|
||||
PermissionTicketPriorityConfigUpdate = Permission{Name: "更新工单优先级", Code: "ticketPriorityConfig.update", Type: "api", GroupName: "ticketPriorityConfig", Method: "POST", APIPath: "/api/console/ticket-priority-config/update", SortNo: 640}
|
||||
PermissionTicketPriorityConfigDelete = Permission{Name: "删除工单优先级", Code: "ticketPriorityConfig.delete", Type: "api", GroupName: "ticketPriorityConfig", Method: "POST", APIPath: "/api/console/ticket-priority-config/delete", SortNo: 650}
|
||||
PermissionTicketView = Permission{Name: "查看工单", Code: "ticket.view", Type: "api", GroupName: "ticket", Method: "ANY", APIPath: "/api/dashboard/ticket/list", SortNo: 500}
|
||||
PermissionTicketCreate = Permission{Name: "创建工单", Code: "ticket.create", Type: "api", GroupName: "ticket", Method: "POST", APIPath: "/api/dashboard/ticket/create", SortNo: 510}
|
||||
PermissionTicketUpdate = Permission{Name: "更新工单", Code: "ticket.update", Type: "api", GroupName: "ticket", Method: "POST", APIPath: "/api/dashboard/ticket/update", SortNo: 520}
|
||||
PermissionTicketAssign = Permission{Name: "指派工单", Code: "ticket.assign", Type: "api", GroupName: "ticket", Method: "POST", APIPath: "/api/dashboard/ticket/assign", SortNo: 530}
|
||||
PermissionTicketChangeStatus = Permission{Name: "变更工单状态", Code: "ticket.changeStatus", Type: "api", GroupName: "ticket", Method: "POST", APIPath: "/api/dashboard/ticket/change_status", SortNo: 540}
|
||||
PermissionTicketReply = Permission{Name: "回复工单", Code: "ticket.reply", Type: "api", GroupName: "ticket", Method: "POST", APIPath: "/api/dashboard/ticket/reply", SortNo: 550}
|
||||
PermissionTicketClose = Permission{Name: "关闭工单", Code: "ticket.close", Type: "api", GroupName: "ticket", Method: "POST", APIPath: "/api/dashboard/ticket/close", SortNo: 560}
|
||||
PermissionTicketReopen = Permission{Name: "重开工单", Code: "ticket.reopen", Type: "api", GroupName: "ticket", Method: "POST", APIPath: "/api/dashboard/ticket/reopen", SortNo: 570}
|
||||
PermissionTicketResolutionCodeView = Permission{Name: "查看工单解决码", Code: "ticketResolutionCode.view", Type: "api", GroupName: "ticketResolutionCode", Method: "ANY", APIPath: "/api/dashboard/ticket-resolution-code/list", SortNo: 580}
|
||||
PermissionTicketResolutionCodeCreate = Permission{Name: "创建工单解决码", Code: "ticketResolutionCode.create", Type: "api", GroupName: "ticketResolutionCode", Method: "POST", APIPath: "/api/dashboard/ticket-resolution-code/create", SortNo: 590}
|
||||
PermissionTicketResolutionCodeUpdate = Permission{Name: "更新工单解决码", Code: "ticketResolutionCode.update", Type: "api", GroupName: "ticketResolutionCode", Method: "POST", APIPath: "/api/dashboard/ticket-resolution-code/update", SortNo: 600}
|
||||
PermissionTicketResolutionCodeDelete = Permission{Name: "删除工单解决码", Code: "ticketResolutionCode.delete", Type: "api", GroupName: "ticketResolutionCode", Method: "POST", APIPath: "/api/dashboard/ticket-resolution-code/delete", SortNo: 610}
|
||||
PermissionTicketPriorityConfigView = Permission{Name: "查看工单优先级", Code: "ticketPriorityConfig.view", Type: "api", GroupName: "ticketPriorityConfig", Method: "ANY", APIPath: "/api/dashboard/ticket-priority-config/list", SortNo: 620}
|
||||
PermissionTicketPriorityConfigCreate = Permission{Name: "创建工单优先级", Code: "ticketPriorityConfig.create", Type: "api", GroupName: "ticketPriorityConfig", Method: "POST", APIPath: "/api/dashboard/ticket-priority-config/create", SortNo: 630}
|
||||
PermissionTicketPriorityConfigUpdate = Permission{Name: "更新工单优先级", Code: "ticketPriorityConfig.update", Type: "api", GroupName: "ticketPriorityConfig", Method: "POST", APIPath: "/api/dashboard/ticket-priority-config/update", SortNo: 640}
|
||||
PermissionTicketPriorityConfigDelete = Permission{Name: "删除工单优先级", Code: "ticketPriorityConfig.delete", Type: "api", GroupName: "ticketPriorityConfig", Method: "POST", APIPath: "/api/dashboard/ticket-priority-config/delete", SortNo: 650}
|
||||
|
||||
// 快捷回复相关权限
|
||||
PermissionQuickReplyView = Permission{Name: "查看快捷回复", Code: "quickReply.view", Type: "api", GroupName: "quickReply", Method: "ANY", APIPath: "/api/console/quick-reply/list", SortNo: 610}
|
||||
PermissionQuickReplyCreate = Permission{Name: "创建快捷回复", Code: "quickReply.create", Type: "api", GroupName: "quickReply", Method: "POST", APIPath: "/api/console/quick-reply/create", SortNo: 620}
|
||||
PermissionQuickReplyUpdate = Permission{Name: "更新快捷回复", Code: "quickReply.update", Type: "api", GroupName: "quickReply", Method: "POST", APIPath: "/api/console/quick-reply/update", SortNo: 630}
|
||||
PermissionQuickReplyDelete = Permission{Name: "删除快捷回复", Code: "quickReply.delete", Type: "api", GroupName: "quickReply", Method: "POST", APIPath: "/api/console/quick-reply/delete", SortNo: 640}
|
||||
PermissionQuickReplyView = Permission{Name: "查看快捷回复", Code: "quickReply.view", Type: "api", GroupName: "quickReply", Method: "ANY", APIPath: "/api/dashboard/quick-reply/list", SortNo: 610}
|
||||
PermissionQuickReplyCreate = Permission{Name: "创建快捷回复", Code: "quickReply.create", Type: "api", GroupName: "quickReply", Method: "POST", APIPath: "/api/dashboard/quick-reply/create", SortNo: 620}
|
||||
PermissionQuickReplyUpdate = Permission{Name: "更新快捷回复", Code: "quickReply.update", Type: "api", GroupName: "quickReply", Method: "POST", APIPath: "/api/dashboard/quick-reply/update", SortNo: 630}
|
||||
PermissionQuickReplyDelete = Permission{Name: "删除快捷回复", Code: "quickReply.delete", Type: "api", GroupName: "quickReply", Method: "POST", APIPath: "/api/dashboard/quick-reply/delete", SortNo: 640}
|
||||
|
||||
// 标签相关权限
|
||||
PermissionTagView = Permission{Name: "查看标签", Code: "tag.view", Type: "api", GroupName: "tag", Method: "ANY", APIPath: "/api/console/tag/list", SortNo: 550}
|
||||
PermissionTagCreate = Permission{Name: "创建标签", Code: "tag.create", Type: "api", GroupName: "tag", Method: "POST", APIPath: "/api/console/tag/create", SortNo: 560}
|
||||
PermissionTagUpdate = Permission{Name: "更新标签", Code: "tag.update", Type: "api", GroupName: "tag", Method: "POST", APIPath: "/api/console/tag/update", SortNo: 570}
|
||||
PermissionTagDelete = Permission{Name: "删除标签", Code: "tag.delete", Type: "api", GroupName: "tag", Method: "POST", APIPath: "/api/console/tag/delete", SortNo: 580}
|
||||
PermissionTagView = Permission{Name: "查看标签", Code: "tag.view", Type: "api", GroupName: "tag", Method: "ANY", APIPath: "/api/dashboard/tag/list", SortNo: 550}
|
||||
PermissionTagCreate = Permission{Name: "创建标签", Code: "tag.create", Type: "api", GroupName: "tag", Method: "POST", APIPath: "/api/dashboard/tag/create", SortNo: 560}
|
||||
PermissionTagUpdate = Permission{Name: "更新标签", Code: "tag.update", Type: "api", GroupName: "tag", Method: "POST", APIPath: "/api/dashboard/tag/update", SortNo: 570}
|
||||
PermissionTagDelete = Permission{Name: "删除标签", Code: "tag.delete", Type: "api", GroupName: "tag", Method: "POST", APIPath: "/api/dashboard/tag/delete", SortNo: 580}
|
||||
|
||||
// 公司相关权限
|
||||
PermissionCompanyView = Permission{Name: "查看公司", Code: "company.view", Type: "api", GroupName: "company", Method: "ANY", APIPath: "/api/console/company/list", SortNo: 590}
|
||||
PermissionCompanyCreate = Permission{Name: "创建公司", Code: "company.create", Type: "api", GroupName: "company", Method: "POST", APIPath: "/api/console/company/create", SortNo: 600}
|
||||
PermissionCompanyUpdate = Permission{Name: "更新公司", Code: "company.update", Type: "api", GroupName: "company", Method: "POST", APIPath: "/api/console/company/update", SortNo: 610}
|
||||
PermissionCompanyDelete = Permission{Name: "删除公司", Code: "company.delete", Type: "api", GroupName: "company", Method: "POST", APIPath: "/api/console/company/delete", SortNo: 620}
|
||||
PermissionCompanyView = Permission{Name: "查看公司", Code: "company.view", Type: "api", GroupName: "company", Method: "ANY", APIPath: "/api/dashboard/company/list", SortNo: 590}
|
||||
PermissionCompanyCreate = Permission{Name: "创建公司", Code: "company.create", Type: "api", GroupName: "company", Method: "POST", APIPath: "/api/dashboard/company/create", SortNo: 600}
|
||||
PermissionCompanyUpdate = Permission{Name: "更新公司", Code: "company.update", Type: "api", GroupName: "company", Method: "POST", APIPath: "/api/dashboard/company/update", SortNo: 610}
|
||||
PermissionCompanyDelete = Permission{Name: "删除公司", Code: "company.delete", Type: "api", GroupName: "company", Method: "POST", APIPath: "/api/dashboard/company/delete", SortNo: 620}
|
||||
|
||||
// 接入渠道相关权限
|
||||
PermissionChannelView = Permission{Name: "查看接入渠道", Code: "channel.view", Type: "api", GroupName: "channel", Method: "ANY", APIPath: "/api/console/channel/list", SortNo: 625}
|
||||
PermissionChannelCreate = Permission{Name: "创建接入渠道", Code: "channel.create", Type: "api", GroupName: "channel", Method: "POST", APIPath: "/api/console/channel/create", SortNo: 626}
|
||||
PermissionChannelUpdate = Permission{Name: "更新接入渠道", Code: "channel.update", Type: "api", GroupName: "channel", Method: "POST", APIPath: "/api/console/channel/update", SortNo: 627}
|
||||
PermissionChannelDelete = Permission{Name: "删除接入渠道", Code: "channel.delete", Type: "api", GroupName: "channel", Method: "POST", APIPath: "/api/console/channel/delete", SortNo: 628}
|
||||
PermissionChannelView = Permission{Name: "查看接入渠道", Code: "channel.view", Type: "api", GroupName: "channel", Method: "ANY", APIPath: "/api/dashboard/channel/list", SortNo: 625}
|
||||
PermissionChannelCreate = Permission{Name: "创建接入渠道", Code: "channel.create", Type: "api", GroupName: "channel", Method: "POST", APIPath: "/api/dashboard/channel/create", SortNo: 626}
|
||||
PermissionChannelUpdate = Permission{Name: "更新接入渠道", Code: "channel.update", Type: "api", GroupName: "channel", Method: "POST", APIPath: "/api/dashboard/channel/update", SortNo: 627}
|
||||
PermissionChannelDelete = Permission{Name: "删除接入渠道", Code: "channel.delete", Type: "api", GroupName: "channel", Method: "POST", APIPath: "/api/dashboard/channel/delete", SortNo: 628}
|
||||
|
||||
// 客户相关权限
|
||||
PermissionCustomerView = Permission{Name: "查看客户", Code: "customer.view", Type: "api", GroupName: "customer", Method: "POST", APIPath: "/api/console/customer/list", SortNo: 630}
|
||||
PermissionCustomerCreate = Permission{Name: "创建客户", Code: "customer.create", Type: "api", GroupName: "customer", Method: "POST", APIPath: "/api/console/customer/create", SortNo: 640}
|
||||
PermissionCustomerUpdate = Permission{Name: "更新客户", Code: "customer.update", Type: "api", GroupName: "customer", Method: "POST", APIPath: "/api/console/customer/update", SortNo: 650}
|
||||
PermissionCustomerDelete = Permission{Name: "删除客户", Code: "customer.delete", Type: "api", GroupName: "customer", Method: "POST", APIPath: "/api/console/customer/delete", SortNo: 660}
|
||||
PermissionCustomerView = Permission{Name: "查看客户", Code: "customer.view", Type: "api", GroupName: "customer", Method: "POST", APIPath: "/api/dashboard/customer/list", SortNo: 630}
|
||||
PermissionCustomerCreate = Permission{Name: "创建客户", Code: "customer.create", Type: "api", GroupName: "customer", Method: "POST", APIPath: "/api/dashboard/customer/create", SortNo: 640}
|
||||
PermissionCustomerUpdate = Permission{Name: "更新客户", Code: "customer.update", Type: "api", GroupName: "customer", Method: "POST", APIPath: "/api/dashboard/customer/update", SortNo: 650}
|
||||
PermissionCustomerDelete = Permission{Name: "删除客户", Code: "customer.delete", Type: "api", GroupName: "customer", Method: "POST", APIPath: "/api/dashboard/customer/delete", SortNo: 660}
|
||||
|
||||
// 客服相关权限
|
||||
PermissionAgentView = Permission{Name: "查看客服", Code: "agent.view", Type: "api", GroupName: "agent", Method: "ANY", APIPath: "/api/console/agent/list", SortNo: 610}
|
||||
PermissionAgentCreate = Permission{Name: "创建客服", Code: "agent.create", Type: "api", GroupName: "agent", Method: "POST", APIPath: "/api/console/agent/create", SortNo: 620}
|
||||
PermissionAgentUpdate = Permission{Name: "更新客服", Code: "agent.update", Type: "api", GroupName: "agent", Method: "POST", APIPath: "/api/console/agent/update", SortNo: 630}
|
||||
PermissionAgentDelete = Permission{Name: "删除客服", Code: "agent.delete", Type: "api", GroupName: "agent", Method: "POST", APIPath: "/api/console/agent/delete", SortNo: 640}
|
||||
PermissionAgentUpdateStatus = Permission{Name: "更新客服状态", Code: "agent.updateStatus", Type: "api", GroupName: "agent", Method: "POST", APIPath: "/api/console/agent/update_status", SortNo: 650}
|
||||
PermissionAgentConfig = Permission{Name: "配置客服服务规则", Code: "agent.config", Type: "api", GroupName: "agent", Method: "POST", APIPath: "/api/console/agent/update_service_config", SortNo: 660}
|
||||
PermissionAgentView = Permission{Name: "查看客服", Code: "agent.view", Type: "api", GroupName: "agent", Method: "ANY", APIPath: "/api/dashboard/agent/list", SortNo: 610}
|
||||
PermissionAgentCreate = Permission{Name: "创建客服", Code: "agent.create", Type: "api", GroupName: "agent", Method: "POST", APIPath: "/api/dashboard/agent/create", SortNo: 620}
|
||||
PermissionAgentUpdate = Permission{Name: "更新客服", Code: "agent.update", Type: "api", GroupName: "agent", Method: "POST", APIPath: "/api/dashboard/agent/update", SortNo: 630}
|
||||
PermissionAgentDelete = Permission{Name: "删除客服", Code: "agent.delete", Type: "api", GroupName: "agent", Method: "POST", APIPath: "/api/dashboard/agent/delete", SortNo: 640}
|
||||
PermissionAgentUpdateStatus = Permission{Name: "更新客服状态", Code: "agent.updateStatus", Type: "api", GroupName: "agent", Method: "POST", APIPath: "/api/dashboard/agent/update_status", SortNo: 650}
|
||||
PermissionAgentConfig = Permission{Name: "配置客服服务规则", Code: "agent.config", Type: "api", GroupName: "agent", Method: "POST", APIPath: "/api/dashboard/agent/update_service_config", SortNo: 660}
|
||||
|
||||
// 客服组相关权限
|
||||
PermissionAgentTeamView = Permission{Name: "查看客服组", Code: "agentTeam.view", Type: "api", GroupName: "agentTeam", Method: "ANY", APIPath: "/api/console/agent-team/list", SortNo: 710}
|
||||
PermissionAgentTeamCreate = Permission{Name: "创建客服组", Code: "agentTeam.create", Type: "api", GroupName: "agentTeam", Method: "POST", APIPath: "/api/console/agent-team/create", SortNo: 720}
|
||||
PermissionAgentTeamUpdate = Permission{Name: "更新客服组", Code: "agentTeam.update", Type: "api", GroupName: "agentTeam", Method: "POST", APIPath: "/api/console/agent-team/update", SortNo: 730}
|
||||
PermissionAgentTeamDelete = Permission{Name: "删除客服组", Code: "agentTeam.delete", Type: "api", GroupName: "agentTeam", Method: "POST", APIPath: "/api/console/agent-team/delete", SortNo: 740}
|
||||
PermissionAgentTeamView = Permission{Name: "查看客服组", Code: "agentTeam.view", Type: "api", GroupName: "agentTeam", Method: "ANY", APIPath: "/api/dashboard/agent-team/list", SortNo: 710}
|
||||
PermissionAgentTeamCreate = Permission{Name: "创建客服组", Code: "agentTeam.create", Type: "api", GroupName: "agentTeam", Method: "POST", APIPath: "/api/dashboard/agent-team/create", SortNo: 720}
|
||||
PermissionAgentTeamUpdate = Permission{Name: "更新客服组", Code: "agentTeam.update", Type: "api", GroupName: "agentTeam", Method: "POST", APIPath: "/api/dashboard/agent-team/update", SortNo: 730}
|
||||
PermissionAgentTeamDelete = Permission{Name: "删除客服组", Code: "agentTeam.delete", Type: "api", GroupName: "agentTeam", Method: "POST", APIPath: "/api/dashboard/agent-team/delete", SortNo: 740}
|
||||
|
||||
// 客服组排班相关权限
|
||||
PermissionAgentTeamScheduleView = Permission{Name: "查看客服组排班", Code: "agentTeamSchedule.view", Type: "api", GroupName: "agentTeamSchedule", Method: "ANY", APIPath: "/api/console/agent-team-schedule/list", SortNo: 810}
|
||||
PermissionAgentTeamScheduleCreate = Permission{Name: "创建客服组排班", Code: "agentTeamSchedule.create", Type: "api", GroupName: "agentTeamSchedule", Method: "POST", APIPath: "/api/console/agent-team-schedule/create", SortNo: 820}
|
||||
PermissionAgentTeamScheduleUpdate = Permission{Name: "更新客服组排班", Code: "agentTeamSchedule.update", Type: "api", GroupName: "agentTeamSchedule", Method: "POST", APIPath: "/api/console/agent-team-schedule/update", SortNo: 830}
|
||||
PermissionAgentTeamScheduleDelete = Permission{Name: "删除客服组排班", Code: "agentTeamSchedule.delete", Type: "api", GroupName: "agentTeamSchedule", Method: "POST", APIPath: "/api/console/agent-team-schedule/delete", SortNo: 840}
|
||||
PermissionAgentTeamScheduleBatchGenerate = Permission{Name: "批量生成客服组排班", Code: "agentTeamSchedule.batchGenerate", Type: "api", GroupName: "agentTeamSchedule", Method: "POST", APIPath: "/api/console/agent-team-schedule/batch_generate", SortNo: 850}
|
||||
PermissionAgentTeamScheduleView = Permission{Name: "查看客服组排班", Code: "agentTeamSchedule.view", Type: "api", GroupName: "agentTeamSchedule", Method: "ANY", APIPath: "/api/dashboard/agent-team-schedule/list", SortNo: 810}
|
||||
PermissionAgentTeamScheduleCreate = Permission{Name: "创建客服组排班", Code: "agentTeamSchedule.create", Type: "api", GroupName: "agentTeamSchedule", Method: "POST", APIPath: "/api/dashboard/agent-team-schedule/create", SortNo: 820}
|
||||
PermissionAgentTeamScheduleUpdate = Permission{Name: "更新客服组排班", Code: "agentTeamSchedule.update", Type: "api", GroupName: "agentTeamSchedule", Method: "POST", APIPath: "/api/dashboard/agent-team-schedule/update", SortNo: 830}
|
||||
PermissionAgentTeamScheduleDelete = Permission{Name: "删除客服组排班", Code: "agentTeamSchedule.delete", Type: "api", GroupName: "agentTeamSchedule", Method: "POST", APIPath: "/api/dashboard/agent-team-schedule/delete", SortNo: 840}
|
||||
PermissionAgentTeamScheduleBatchGenerate = Permission{Name: "批量生成客服组排班", Code: "agentTeamSchedule.batchGenerate", Type: "api", GroupName: "agentTeamSchedule", Method: "POST", APIPath: "/api/dashboard/agent-team-schedule/batch_generate", SortNo: 850}
|
||||
|
||||
// 文件资源相关权限
|
||||
PermissionAssetView = Permission{Name: "查看文件资源", Code: "asset.view", Type: "api", GroupName: "asset", Method: "ANY", APIPath: "/api/console/asset/list", SortNo: 1210}
|
||||
PermissionAssetCreate = Permission{Name: "上传文件资源", Code: "asset.create", Type: "api", GroupName: "asset", Method: "POST", APIPath: "/api/console/asset/create", SortNo: 1220}
|
||||
PermissionAssetDelete = Permission{Name: "删除文件资源", Code: "asset.delete", Type: "api", GroupName: "asset", Method: "POST", APIPath: "/api/console/asset/delete", SortNo: 1230}
|
||||
PermissionAssetView = Permission{Name: "查看文件资源", Code: "asset.view", Type: "api", GroupName: "asset", Method: "ANY", APIPath: "/api/dashboard/asset/list", SortNo: 1210}
|
||||
PermissionAssetCreate = Permission{Name: "上传文件资源", Code: "asset.create", Type: "api", GroupName: "asset", Method: "POST", APIPath: "/api/dashboard/asset/create", SortNo: 1220}
|
||||
PermissionAssetDelete = Permission{Name: "删除文件资源", Code: "asset.delete", Type: "api", GroupName: "asset", Method: "POST", APIPath: "/api/dashboard/asset/delete", SortNo: 1230}
|
||||
|
||||
// AI 配置相关权限
|
||||
PermissionAIConfigView = Permission{Name: "查看 AI 配置", Code: "aiConfig.view", Type: "api", GroupName: "aiConfig", Method: "ANY", APIPath: "/api/console/ai-config/list", SortNo: 1390}
|
||||
PermissionAIConfigCreate = Permission{Name: "创建 AI 配置", Code: "aiConfig.create", Type: "api", GroupName: "aiConfig", Method: "POST", APIPath: "/api/console/ai-config/create", SortNo: 1400}
|
||||
PermissionAIConfigUpdate = Permission{Name: "更新 AI 配置", Code: "aiConfig.update", Type: "api", GroupName: "aiConfig", Method: "POST", APIPath: "/api/console/ai-config/update", SortNo: 1410}
|
||||
PermissionAIConfigDelete = Permission{Name: "删除 AI 配置", Code: "aiConfig.delete", Type: "api", GroupName: "aiConfig", Method: "POST", APIPath: "/api/console/ai-config/delete", SortNo: 1420}
|
||||
PermissionAIConfigView = Permission{Name: "查看 AI 配置", Code: "aiConfig.view", Type: "api", GroupName: "aiConfig", Method: "ANY", APIPath: "/api/dashboard/ai-config/list", SortNo: 1390}
|
||||
PermissionAIConfigCreate = Permission{Name: "创建 AI 配置", Code: "aiConfig.create", Type: "api", GroupName: "aiConfig", Method: "POST", APIPath: "/api/dashboard/ai-config/create", SortNo: 1400}
|
||||
PermissionAIConfigUpdate = Permission{Name: "更新 AI 配置", Code: "aiConfig.update", Type: "api", GroupName: "aiConfig", Method: "POST", APIPath: "/api/dashboard/ai-config/update", SortNo: 1410}
|
||||
PermissionAIConfigDelete = Permission{Name: "删除 AI 配置", Code: "aiConfig.delete", Type: "api", GroupName: "aiConfig", Method: "POST", APIPath: "/api/dashboard/ai-config/delete", SortNo: 1420}
|
||||
|
||||
// 知识库相关权限
|
||||
PermissionKnowledgeBaseView = Permission{Name: "查看知识库", Code: "knowledgeBase.view", Type: "api", GroupName: "knowledgeBase", Method: "ANY", APIPath: "/api/console/knowledge-base/list", SortNo: 1410}
|
||||
PermissionKnowledgeBaseCreate = Permission{Name: "创建知识库", Code: "knowledgeBase.create", Type: "api", GroupName: "knowledgeBase", Method: "POST", APIPath: "/api/console/knowledge-base/create", SortNo: 1420}
|
||||
PermissionKnowledgeBaseUpdate = Permission{Name: "更新知识库", Code: "knowledgeBase.update", Type: "api", GroupName: "knowledgeBase", Method: "POST", APIPath: "/api/console/knowledge-base/update", SortNo: 1430}
|
||||
PermissionKnowledgeBaseDelete = Permission{Name: "删除知识库", Code: "knowledgeBase.delete", Type: "api", GroupName: "knowledgeBase", Method: "POST", APIPath: "/api/console/knowledge-base/delete", SortNo: 1440}
|
||||
PermissionKnowledgeBaseView = Permission{Name: "查看知识库", Code: "knowledgeBase.view", Type: "api", GroupName: "knowledgeBase", Method: "ANY", APIPath: "/api/dashboard/knowledge-base/list", SortNo: 1410}
|
||||
PermissionKnowledgeBaseCreate = Permission{Name: "创建知识库", Code: "knowledgeBase.create", Type: "api", GroupName: "knowledgeBase", Method: "POST", APIPath: "/api/dashboard/knowledge-base/create", SortNo: 1420}
|
||||
PermissionKnowledgeBaseUpdate = Permission{Name: "更新知识库", Code: "knowledgeBase.update", Type: "api", GroupName: "knowledgeBase", Method: "POST", APIPath: "/api/dashboard/knowledge-base/update", SortNo: 1430}
|
||||
PermissionKnowledgeBaseDelete = Permission{Name: "删除知识库", Code: "knowledgeBase.delete", Type: "api", GroupName: "knowledgeBase", Method: "POST", APIPath: "/api/dashboard/knowledge-base/delete", SortNo: 1440}
|
||||
|
||||
// 知识文档相关权限
|
||||
PermissionKnowledgeDocumentView = Permission{Name: "查看知识文档", Code: "knowledgeDocument.view", Type: "api", GroupName: "knowledgeDocument", Method: "ANY", APIPath: "/api/console/knowledge-document/list", SortNo: 1510}
|
||||
PermissionKnowledgeDocumentCreate = Permission{Name: "创建知识文档", Code: "knowledgeDocument.create", Type: "api", GroupName: "knowledgeDocument", Method: "POST", APIPath: "/api/console/knowledge-document/create", SortNo: 1520}
|
||||
PermissionKnowledgeDocumentUpdate = Permission{Name: "更新知识文档", Code: "knowledgeDocument.update", Type: "api", GroupName: "knowledgeDocument", Method: "POST", APIPath: "/api/console/knowledge-document/update", SortNo: 1530}
|
||||
PermissionKnowledgeDocumentDelete = Permission{Name: "删除知识文档", Code: "knowledgeDocument.delete", Type: "api", GroupName: "knowledgeDocument", Method: "POST", APIPath: "/api/console/knowledge-document/delete", SortNo: 1540}
|
||||
PermissionKnowledgeFAQView = Permission{Name: "查看知识FAQ", Code: "knowledgeFAQ.view", Type: "api", GroupName: "knowledgeFAQ", Method: "ANY", APIPath: "/api/console/knowledge-faq/list", SortNo: 1550}
|
||||
PermissionKnowledgeFAQCreate = Permission{Name: "创建知识FAQ", Code: "knowledgeFAQ.create", Type: "api", GroupName: "knowledgeFAQ", Method: "POST", APIPath: "/api/console/knowledge-faq/create", SortNo: 1560}
|
||||
PermissionKnowledgeFAQUpdate = Permission{Name: "更新知识FAQ", Code: "knowledgeFAQ.update", Type: "api", GroupName: "knowledgeFAQ", Method: "POST", APIPath: "/api/console/knowledge-faq/update", SortNo: 1570}
|
||||
PermissionKnowledgeFAQDelete = Permission{Name: "删除知识FAQ", Code: "knowledgeFAQ.delete", Type: "api", GroupName: "knowledgeFAQ", Method: "POST", APIPath: "/api/console/knowledge-faq/delete", SortNo: 1580}
|
||||
PermissionKnowledgeDocumentView = Permission{Name: "查看知识文档", Code: "knowledgeDocument.view", Type: "api", GroupName: "knowledgeDocument", Method: "ANY", APIPath: "/api/dashboard/knowledge-document/list", SortNo: 1510}
|
||||
PermissionKnowledgeDocumentCreate = Permission{Name: "创建知识文档", Code: "knowledgeDocument.create", Type: "api", GroupName: "knowledgeDocument", Method: "POST", APIPath: "/api/dashboard/knowledge-document/create", SortNo: 1520}
|
||||
PermissionKnowledgeDocumentUpdate = Permission{Name: "更新知识文档", Code: "knowledgeDocument.update", Type: "api", GroupName: "knowledgeDocument", Method: "POST", APIPath: "/api/dashboard/knowledge-document/update", SortNo: 1530}
|
||||
PermissionKnowledgeDocumentDelete = Permission{Name: "删除知识文档", Code: "knowledgeDocument.delete", Type: "api", GroupName: "knowledgeDocument", Method: "POST", APIPath: "/api/dashboard/knowledge-document/delete", SortNo: 1540}
|
||||
PermissionKnowledgeFAQView = Permission{Name: "查看知识FAQ", Code: "knowledgeFAQ.view", Type: "api", GroupName: "knowledgeFAQ", Method: "ANY", APIPath: "/api/dashboard/knowledge-faq/list", SortNo: 1550}
|
||||
PermissionKnowledgeFAQCreate = Permission{Name: "创建知识FAQ", Code: "knowledgeFAQ.create", Type: "api", GroupName: "knowledgeFAQ", Method: "POST", APIPath: "/api/dashboard/knowledge-faq/create", SortNo: 1560}
|
||||
PermissionKnowledgeFAQUpdate = Permission{Name: "更新知识FAQ", Code: "knowledgeFAQ.update", Type: "api", GroupName: "knowledgeFAQ", Method: "POST", APIPath: "/api/dashboard/knowledge-faq/update", SortNo: 1570}
|
||||
PermissionKnowledgeFAQDelete = Permission{Name: "删除知识FAQ", Code: "knowledgeFAQ.delete", Type: "api", GroupName: "knowledgeFAQ", Method: "POST", APIPath: "/api/dashboard/knowledge-faq/delete", SortNo: 1580}
|
||||
|
||||
// Skill 定义相关权限
|
||||
PermissionSkillDefinitionView = Permission{Name: "查看技能定义", Code: "skillDefinition.view", Type: "api", GroupName: "skillDefinition", Method: "ANY", APIPath: "/api/console/skill-definition/list", SortNo: 1610}
|
||||
PermissionSkillDefinitionCreate = Permission{Name: "创建技能定义", Code: "skillDefinition.create", Type: "api", GroupName: "skillDefinition", Method: "POST", APIPath: "/api/console/skill-definition/create", SortNo: 1620}
|
||||
PermissionSkillDefinitionUpdate = Permission{Name: "更新技能定义", Code: "skillDefinition.update", Type: "api", GroupName: "skillDefinition", Method: "POST", APIPath: "/api/console/skill-definition/update", SortNo: 1630}
|
||||
PermissionSkillDefinitionDelete = Permission{Name: "删除技能定义", Code: "skillDefinition.delete", Type: "api", GroupName: "skillDefinition", Method: "POST", APIPath: "/api/console/skill-definition/delete", SortNo: 1640}
|
||||
PermissionSkillDefinitionView = Permission{Name: "查看技能定义", Code: "skillDefinition.view", Type: "api", GroupName: "skillDefinition", Method: "ANY", APIPath: "/api/dashboard/skill-definition/list", SortNo: 1610}
|
||||
PermissionSkillDefinitionCreate = Permission{Name: "创建技能定义", Code: "skillDefinition.create", Type: "api", GroupName: "skillDefinition", Method: "POST", APIPath: "/api/dashboard/skill-definition/create", SortNo: 1620}
|
||||
PermissionSkillDefinitionUpdate = Permission{Name: "更新技能定义", Code: "skillDefinition.update", Type: "api", GroupName: "skillDefinition", Method: "POST", APIPath: "/api/dashboard/skill-definition/update", SortNo: 1630}
|
||||
PermissionSkillDefinitionDelete = Permission{Name: "删除技能定义", Code: "skillDefinition.delete", Type: "api", GroupName: "skillDefinition", Method: "POST", APIPath: "/api/dashboard/skill-definition/delete", SortNo: 1640}
|
||||
|
||||
// MCP 调试相关权限
|
||||
PermissionMCPView = Permission{Name: "查看MCP调试信息", Code: "mcp.view", Type: "api", GroupName: "mcp", Method: "POST", APIPath: "/api/console/mcp/list_tools", SortNo: 1710}
|
||||
PermissionMCPCall = Permission{Name: "调用MCP工具", Code: "mcp.call", Type: "api", GroupName: "mcp", Method: "POST", APIPath: "/api/console/mcp/call_tool", SortNo: 1720}
|
||||
PermissionMCPView = Permission{Name: "查看MCP调试信息", Code: "mcp.view", Type: "api", GroupName: "mcp", Method: "POST", APIPath: "/api/dashboard/mcp/list_tools", SortNo: 1710}
|
||||
PermissionMCPCall = Permission{Name: "调用MCP工具", Code: "mcp.call", Type: "api", GroupName: "mcp", Method: "POST", APIPath: "/api/dashboard/mcp/call_tool", SortNo: 1720}
|
||||
)
|
||||
|
||||
// Permissions 内置权限列表
|
||||
|
||||
@@ -492,7 +492,7 @@ func (s *wsService) resolveTerminalType(ctx iris.Context, role string) string {
|
||||
return terminalType
|
||||
}
|
||||
if role == realtimeRoleAdmin {
|
||||
return "console_web"
|
||||
return "dashboard_web"
|
||||
}
|
||||
return "web"
|
||||
}
|
||||
|
||||
+120
-120
@@ -535,44 +535,44 @@ export function createAdminWebSocketUrl() {
|
||||
const params = new URLSearchParams({
|
||||
accessToken: session.accessToken,
|
||||
})
|
||||
return `${baseUrl}/api/console/ws?${params.toString()}`
|
||||
return `${baseUrl}/api/dashboard/ws?${params.toString()}`
|
||||
}
|
||||
|
||||
export function fetchChannels(
|
||||
query?: Record<string, string | number | undefined>
|
||||
) {
|
||||
return request<PageResult<AdminChannel>>(
|
||||
`/api/console/channel/list${toQueryString(query)}`
|
||||
`/api/dashboard/channel/list${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function fetchChannel(id: number) {
|
||||
return request<AdminChannel>(`/api/console/channel/${id}`)
|
||||
return request<AdminChannel>(`/api/dashboard/channel/${id}`)
|
||||
}
|
||||
|
||||
export function createChannel(payload: CreateAdminChannelPayload) {
|
||||
return request<AdminChannel>("/api/console/channel/create", {
|
||||
return request<AdminChannel>("/api/dashboard/channel/create", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateChannel(payload: UpdateAdminChannelPayload) {
|
||||
return request<void>("/api/console/channel/update", {
|
||||
return request<void>("/api/dashboard/channel/update", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateChannelStatus(id: number, status: number) {
|
||||
return request<void>("/api/console/channel/update_status", {
|
||||
return request<void>("/api/dashboard/channel/update_status", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id, status }),
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteChannel(id: number) {
|
||||
return request<void>("/api/console/channel/delete", {
|
||||
return request<void>("/api/dashboard/channel/delete", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id }),
|
||||
})
|
||||
@@ -582,50 +582,50 @@ export function fetchAIAgents(
|
||||
query?: Record<string, string | number | undefined>
|
||||
) {
|
||||
return request<PageResult<AIAgent>>(
|
||||
`/api/console/ai-agent/list${toQueryString(query)}`
|
||||
`/api/dashboard/ai-agent/list${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function fetchAIAgentsAll(query?: Record<string, string | number | undefined>) {
|
||||
return request<AIAgent[]>(
|
||||
`/api/console/ai-agent/list_all${toQueryString(query)}`
|
||||
`/api/dashboard/ai-agent/list_all${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function fetchAIAgent(id: number) {
|
||||
return request<AIAgent>(`/api/console/ai-agent/${id}`)
|
||||
return request<AIAgent>(`/api/dashboard/ai-agent/${id}`)
|
||||
}
|
||||
|
||||
export function createAIAgent(payload: CreateAIAgentPayload) {
|
||||
return request<AIAgent>("/api/console/ai-agent/create", {
|
||||
return request<AIAgent>("/api/dashboard/ai-agent/create", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateAIAgent(payload: UpdateAIAgentPayload) {
|
||||
return request<void>("/api/console/ai-agent/update", {
|
||||
return request<void>("/api/dashboard/ai-agent/update", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteAIAgent(id: number) {
|
||||
return request<void>("/api/console/ai-agent/delete", {
|
||||
return request<void>("/api/dashboard/ai-agent/delete", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id }),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateAIAgentSort(ids: number[]) {
|
||||
return request<void>("/api/console/ai-agent/update_sort", {
|
||||
return request<void>("/api/dashboard/ai-agent/update_sort", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(ids),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateAIAgentStatus(id: number, status: number) {
|
||||
return request<void>("/api/console/ai-agent/update_status", {
|
||||
return request<void>("/api/dashboard/ai-agent/update_status", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id, status }),
|
||||
})
|
||||
@@ -633,18 +633,18 @@ export function updateAIAgentStatus(id: number, status: number) {
|
||||
|
||||
export function fetchUsers(query?: Record<string, string | number | undefined>) {
|
||||
return request<PageResult<AdminUser>>(
|
||||
`/api/console/user/list${toQueryString(query)}`
|
||||
`/api/dashboard/user/list${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function fetchUsersAll(query?: Record<string, string | number | undefined>) {
|
||||
return request<AdminUser[]>(
|
||||
`/api/console/user/list_all${toQueryString(query)}`
|
||||
`/api/dashboard/user/list_all${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function createUser(payload: CreateAdminUserPayload) {
|
||||
return request<CreateUserResult>("/api/console/user/create", {
|
||||
return request<CreateUserResult>("/api/dashboard/user/create", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({
|
||||
username: payload.username,
|
||||
@@ -659,39 +659,39 @@ export function createUser(payload: CreateAdminUserPayload) {
|
||||
}
|
||||
|
||||
export function updateUser(payload: UpdateAdminUserPayload) {
|
||||
return request<void>("/api/console/user/update", {
|
||||
return request<void>("/api/dashboard/user/update", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchUserDetail(id: number) {
|
||||
return request<AdminUser>(`/api/console/user/${id}`)
|
||||
return request<AdminUser>(`/api/dashboard/user/${id}`)
|
||||
}
|
||||
|
||||
export function updateUserStatus(id: number, status: number) {
|
||||
return request<void>("/api/console/user/update_status", {
|
||||
return request<void>("/api/dashboard/user/update_status", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id, status }),
|
||||
})
|
||||
}
|
||||
|
||||
export function resetUserPassword(userId: number) {
|
||||
return request<ResetPasswordResult>("/api/console/user/reset_password", {
|
||||
return request<ResetPasswordResult>("/api/dashboard/user/reset_password", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ userId }),
|
||||
})
|
||||
}
|
||||
|
||||
export function changeSelfPassword(password: string) {
|
||||
return request<void>("/api/console/user/change_password", {
|
||||
return request<void>("/api/dashboard/user/change_password", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ password }),
|
||||
})
|
||||
}
|
||||
|
||||
export function assignUserRoles(userId: number, roleIds: number[]) {
|
||||
return request<void>("/api/console/user/assign_role", {
|
||||
return request<void>("/api/dashboard/user/assign_role", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ userId, roleIds }),
|
||||
})
|
||||
@@ -699,27 +699,27 @@ export function assignUserRoles(userId: number, roleIds: number[]) {
|
||||
|
||||
export function fetchRoles(query?: Record<string, string | number | undefined>) {
|
||||
return request<PageResult<AdminRole>>(
|
||||
`/api/console/role/list${toQueryString(query)}`
|
||||
`/api/dashboard/role/list${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function fetchRoleListAll() {
|
||||
return request<AdminRole[]>("/api/console/role/list_all")
|
||||
return request<AdminRole[]>("/api/dashboard/role/list_all")
|
||||
}
|
||||
|
||||
export function fetchRoleDetail(id: number) {
|
||||
return request<AdminRole>(`/api/console/role/${id}`)
|
||||
return request<AdminRole>(`/api/dashboard/role/${id}`)
|
||||
}
|
||||
|
||||
export function assignRolePermissions(roleId: number, permissionIds: number[]) {
|
||||
return request<void>("/api/console/role/assign_permission", {
|
||||
return request<void>("/api/dashboard/role/assign_permission", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ roleId, permissionIds }),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateRoleSort(ids: number[]) {
|
||||
return request<void>("/api/console/role/update_sort", {
|
||||
return request<void>("/api/dashboard/role/update_sort", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(ids),
|
||||
})
|
||||
@@ -729,7 +729,7 @@ export function fetchPermissions(
|
||||
query?: Record<string, string | number | undefined>
|
||||
) {
|
||||
return request<PageResult<AdminPermission>>(
|
||||
`/api/console/permission/list${toQueryString(query)}`
|
||||
`/api/dashboard/permission/list${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
@@ -737,19 +737,19 @@ export function fetchConversations(
|
||||
query?: Record<string, string | number | undefined>
|
||||
) {
|
||||
return request<PageResult<AdminConversation>>(
|
||||
`/api/console/conversation/list${toQueryString(query)}`
|
||||
`/api/dashboard/conversation/list${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function fetchConversationDetail(id: number) {
|
||||
return request<AdminConversationDetail>(`/api/console/conversation/${id}`)
|
||||
return request<AdminConversationDetail>(`/api/dashboard/conversation/${id}`)
|
||||
}
|
||||
|
||||
export function fetchConversationMessages(
|
||||
query?: Record<string, string | number | undefined>
|
||||
) {
|
||||
return request<CursorResult<AdminMessage>>(
|
||||
`/api/console/conversation/message_list${toQueryString(query)}`
|
||||
`/api/dashboard/conversation/message_list${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
@@ -758,14 +758,14 @@ export function assignConversation(
|
||||
assigneeId: number,
|
||||
reason: string
|
||||
) {
|
||||
return request<void>("/api/console/conversation/assign", {
|
||||
return request<void>("/api/dashboard/conversation/assign", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ conversationId, assigneeId, reason }),
|
||||
})
|
||||
}
|
||||
|
||||
export function dispatchConversation(conversationId: number) {
|
||||
return request<void>("/api/console/conversation/dispatch", {
|
||||
return request<void>("/api/dashboard/conversation/dispatch", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ conversationId }),
|
||||
})
|
||||
@@ -776,21 +776,21 @@ export function transferConversation(
|
||||
toUserId: number,
|
||||
reason: string
|
||||
) {
|
||||
return request<void>("/api/console/conversation/transfer", {
|
||||
return request<void>("/api/dashboard/conversation/transfer", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ conversationId, toUserId, reason }),
|
||||
})
|
||||
}
|
||||
|
||||
export function closeConversation(conversationId: number, closeReason: string) {
|
||||
return request<void>("/api/console/conversation/close", {
|
||||
return request<void>("/api/dashboard/conversation/close", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ conversationId, closeReason }),
|
||||
})
|
||||
}
|
||||
|
||||
export function markConversationRead(conversationId: number, messageId = 0) {
|
||||
return request<void>("/api/console/conversation/read", {
|
||||
return request<void>("/api/dashboard/conversation/read", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ conversationId, messageId }),
|
||||
})
|
||||
@@ -803,14 +803,14 @@ export function sendConversationMessage(payload: {
|
||||
payload?: string
|
||||
clientMsgId?: string
|
||||
}) {
|
||||
return request<AdminMessage>("/api/console/conversation/send_message", {
|
||||
return request<AdminMessage>("/api/dashboard/conversation/send_message", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function recallConversationMessage(messageId: number) {
|
||||
return request<AdminMessage>("/api/console/conversation/recall_message", {
|
||||
return request<AdminMessage>("/api/dashboard/conversation/recall_message", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ messageId }),
|
||||
})
|
||||
@@ -820,34 +820,34 @@ export function fetchQuickReplies(
|
||||
query?: Record<string, string | number | undefined>
|
||||
) {
|
||||
return request<PageResult<AdminQuickReply>>(
|
||||
`/api/console/quick-reply/list${toQueryString(query)}`
|
||||
`/api/dashboard/quick-reply/list${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function fetchQuickReplyListAll() {
|
||||
return request<AdminQuickReply[]>("/api/console/quick-reply/list_all")
|
||||
return request<AdminQuickReply[]>("/api/dashboard/quick-reply/list_all")
|
||||
}
|
||||
|
||||
export function fetchQuickReply(id: number) {
|
||||
return request<AdminQuickReply>(`/api/console/quick-reply/${id}`)
|
||||
return request<AdminQuickReply>(`/api/dashboard/quick-reply/${id}`)
|
||||
}
|
||||
|
||||
export function createQuickReply(payload: CreateAdminQuickReplyPayload) {
|
||||
return request<AdminQuickReply>("/api/console/quick-reply/create", {
|
||||
return request<AdminQuickReply>("/api/dashboard/quick-reply/create", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateQuickReply(payload: UpdateAdminQuickReplyPayload) {
|
||||
return request<void>("/api/console/quick-reply/update", {
|
||||
return request<void>("/api/dashboard/quick-reply/update", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteQuickReply(id: number) {
|
||||
return request<void>("/api/console/quick-reply/delete", {
|
||||
return request<void>("/api/dashboard/quick-reply/delete", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id }),
|
||||
})
|
||||
@@ -857,7 +857,7 @@ export function fetchSkillDefinitions(
|
||||
query?: Record<string, string | number | undefined>
|
||||
) {
|
||||
return request<PageResult<SkillDefinition>>(
|
||||
`/api/console/skill-definition/list${toQueryString(query)}`
|
||||
`/api/dashboard/skill-definition/list${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
@@ -865,23 +865,23 @@ export function fetchSkillDefinitionsAll(
|
||||
query?: Record<string, string | number | undefined>
|
||||
) {
|
||||
return request<SkillDefinition[]>(
|
||||
`/api/console/skill-definition/list_all${toQueryString(query)}`
|
||||
`/api/dashboard/skill-definition/list_all${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function fetchSkillDefinition(id: number) {
|
||||
return request<SkillDefinition>(`/api/console/skill-definition/${id}`)
|
||||
return request<SkillDefinition>(`/api/dashboard/skill-definition/${id}`)
|
||||
}
|
||||
|
||||
export function createSkillDefinition(payload: CreateSkillDefinitionPayload) {
|
||||
return request<SkillDefinition>("/api/console/skill-definition/create", {
|
||||
return request<SkillDefinition>("/api/dashboard/skill-definition/create", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateSkillDefinition(payload: UpdateSkillDefinitionPayload) {
|
||||
return request<void>("/api/console/skill-definition/update", {
|
||||
return request<void>("/api/dashboard/skill-definition/update", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
@@ -891,62 +891,62 @@ export function fetchAgentRunLogs(
|
||||
query?: Record<string, string | number | undefined>
|
||||
) {
|
||||
return request<PageResult<AgentRunLog>>(
|
||||
`/api/console/agent-run-log/list${toQueryString(query)}`
|
||||
`/api/dashboard/agent-run-log/list${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function fetchAgentRunLog(id: number) {
|
||||
return request<AgentRunLog>(`/api/console/agent-run-log/${id}`)
|
||||
return request<AgentRunLog>(`/api/dashboard/agent-run-log/${id}`)
|
||||
}
|
||||
|
||||
export function updateSkillDefinitionStatus(id: number, status: number) {
|
||||
return request<void>("/api/console/skill-definition/update_status", {
|
||||
return request<void>("/api/dashboard/skill-definition/update_status", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id, status }),
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteSkillDefinition(id: number) {
|
||||
return request<void>("/api/console/skill-definition/delete", {
|
||||
return request<void>("/api/dashboard/skill-definition/delete", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id }),
|
||||
})
|
||||
}
|
||||
|
||||
export function debugRunSkillDefinition(payload: SkillDebugRunPayload) {
|
||||
return request<SkillDebugRunResult>("/api/console/skill-definition/debug_run", {
|
||||
return request<SkillDebugRunResult>("/api/dashboard/skill-definition/debug_run", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function debugResumeSkillDefinition(payload: SkillDebugResumePayload) {
|
||||
return request<SkillDebugRunResult>("/api/console/skill-definition/debug_resume", {
|
||||
return request<SkillDebugRunResult>("/api/dashboard/skill-definition/debug_resume", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function testMCPConnection(serverCode: string) {
|
||||
return request<MCPConnectionResult>("/api/console/mcp/test_connection", {
|
||||
return request<MCPConnectionResult>("/api/dashboard/mcp/test_connection", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ serverCode }),
|
||||
})
|
||||
}
|
||||
|
||||
export function listMCPServers() {
|
||||
return request<MCPServerInfo[]>("/api/console/mcp/list_servers")
|
||||
return request<MCPServerInfo[]>("/api/dashboard/mcp/list_servers")
|
||||
}
|
||||
|
||||
export function listMCPTools(serverCode: string) {
|
||||
return request<MCPToolInfo[]>("/api/console/mcp/list_tools", {
|
||||
return request<MCPToolInfo[]>("/api/dashboard/mcp/list_tools", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ serverCode }),
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchMCPCatalog() {
|
||||
return request<MCPToolCatalogItem[]>("/api/console/mcp/catalog")
|
||||
return request<MCPToolCatalogItem[]>("/api/dashboard/mcp/catalog")
|
||||
}
|
||||
|
||||
export function callMCPTool(payload: {
|
||||
@@ -954,7 +954,7 @@ export function callMCPTool(payload: {
|
||||
toolName: string
|
||||
arguments: Record<string, unknown>
|
||||
}) {
|
||||
return request<MCPToolCallResult>("/api/console/mcp/call_tool", {
|
||||
return request<MCPToolCallResult>("/api/dashboard/mcp/call_tool", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
@@ -964,38 +964,38 @@ export function fetchAgentProfiles(
|
||||
query?: Record<string, string | number | undefined>
|
||||
) {
|
||||
return request<PageResult<AdminAgentProfile>>(
|
||||
`/api/console/agent/list${toQueryString(query)}`
|
||||
`/api/dashboard/agent/list${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function fetchAgentProfile(id: number) {
|
||||
return request<AdminAgentProfile>(`/api/console/agent/${id}`)
|
||||
return request<AdminAgentProfile>(`/api/dashboard/agent/${id}`)
|
||||
}
|
||||
|
||||
export function fetchAgentProfilesAll(
|
||||
query?: Record<string, string | number | undefined>
|
||||
) {
|
||||
return request<AdminAgentProfile[]>(
|
||||
`/api/console/agent/list_all${toQueryString(query)}`
|
||||
`/api/dashboard/agent/list_all${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function createAgentProfile(payload: CreateAdminAgentProfilePayload) {
|
||||
return request<AdminAgentProfile>("/api/console/agent/create", {
|
||||
return request<AdminAgentProfile>("/api/dashboard/agent/create", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateAgentProfile(payload: UpdateAdminAgentProfilePayload) {
|
||||
return request<void>("/api/console/agent/update", {
|
||||
return request<void>("/api/dashboard/agent/update", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteAgentProfile(id: number) {
|
||||
return request<void>("/api/console/agent/delete", {
|
||||
return request<void>("/api/dashboard/agent/delete", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id }),
|
||||
})
|
||||
@@ -1003,36 +1003,36 @@ export function deleteAgentProfile(id: number) {
|
||||
|
||||
export function fetchAgentTeams(query?: Record<string, string | number | undefined>) {
|
||||
return request<AdminAgentTeam[]>(
|
||||
`/api/console/agent-team/list${toQueryString(query)}`
|
||||
`/api/dashboard/agent-team/list${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function fetchAgentTeamsAll() {
|
||||
return request<AdminAgentTeam[]>(
|
||||
`/api/console/agent-team/list_all`
|
||||
`/api/dashboard/agent-team/list_all`
|
||||
)
|
||||
}
|
||||
|
||||
export function fetchAgentTeam(id: number) {
|
||||
return request<AdminAgentTeam>(`/api/console/agent-team/${id}`)
|
||||
return request<AdminAgentTeam>(`/api/dashboard/agent-team/${id}`)
|
||||
}
|
||||
|
||||
export function createAgentTeam(payload: CreateAdminAgentTeamPayload) {
|
||||
return request<AdminAgentTeam>("/api/console/agent-team/create", {
|
||||
return request<AdminAgentTeam>("/api/dashboard/agent-team/create", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateAgentTeam(payload: UpdateAdminAgentTeamPayload) {
|
||||
return request<void>("/api/console/agent-team/update", {
|
||||
return request<void>("/api/dashboard/agent-team/update", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteAgentTeam(id: number) {
|
||||
return request<void>("/api/console/agent-team/delete", {
|
||||
return request<void>("/api/dashboard/agent-team/delete", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id }),
|
||||
})
|
||||
@@ -1042,30 +1042,30 @@ export function fetchAgentTeamSchedules(
|
||||
query?: Record<string, string | number | undefined>
|
||||
) {
|
||||
return request<PageResult<AdminAgentTeamSchedule>>(
|
||||
`/api/console/agent-team-schedule/list${toQueryString(query)}`
|
||||
`/api/dashboard/agent-team-schedule/list${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function fetchAgentTeamSchedule(id: number) {
|
||||
return request<AdminAgentTeamSchedule>(`/api/console/agent-team-schedule/${id}`)
|
||||
return request<AdminAgentTeamSchedule>(`/api/dashboard/agent-team-schedule/${id}`)
|
||||
}
|
||||
|
||||
export function createAgentTeamSchedule(payload: CreateAdminAgentTeamSchedulePayload) {
|
||||
return request<AdminAgentTeamSchedule>("/api/console/agent-team-schedule/create", {
|
||||
return request<AdminAgentTeamSchedule>("/api/dashboard/agent-team-schedule/create", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateAgentTeamSchedule(payload: UpdateAdminAgentTeamSchedulePayload) {
|
||||
return request<void>("/api/console/agent-team-schedule/update", {
|
||||
return request<void>("/api/dashboard/agent-team-schedule/update", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteAgentTeamSchedule(id: number) {
|
||||
return request<void>("/api/console/agent-team-schedule/delete", {
|
||||
return request<void>("/api/dashboard/agent-team-schedule/delete", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id }),
|
||||
})
|
||||
@@ -1116,52 +1116,52 @@ export function fetchAIConfigs(
|
||||
query?: Record<string, string | number | undefined>
|
||||
) {
|
||||
return request<PageResult<AIConfig>>(
|
||||
`/api/console/ai-config/list${toQueryString(query)}`
|
||||
`/api/dashboard/ai-config/list${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function fetchAIConfig(id: number) {
|
||||
return request<AIConfig>(`/api/console/ai-config/${id}`)
|
||||
return request<AIConfig>(`/api/dashboard/ai-config/${id}`)
|
||||
}
|
||||
|
||||
export function fetchAIConfigsAll(
|
||||
query?: Record<string, string | number | undefined>
|
||||
) {
|
||||
return request<AIConfig[]>(
|
||||
`/api/console/ai-config/list_all${toQueryString(query)}`
|
||||
`/api/dashboard/ai-config/list_all${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function createAIConfig(payload: CreateAIConfigPayload) {
|
||||
return request<AIConfig>("/api/console/ai-config/create", {
|
||||
return request<AIConfig>("/api/dashboard/ai-config/create", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateAIConfig(payload: UpdateAIConfigPayload) {
|
||||
return request<void>("/api/console/ai-config/update", {
|
||||
return request<void>("/api/dashboard/ai-config/update", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteAIConfig(id: number) {
|
||||
return request<void>("/api/console/ai-config/delete", {
|
||||
return request<void>("/api/dashboard/ai-config/delete", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id }),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateAIConfigStatus(id: number, status: number) {
|
||||
return request<void>("/api/console/ai-config/update_status", {
|
||||
return request<void>("/api/dashboard/ai-config/update_status", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id, status }),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateAIConfigSort(ids: number[]) {
|
||||
return request<void>("/api/console/ai-config/update_sort", {
|
||||
return request<void>("/api/dashboard/ai-config/update_sort", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(ids),
|
||||
})
|
||||
@@ -1425,7 +1425,7 @@ export function fetchKnowledgeBases(
|
||||
query?: Record<string, string | number | undefined>
|
||||
) {
|
||||
return request<PageResult<KnowledgeBase>>(
|
||||
`/api/console/knowledge-base/list${toQueryString(query)}`
|
||||
`/api/dashboard/knowledge-base/list${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1433,44 +1433,44 @@ export function fetchKnowledgeBasesAll(
|
||||
query?: Record<string, string | number | undefined>
|
||||
) {
|
||||
return request<KnowledgeBase[]>(
|
||||
`/api/console/knowledge-base/list_all${toQueryString(query)}`
|
||||
`/api/dashboard/knowledge-base/list_all${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function fetchKnowledgeBase(id: number) {
|
||||
return request<KnowledgeBase>(`/api/console/knowledge-base/${id}`)
|
||||
return request<KnowledgeBase>(`/api/dashboard/knowledge-base/${id}`)
|
||||
}
|
||||
|
||||
export function createKnowledgeBase(payload: CreateKnowledgeBasePayload) {
|
||||
return request<KnowledgeBase>("/api/console/knowledge-base/create", {
|
||||
return request<KnowledgeBase>("/api/dashboard/knowledge-base/create", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateKnowledgeBase(payload: UpdateKnowledgeBasePayload) {
|
||||
return request<void>("/api/console/knowledge-base/update", {
|
||||
return request<void>("/api/dashboard/knowledge-base/update", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteKnowledgeBase(id: number) {
|
||||
return request<void>("/api/console/knowledge-base/delete", {
|
||||
return request<void>("/api/dashboard/knowledge-base/delete", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id }),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateKnowledgeBaseSort(ids: number[]) {
|
||||
return request<void>("/api/console/knowledge-base/update_sort", {
|
||||
return request<void>("/api/dashboard/knowledge-base/update_sort", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(ids),
|
||||
})
|
||||
}
|
||||
|
||||
export function rebuildKnowledgeBaseIndex(id: number) {
|
||||
return request<void>("/api/console/knowledge-base/rebuild_index", {
|
||||
return request<void>("/api/dashboard/knowledge-base/rebuild_index", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id }),
|
||||
})
|
||||
@@ -1480,37 +1480,37 @@ export function fetchKnowledgeDocuments(
|
||||
query?: Record<string, string | number | undefined>
|
||||
) {
|
||||
return request<PageResult<KnowledgeDocument>>(
|
||||
`/api/console/knowledge-document/list${toQueryString(query)}`
|
||||
`/api/dashboard/knowledge-document/list${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function fetchKnowledgeDocument(id: number) {
|
||||
return request<KnowledgeDocument>(`/api/console/knowledge-document/${id}`)
|
||||
return request<KnowledgeDocument>(`/api/dashboard/knowledge-document/${id}`)
|
||||
}
|
||||
|
||||
export function createKnowledgeDocument(payload: CreateKnowledgeDocumentPayload) {
|
||||
return request<KnowledgeDocument>("/api/console/knowledge-document/create", {
|
||||
return request<KnowledgeDocument>("/api/dashboard/knowledge-document/create", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateKnowledgeDocument(payload: UpdateKnowledgeDocumentPayload) {
|
||||
return request<void>("/api/console/knowledge-document/update", {
|
||||
return request<void>("/api/dashboard/knowledge-document/update", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteKnowledgeDocument(id: number) {
|
||||
return request<void>("/api/console/knowledge-document/delete", {
|
||||
return request<void>("/api/dashboard/knowledge-document/delete", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id }),
|
||||
})
|
||||
}
|
||||
|
||||
export function buildKnowledgeDocumentIndex(documentId: number) {
|
||||
return request<void>("/api/console/knowledge-retrieve/build", {
|
||||
return request<void>("/api/dashboard/knowledge-retrieve/build", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ documentId }),
|
||||
})
|
||||
@@ -1520,51 +1520,51 @@ export function fetchKnowledgeFAQs(
|
||||
query?: Record<string, string | number | undefined>
|
||||
) {
|
||||
return request<PageResult<KnowledgeFAQ>>(
|
||||
`/api/console/knowledge-faq/list${toQueryString(query)}`
|
||||
`/api/dashboard/knowledge-faq/list${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function fetchKnowledgeFAQ(id: number) {
|
||||
return request<KnowledgeFAQ>(`/api/console/knowledge-faq/${id}`)
|
||||
return request<KnowledgeFAQ>(`/api/dashboard/knowledge-faq/${id}`)
|
||||
}
|
||||
|
||||
export function createKnowledgeFAQ(payload: CreateKnowledgeFAQPayload) {
|
||||
return request<KnowledgeFAQ>("/api/console/knowledge-faq/create", {
|
||||
return request<KnowledgeFAQ>("/api/dashboard/knowledge-faq/create", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateKnowledgeFAQ(payload: UpdateKnowledgeFAQPayload) {
|
||||
return request<void>("/api/console/knowledge-faq/update", {
|
||||
return request<void>("/api/dashboard/knowledge-faq/update", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteKnowledgeFAQ(id: number) {
|
||||
return request<void>("/api/console/knowledge-faq/delete", {
|
||||
return request<void>("/api/dashboard/knowledge-faq/delete", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id }),
|
||||
})
|
||||
}
|
||||
|
||||
export function buildKnowledgeFAQIndex(faqId: number) {
|
||||
return request<void>("/api/console/knowledge-retrieve/build", {
|
||||
return request<void>("/api/dashboard/knowledge-retrieve/build", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ faqId }),
|
||||
})
|
||||
}
|
||||
|
||||
export function debugKnowledgeSearch(payload: KnowledgeSearchPayload) {
|
||||
return request<KnowledgeSearchResponse>("/api/console/knowledge-retrieve/debug/search", {
|
||||
return request<KnowledgeSearchResponse>("/api/dashboard/knowledge-retrieve/debug/search", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function debugKnowledgeAnswer(payload: KnowledgeAnswerPayload) {
|
||||
return request<KnowledgeAnswerResponse>("/api/console/knowledge-retrieve/debug/answer", {
|
||||
return request<KnowledgeAnswerResponse>("/api/dashboard/knowledge-retrieve/debug/answer", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
@@ -1572,12 +1572,12 @@ export function debugKnowledgeAnswer(payload: KnowledgeAnswerPayload) {
|
||||
|
||||
export function fetchKnowledgeRetrieveLogs(query: KnowledgeRetrieveLogListQuery) {
|
||||
return request<PageResult<KnowledgeRetrieveLog>>(
|
||||
`/api/console/knowledge-retrieve-log/list${toQueryString(query)}`
|
||||
`/api/dashboard/knowledge-retrieve-log/list${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function fetchKnowledgeRetrieveLog(id: number) {
|
||||
return request<KnowledgeRetrieveLogDetail>(`/api/console/knowledge-retrieve-log/${id}`)
|
||||
return request<KnowledgeRetrieveLogDetail>(`/api/dashboard/knowledge-retrieve-log/${id}`)
|
||||
}
|
||||
|
||||
export type AdminAsset = {
|
||||
@@ -1603,7 +1603,7 @@ export function uploadAsset(file: File, prefix?: string) {
|
||||
if (prefix) {
|
||||
formData.set("prefix", prefix)
|
||||
}
|
||||
return request<AdminAsset>("/api/console/asset/create", {
|
||||
return request<AdminAsset>("/api/dashboard/asset/create", {
|
||||
method: "POST",
|
||||
body: formData,
|
||||
})
|
||||
@@ -1645,48 +1645,48 @@ export type UpdateTagPayload = CreateTagPayload & {
|
||||
|
||||
export function fetchTags(query?: Record<string, string | number | undefined>) {
|
||||
return request<PageResult<Tag>>(
|
||||
`/api/console/tag/list${toQueryString(query)}`
|
||||
`/api/dashboard/tag/list${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function fetchTagsAll() {
|
||||
return request<TagTree[]>("/api/console/tag/list_all")
|
||||
return request<TagTree[]>("/api/dashboard/tag/list_all")
|
||||
}
|
||||
|
||||
export function fetchTag(id: number) {
|
||||
return request<Tag>(`/api/console/tag/${id}`)
|
||||
return request<Tag>(`/api/dashboard/tag/${id}`)
|
||||
}
|
||||
|
||||
export function createTag(payload: CreateTagPayload) {
|
||||
return request<Tag>("/api/console/tag/create", {
|
||||
return request<Tag>("/api/dashboard/tag/create", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateTag(payload: UpdateTagPayload) {
|
||||
return request<void>("/api/console/tag/update", {
|
||||
return request<void>("/api/dashboard/tag/update", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteTag(id: number) {
|
||||
return request<void>("/api/console/tag/delete", {
|
||||
return request<void>("/api/dashboard/tag/delete", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id }),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateTagSort(ids: number[]) {
|
||||
return request<void>("/api/console/tag/update_sort", {
|
||||
return request<void>("/api/dashboard/tag/update_sort", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(ids),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateTagStatus(id: number, status: number) {
|
||||
return request<void>("/api/console/tag/update_status", {
|
||||
return request<void>("/api/dashboard/tag/update_status", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id, status }),
|
||||
})
|
||||
|
||||
+15
-15
@@ -129,19 +129,19 @@ export function fetchAgentConversations(
|
||||
query?: Record<string, string | number | undefined>
|
||||
) {
|
||||
return request<PageResult<AgentConversation>>(
|
||||
`/api/console/conversation/conversations${toQueryString(query)}`
|
||||
`/api/dashboard/conversation/conversations${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function fetchAgentConversationDetail(id: number) {
|
||||
return request<AgentConversationDetail>(`/api/console/conversation/${id}`)
|
||||
return request<AgentConversationDetail>(`/api/dashboard/conversation/${id}`)
|
||||
}
|
||||
|
||||
export function fetchAgentMessages(
|
||||
query?: Record<string, string | number | undefined>
|
||||
) {
|
||||
return request<CursorResult<AgentMessage>>(
|
||||
`/api/console/conversation/message_list${toQueryString(query)}`
|
||||
`/api/dashboard/conversation/message_list${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
@@ -152,21 +152,21 @@ export function sendAgentMessage(payload: {
|
||||
payload?: string
|
||||
clientMsgId?: string
|
||||
}) {
|
||||
return request<AgentMessage>("/api/console/conversation/send_message", {
|
||||
return request<AgentMessage>("/api/dashboard/conversation/send_message", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function recallAgentMessage(messageId: number) {
|
||||
return request<AgentMessage>("/api/console/conversation/recall_message", {
|
||||
return request<AgentMessage>("/api/dashboard/conversation/recall_message", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ messageId }),
|
||||
})
|
||||
}
|
||||
|
||||
export function markAgentMessageRead(conversationId: number, messageId = 0) {
|
||||
return request<void>("/api/console/conversation/read", {
|
||||
return request<void>("/api/dashboard/conversation/read", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ conversationId, messageId }),
|
||||
})
|
||||
@@ -176,7 +176,7 @@ export function uploadAgentConversationImage(conversationId: number, file: File)
|
||||
const formData = new FormData()
|
||||
formData.set("conversationId", String(conversationId))
|
||||
formData.set("file", file)
|
||||
return request<AgentAsset>("/api/console/conversation/upload_image", {
|
||||
return request<AgentAsset>("/api/dashboard/conversation/upload_image", {
|
||||
method: "POST",
|
||||
body: formData,
|
||||
})
|
||||
@@ -186,7 +186,7 @@ export function uploadAgentConversationAttachment(conversationId: number, file:
|
||||
const formData = new FormData()
|
||||
formData.set("conversationId", String(conversationId))
|
||||
formData.set("file", file)
|
||||
return request<AgentAsset>("/api/console/conversation/upload_attachment", {
|
||||
return request<AgentAsset>("/api/dashboard/conversation/upload_attachment", {
|
||||
method: "POST",
|
||||
body: formData,
|
||||
})
|
||||
@@ -196,7 +196,7 @@ export function closeAgentConversation(
|
||||
conversationId: number,
|
||||
closeReason: string
|
||||
) {
|
||||
return request<void>("/api/console/conversation/close", {
|
||||
return request<void>("/api/dashboard/conversation/close", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ conversationId, closeReason }),
|
||||
})
|
||||
@@ -207,7 +207,7 @@ export function assignAgentConversation(
|
||||
assigneeId: number,
|
||||
reason: string
|
||||
) {
|
||||
return request<void>("/api/console/conversation/assign", {
|
||||
return request<void>("/api/dashboard/conversation/assign", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ conversationId, assigneeId, reason }),
|
||||
})
|
||||
@@ -218,7 +218,7 @@ export function transferAgentConversation(
|
||||
toUserId: number,
|
||||
reason: string
|
||||
) {
|
||||
return request<void>("/api/console/conversation/transfer", {
|
||||
return request<void>("/api/dashboard/conversation/transfer", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ conversationId, toUserId, reason }),
|
||||
})
|
||||
@@ -228,7 +228,7 @@ export function linkConversationToCustomer(payload: {
|
||||
conversationId: number
|
||||
customerId: number
|
||||
}) {
|
||||
return request<void>("/api/console/conversation/link_customer", {
|
||||
return request<void>("/api/dashboard/conversation/link_customer", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
@@ -238,7 +238,7 @@ export function addConversationTag(payload: {
|
||||
conversationId: number
|
||||
tagId: number
|
||||
}) {
|
||||
return request<void>("/api/console/conversation/add_tag", {
|
||||
return request<void>("/api/dashboard/conversation/add_tag", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
@@ -248,7 +248,7 @@ export function removeConversationTag(payload: {
|
||||
conversationId: number
|
||||
tagId: number
|
||||
}) {
|
||||
return request<void>("/api/console/conversation/remove_tag", {
|
||||
return request<void>("/api/dashboard/conversation/remove_tag", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
@@ -264,5 +264,5 @@ export function createAgentWebSocketUrl() {
|
||||
const params = new URLSearchParams({
|
||||
accessToken: session.accessToken,
|
||||
})
|
||||
return `${baseUrl}/api/console/ws?${params.toString()}`
|
||||
return `${baseUrl}/api/dashboard/ws?${params.toString()}`
|
||||
}
|
||||
|
||||
@@ -39,37 +39,37 @@ function toQueryString(query?: Record<string, string | number | undefined>) {
|
||||
|
||||
export function fetchCompanies(query?: Record<string, string | number | undefined>) {
|
||||
return request<PageResult<AdminCompany>>(
|
||||
`/api/console/company/list${toQueryString(query)}`
|
||||
`/api/dashboard/company/list${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function fetchCompany(id: number) {
|
||||
return request<AdminCompany>(`/api/console/company/${id}`)
|
||||
return request<AdminCompany>(`/api/dashboard/company/${id}`)
|
||||
}
|
||||
|
||||
export function createCompany(payload: CreateAdminCompanyPayload) {
|
||||
return request<AdminCompany>("/api/console/company/create", {
|
||||
return request<AdminCompany>("/api/dashboard/company/create", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateCompany(payload: UpdateAdminCompanyPayload) {
|
||||
return request<void>("/api/console/company/update", {
|
||||
return request<void>("/api/dashboard/company/update", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateCompanyStatus(id: number, status: number) {
|
||||
return request<void>("/api/console/company/update_status", {
|
||||
return request<void>("/api/dashboard/company/update_status", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id, status }),
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteCompany(id: number) {
|
||||
return request<void>("/api/console/company/delete", {
|
||||
return request<void>("/api/dashboard/company/delete", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id }),
|
||||
})
|
||||
|
||||
@@ -51,26 +51,26 @@ function toQueryString(query?: Record<string, string | number | undefined>) {
|
||||
|
||||
export function fetchCustomerContacts(customerId: number) {
|
||||
return request<AdminCustomerContact[]>(
|
||||
`/api/console/customer-contact/list${toQueryString({ customerId })}`
|
||||
`/api/dashboard/customer-contact/list${toQueryString({ customerId })}`
|
||||
)
|
||||
}
|
||||
|
||||
export function createCustomerContact(payload: CreateCustomerContactPayload) {
|
||||
return request<AdminCustomerContact>("/api/console/customer-contact/create", {
|
||||
return request<AdminCustomerContact>("/api/dashboard/customer-contact/create", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateCustomerContact(payload: UpdateCustomerContactPayload) {
|
||||
return request<void>("/api/console/customer-contact/update", {
|
||||
return request<void>("/api/dashboard/customer-contact/update", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteCustomerContact(id: number) {
|
||||
return request<void>("/api/console/customer-contact/delete", {
|
||||
return request<void>("/api/dashboard/customer-contact/delete", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id }),
|
||||
})
|
||||
|
||||
@@ -61,18 +61,18 @@ export type CustomerListRequest = {
|
||||
}
|
||||
|
||||
export function fetchCustomers(body: CustomerListRequest) {
|
||||
return request<PageResult<AdminCustomer>>("/api/console/customer/list", {
|
||||
return request<PageResult<AdminCustomer>>("/api/dashboard/customer/list", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(body),
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchCustomer(id: number) {
|
||||
return request<AdminCustomer | null>(`/api/console/customer/${id}`)
|
||||
return request<AdminCustomer | null>(`/api/dashboard/customer/${id}`)
|
||||
}
|
||||
|
||||
export function createCustomer(payload: CreateAdminCustomerPayload) {
|
||||
return request<AdminCustomer>("/api/console/customer/create", {
|
||||
return request<AdminCustomer>("/api/dashboard/customer/create", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
@@ -80,28 +80,28 @@ export function createCustomer(payload: CreateAdminCustomerPayload) {
|
||||
|
||||
/** 单请求 + 单事务保存客户主信息与联系方式全量 */
|
||||
export function saveCustomerProfile(payload: SaveCustomerProfilePayload) {
|
||||
return request<AdminCustomer>("/api/console/customer/save_profile", {
|
||||
return request<AdminCustomer>("/api/dashboard/customer/save_profile", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateCustomer(payload: UpdateAdminCustomerPayload) {
|
||||
return request<void>("/api/console/customer/update", {
|
||||
return request<void>("/api/dashboard/customer/update", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateCustomerStatus(id: number, status: number) {
|
||||
return request<void>("/api/console/customer/update_status", {
|
||||
return request<void>("/api/dashboard/customer/update_status", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id, status }),
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteCustomer(id: number) {
|
||||
return request<void>("/api/console/customer/delete", {
|
||||
return request<void>("/api/dashboard/customer/delete", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id }),
|
||||
})
|
||||
|
||||
@@ -77,5 +77,5 @@ export type DashboardOverview = {
|
||||
}
|
||||
|
||||
export function fetchDashboardOverview(range: DashboardRange) {
|
||||
return request<DashboardOverview>(`/api/console/dashboard/overview?range=${range}`)
|
||||
return request<DashboardOverview>(`/api/dashboard/dashboard/overview?range=${range}`)
|
||||
}
|
||||
|
||||
@@ -71,30 +71,30 @@ function toQueryString(query?: Record<string, string | number | undefined>) {
|
||||
|
||||
export function fetchTicketResolutionCodes(query?: Record<string, string | number | undefined>) {
|
||||
return request<PageResult<TicketResolutionCode>>(
|
||||
`/api/console/ticket-resolution-code/list${toQueryString(query)}`
|
||||
`/api/dashboard/ticket-resolution-code/list${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function fetchTicketResolutionCodesAll() {
|
||||
return request<TicketResolutionCode[]>("/api/console/ticket-resolution-code/list_all")
|
||||
return request<TicketResolutionCode[]>("/api/dashboard/ticket-resolution-code/list_all")
|
||||
}
|
||||
|
||||
export function createTicketResolutionCode(payload: CreateTicketResolutionCodePayload) {
|
||||
return request<TicketResolutionCode>("/api/console/ticket-resolution-code/create", {
|
||||
return request<TicketResolutionCode>("/api/dashboard/ticket-resolution-code/create", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateTicketResolutionCode(payload: UpdateTicketResolutionCodePayload) {
|
||||
return request<void>("/api/console/ticket-resolution-code/update", {
|
||||
return request<void>("/api/dashboard/ticket-resolution-code/update", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteTicketResolutionCode(id: number) {
|
||||
return request<void>("/api/console/ticket-resolution-code/delete", {
|
||||
return request<void>("/api/dashboard/ticket-resolution-code/delete", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id }),
|
||||
})
|
||||
@@ -102,37 +102,37 @@ export function deleteTicketResolutionCode(id: number) {
|
||||
|
||||
export function fetchTicketPriorityConfigs(query?: Record<string, string | number | undefined>) {
|
||||
return request<TicketPriorityConfig[]>(
|
||||
`/api/console/ticket-priority-config/list${toQueryString(query)}`
|
||||
`/api/dashboard/ticket-priority-config/list${toQueryString(query)}`
|
||||
)
|
||||
}
|
||||
|
||||
export function fetchTicketPriorityConfigsAll() {
|
||||
return request<TicketPriorityConfig[]>("/api/console/ticket-priority-config/list_all")
|
||||
return request<TicketPriorityConfig[]>("/api/dashboard/ticket-priority-config/list_all")
|
||||
}
|
||||
|
||||
export function createTicketPriorityConfig(payload: CreateTicketPriorityConfigPayload) {
|
||||
return request<TicketPriorityConfig>("/api/console/ticket-priority-config/create", {
|
||||
return request<TicketPriorityConfig>("/api/dashboard/ticket-priority-config/create", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateTicketPriorityConfig(payload: UpdateTicketPriorityConfigPayload) {
|
||||
return request<void>("/api/console/ticket-priority-config/update", {
|
||||
return request<void>("/api/dashboard/ticket-priority-config/update", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateTicketPriorityConfigSort(ids: number[]) {
|
||||
return request<void>("/api/console/ticket-priority-config/update_sort", {
|
||||
return request<void>("/api/dashboard/ticket-priority-config/update_sort", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(ids),
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteTicketPriorityConfig(id: number) {
|
||||
return request<void>("/api/console/ticket-priority-config/delete", {
|
||||
return request<void>("/api/dashboard/ticket-priority-config/delete", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id }),
|
||||
})
|
||||
|
||||
+27
-27
@@ -265,19 +265,19 @@ function toQueryString(query?: Record<string, string | number | undefined>) {
|
||||
}
|
||||
|
||||
export function fetchTickets(query?: TicketListQuery) {
|
||||
return request<PageResult<TicketItem>>(`/api/console/ticket/list${toQueryString(query)}`)
|
||||
return request<PageResult<TicketItem>>(`/api/dashboard/ticket/list${toQueryString(query)}`)
|
||||
}
|
||||
|
||||
export function fetchTicketDetail(id: number) {
|
||||
return request<TicketDetail>(`/api/console/ticket/${id}`)
|
||||
return request<TicketDetail>(`/api/dashboard/ticket/${id}`)
|
||||
}
|
||||
|
||||
export function fetchTicketSummary() {
|
||||
return request<TicketSummary>("/api/console/ticket/summary")
|
||||
return request<TicketSummary>("/api/dashboard/ticket/summary")
|
||||
}
|
||||
|
||||
export function fetchTicketViews() {
|
||||
return request<TicketSavedView[]>("/api/console/ticket/view_list")
|
||||
return request<TicketSavedView[]>("/api/dashboard/ticket/view_list")
|
||||
}
|
||||
|
||||
export function saveTicketView(payload: {
|
||||
@@ -285,14 +285,14 @@ export function saveTicketView(payload: {
|
||||
name: string
|
||||
filters?: Record<string, unknown>
|
||||
}) {
|
||||
return request<TicketSavedView>("/api/console/ticket/save_view", {
|
||||
return request<TicketSavedView>("/api/dashboard/ticket/save_view", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteTicketView(id: number) {
|
||||
return request<void>("/api/console/ticket/delete_view", {
|
||||
return request<void>("/api/dashboard/ticket/delete_view", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ id }),
|
||||
})
|
||||
@@ -302,29 +302,29 @@ export function fetchTicketRiskOverview(query?: {
|
||||
currentTeamId?: number
|
||||
riskWindowMins?: number
|
||||
}) {
|
||||
return request<TicketRiskOverview>(`/api/console/ticket/risk_overview${toQueryString(query)}`)
|
||||
return request<TicketRiskOverview>(`/api/dashboard/ticket/risk_overview${toQueryString(query)}`)
|
||||
}
|
||||
|
||||
export function fetchTicketRiskList(query: TicketRiskListQuery) {
|
||||
return request<PageResult<TicketItem>>(`/api/console/ticket/risk_list${toQueryString(query)}`)
|
||||
return request<PageResult<TicketItem>>(`/api/dashboard/ticket/risk_list${toQueryString(query)}`)
|
||||
}
|
||||
|
||||
export function createTicket(payload: CreateTicketPayload) {
|
||||
return request<TicketItem>("/api/console/ticket/create", {
|
||||
return request<TicketItem>("/api/dashboard/ticket/create", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function createTicketFromConversation(payload: CreateTicketFromConversationPayload) {
|
||||
return request<TicketItem>("/api/console/ticket/create_from_conversation", {
|
||||
return request<TicketItem>("/api/dashboard/ticket/create_from_conversation", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function updateTicket(payload: UpdateTicketPayload) {
|
||||
return request<void>("/api/console/ticket/update", {
|
||||
return request<void>("/api/dashboard/ticket/update", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
@@ -334,7 +334,7 @@ export function linkTicketToCustomer(payload: {
|
||||
ticketId: number
|
||||
customerId: number
|
||||
}) {
|
||||
return request<void>("/api/console/ticket/link_customer", {
|
||||
return request<void>("/api/dashboard/ticket/link_customer", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
@@ -346,7 +346,7 @@ export function assignTicket(payload: {
|
||||
toTeamId?: number
|
||||
reason?: string
|
||||
}) {
|
||||
return request<void>("/api/console/ticket/assign", {
|
||||
return request<void>("/api/dashboard/ticket/assign", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
@@ -358,7 +358,7 @@ export function batchAssignTickets(payload: {
|
||||
toTeamId?: number
|
||||
reason?: string
|
||||
}) {
|
||||
return request<void>("/api/console/ticket/batch_assign", {
|
||||
return request<void>("/api/dashboard/ticket/batch_assign", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
@@ -373,7 +373,7 @@ export function changeTicketStatus(payload: {
|
||||
resolutionSummary?: string
|
||||
reason?: string
|
||||
}) {
|
||||
return request<void>("/api/console/ticket/change_status", {
|
||||
return request<void>("/api/dashboard/ticket/change_status", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
@@ -388,7 +388,7 @@ export function batchChangeTicketStatus(payload: {
|
||||
resolutionSummary?: string
|
||||
reason?: string
|
||||
}) {
|
||||
return request<void>("/api/console/ticket/batch_change_status", {
|
||||
return request<void>("/api/dashboard/ticket/batch_change_status", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
@@ -400,7 +400,7 @@ export function replyTicket(payload: {
|
||||
content: string
|
||||
payload?: string
|
||||
}) {
|
||||
return request<TicketComment>("/api/console/ticket/reply", {
|
||||
return request<TicketComment>("/api/dashboard/ticket/reply", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
@@ -412,42 +412,42 @@ export function addTicketInternalNote(payload: {
|
||||
content: string
|
||||
payload?: string
|
||||
}) {
|
||||
return request<TicketComment>("/api/console/ticket/internal_note", {
|
||||
return request<TicketComment>("/api/dashboard/ticket/internal_note", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function closeTicket(payload: { ticketId: number; closeReason: string }) {
|
||||
return request<void>("/api/console/ticket/close", {
|
||||
return request<void>("/api/dashboard/ticket/close", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function reopenTicket(payload: { ticketId: number; reason: string }) {
|
||||
return request<void>("/api/console/ticket/reopen", {
|
||||
return request<void>("/api/dashboard/ticket/reopen", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function watchTicket(ticketId: number) {
|
||||
return request<void>("/api/console/ticket/watch", {
|
||||
return request<void>("/api/dashboard/ticket/watch", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ ticketId }),
|
||||
})
|
||||
}
|
||||
|
||||
export function unwatchTicket(ticketId: number) {
|
||||
return request<void>("/api/console/ticket/unwatch", {
|
||||
return request<void>("/api/dashboard/ticket/unwatch", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ ticketId }),
|
||||
})
|
||||
}
|
||||
|
||||
export function batchWatchTickets(payload: { ticketIds: number[]; watched: boolean }) {
|
||||
return request<void>("/api/console/ticket/batch_watch", {
|
||||
return request<void>("/api/dashboard/ticket/batch_watch", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
@@ -459,28 +459,28 @@ export function addTicketRelation(payload: {
|
||||
relatedTicketNo?: string
|
||||
relationType: string
|
||||
}) {
|
||||
return request<void>("/api/console/ticket/add_relation", {
|
||||
return request<void>("/api/dashboard/ticket/add_relation", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteTicketRelation(payload: { ticketId: number; relationId: number }) {
|
||||
return request<void>("/api/console/ticket/delete_relation", {
|
||||
return request<void>("/api/dashboard/ticket/delete_relation", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function addTicketCollaborator(payload: { ticketId: number; userId: number }) {
|
||||
return request<void>("/api/console/ticket/add_collaborator", {
|
||||
return request<void>("/api/dashboard/ticket/add_collaborator", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteTicketCollaborator(payload: { ticketId: number; collaboratorId: number }) {
|
||||
return request<void>("/api/console/ticket/delete_collaborator", {
|
||||
return request<void>("/api/dashboard/ticket/delete_collaborator", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user