You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
476 lines
12 KiB
476 lines
12 KiB
// Code generated by goctl. DO NOT EDIT.
|
|
// goctl 1.9.2
|
|
|
|
package handler
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
ai "github.com/youruser/base/internal/handler/ai"
|
|
auth "github.com/youruser/base/internal/handler/auth"
|
|
dashboard "github.com/youruser/base/internal/handler/dashboard"
|
|
file "github.com/youruser/base/internal/handler/file"
|
|
menu "github.com/youruser/base/internal/handler/menu"
|
|
organization "github.com/youruser/base/internal/handler/organization"
|
|
profile "github.com/youruser/base/internal/handler/profile"
|
|
role "github.com/youruser/base/internal/handler/role"
|
|
user "github.com/youruser/base/internal/handler/user"
|
|
"github.com/youruser/base/internal/svc"
|
|
|
|
"github.com/zeromicro/go-zero/rest"
|
|
)
|
|
|
|
func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
|
|
server.AddRoutes(
|
|
rest.WithMiddlewares(
|
|
[]rest.Middleware{serverCtx.Cors, serverCtx.Log, serverCtx.Auth},
|
|
[]rest.Route{
|
|
{
|
|
// AI 对话补全
|
|
Method: http.MethodPost,
|
|
Path: "/ai/chat/completions",
|
|
Handler: ai.AiChatCompletionsHandler(serverCtx),
|
|
},
|
|
{
|
|
// 创建对话
|
|
Method: http.MethodPost,
|
|
Path: "/ai/conversation",
|
|
Handler: ai.AiConversationCreateHandler(serverCtx),
|
|
},
|
|
{
|
|
// 获取对话详情
|
|
Method: http.MethodGet,
|
|
Path: "/ai/conversation/:id",
|
|
Handler: ai.AiConversationGetHandler(serverCtx),
|
|
},
|
|
{
|
|
// 更新对话
|
|
Method: http.MethodPut,
|
|
Path: "/ai/conversation/:id",
|
|
Handler: ai.AiConversationUpdateHandler(serverCtx),
|
|
},
|
|
{
|
|
// 删除对话
|
|
Method: http.MethodDelete,
|
|
Path: "/ai/conversation/:id",
|
|
Handler: ai.AiConversationDeleteHandler(serverCtx),
|
|
},
|
|
{
|
|
// 获取对话列表
|
|
Method: http.MethodGet,
|
|
Path: "/ai/conversations",
|
|
Handler: ai.AiConversationListHandler(serverCtx),
|
|
},
|
|
{
|
|
// 添加API Key
|
|
Method: http.MethodPost,
|
|
Path: "/ai/key",
|
|
Handler: ai.AiApiKeyCreateHandler(serverCtx),
|
|
},
|
|
{
|
|
// 更新API Key
|
|
Method: http.MethodPut,
|
|
Path: "/ai/key/:id",
|
|
Handler: ai.AiApiKeyUpdateHandler(serverCtx),
|
|
},
|
|
{
|
|
// 删除API Key
|
|
Method: http.MethodDelete,
|
|
Path: "/ai/key/:id",
|
|
Handler: ai.AiApiKeyDeleteHandler(serverCtx),
|
|
},
|
|
{
|
|
// 获取我的API Key列表
|
|
Method: http.MethodGet,
|
|
Path: "/ai/keys",
|
|
Handler: ai.AiApiKeyListHandler(serverCtx),
|
|
},
|
|
{
|
|
// 获取模型列表
|
|
Method: http.MethodGet,
|
|
Path: "/ai/models",
|
|
Handler: ai.AiModelListHandler(serverCtx),
|
|
},
|
|
{
|
|
// 获取我的配额
|
|
Method: http.MethodGet,
|
|
Path: "/ai/quota/me",
|
|
Handler: ai.AiQuotaMeHandler(serverCtx),
|
|
},
|
|
}...,
|
|
),
|
|
rest.WithPrefix("/api/v1"),
|
|
)
|
|
|
|
server.AddRoutes(
|
|
rest.WithMiddlewares(
|
|
[]rest.Middleware{serverCtx.Cors, serverCtx.Log, serverCtx.Auth, serverCtx.Authz},
|
|
[]rest.Route{
|
|
{
|
|
// 创建AI模型
|
|
Method: http.MethodPost,
|
|
Path: "/ai/model",
|
|
Handler: ai.AiModelCreateHandler(serverCtx),
|
|
},
|
|
{
|
|
// 更新AI模型
|
|
Method: http.MethodPut,
|
|
Path: "/ai/model/:id",
|
|
Handler: ai.AiModelUpdateHandler(serverCtx),
|
|
},
|
|
{
|
|
// 删除AI模型
|
|
Method: http.MethodDelete,
|
|
Path: "/ai/model/:id",
|
|
Handler: ai.AiModelDeleteHandler(serverCtx),
|
|
},
|
|
{
|
|
// 创建AI平台
|
|
Method: http.MethodPost,
|
|
Path: "/ai/provider",
|
|
Handler: ai.AiProviderCreateHandler(serverCtx),
|
|
},
|
|
{
|
|
// 更新AI平台
|
|
Method: http.MethodPut,
|
|
Path: "/ai/provider/:id",
|
|
Handler: ai.AiProviderUpdateHandler(serverCtx),
|
|
},
|
|
{
|
|
// 删除AI平台
|
|
Method: http.MethodDelete,
|
|
Path: "/ai/provider/:id",
|
|
Handler: ai.AiProviderDeleteHandler(serverCtx),
|
|
},
|
|
{
|
|
// 获取AI平台列表
|
|
Method: http.MethodGet,
|
|
Path: "/ai/providers",
|
|
Handler: ai.AiProviderListHandler(serverCtx),
|
|
},
|
|
}...,
|
|
),
|
|
rest.WithPrefix("/api/v1"),
|
|
)
|
|
|
|
server.AddRoutes(
|
|
rest.WithMiddlewares(
|
|
[]rest.Middleware{serverCtx.Cors, serverCtx.Log},
|
|
[]rest.Route{
|
|
{
|
|
// 用户登录
|
|
Method: http.MethodPost,
|
|
Path: "/login",
|
|
Handler: auth.LoginHandler(serverCtx),
|
|
},
|
|
{
|
|
// 刷新Token
|
|
Method: http.MethodPost,
|
|
Path: "/refresh",
|
|
Handler: auth.RefreshTokenHandler(serverCtx),
|
|
},
|
|
{
|
|
// 用户注册
|
|
Method: http.MethodPost,
|
|
Path: "/register",
|
|
Handler: auth.RegisterHandler(serverCtx),
|
|
},
|
|
}...,
|
|
),
|
|
rest.WithPrefix("/api/v1"),
|
|
)
|
|
|
|
server.AddRoutes(
|
|
rest.WithMiddlewares(
|
|
[]rest.Middleware{serverCtx.Cors, serverCtx.Log, serverCtx.Auth, serverCtx.Authz},
|
|
[]rest.Route{
|
|
{
|
|
// 获取最近活动列表
|
|
Method: http.MethodGet,
|
|
Path: "/dashboard/activities",
|
|
Handler: dashboard.GetRecentActivitiesHandler(serverCtx),
|
|
},
|
|
{
|
|
// 获取仪表盘统计数据
|
|
Method: http.MethodGet,
|
|
Path: "/dashboard/stats",
|
|
Handler: dashboard.GetDashboardStatsHandler(serverCtx),
|
|
},
|
|
}...,
|
|
),
|
|
rest.WithPrefix("/api/v1"),
|
|
)
|
|
|
|
server.AddRoutes(
|
|
rest.WithMiddlewares(
|
|
[]rest.Middleware{serverCtx.Cors, serverCtx.Log, serverCtx.Auth, serverCtx.Authz},
|
|
[]rest.Route{
|
|
{
|
|
// 获取文件详情
|
|
Method: http.MethodGet,
|
|
Path: "/file/:id",
|
|
Handler: file.GetFileHandler(serverCtx),
|
|
},
|
|
{
|
|
// 更新文件信息
|
|
Method: http.MethodPut,
|
|
Path: "/file/:id",
|
|
Handler: file.UpdateFileHandler(serverCtx),
|
|
},
|
|
{
|
|
// 删除文件
|
|
Method: http.MethodDelete,
|
|
Path: "/file/:id",
|
|
Handler: file.DeleteFileHandler(serverCtx),
|
|
},
|
|
{
|
|
// 获取文件访问URL
|
|
Method: http.MethodGet,
|
|
Path: "/file/:id/url",
|
|
Handler: file.GetFileUrlHandler(serverCtx),
|
|
},
|
|
{
|
|
// 上传文件
|
|
Method: http.MethodPost,
|
|
Path: "/file/upload",
|
|
Handler: file.UploadFileHandler(serverCtx),
|
|
},
|
|
{
|
|
// 获取文件列表
|
|
Method: http.MethodGet,
|
|
Path: "/files",
|
|
Handler: file.GetFileListHandler(serverCtx),
|
|
},
|
|
}...,
|
|
),
|
|
rest.WithPrefix("/api/v1"),
|
|
)
|
|
|
|
server.AddRoutes(
|
|
rest.WithMiddlewares(
|
|
[]rest.Middleware{serverCtx.Cors, serverCtx.Log, serverCtx.Auth},
|
|
[]rest.Route{
|
|
{
|
|
// 获取当前用户可见菜单
|
|
Method: http.MethodGet,
|
|
Path: "/menus/current",
|
|
Handler: menu.GetCurrentMenusHandler(serverCtx),
|
|
},
|
|
}...,
|
|
),
|
|
rest.WithPrefix("/api/v1"),
|
|
)
|
|
|
|
server.AddRoutes(
|
|
rest.WithMiddlewares(
|
|
[]rest.Middleware{serverCtx.Cors, serverCtx.Log, serverCtx.Auth, serverCtx.Authz},
|
|
[]rest.Route{
|
|
{
|
|
// 创建菜单
|
|
Method: http.MethodPost,
|
|
Path: "/menu",
|
|
Handler: menu.CreateMenuHandler(serverCtx),
|
|
},
|
|
{
|
|
// 更新菜单
|
|
Method: http.MethodPut,
|
|
Path: "/menu/:id",
|
|
Handler: menu.UpdateMenuHandler(serverCtx),
|
|
},
|
|
{
|
|
// 删除菜单
|
|
Method: http.MethodDelete,
|
|
Path: "/menu/:id",
|
|
Handler: menu.DeleteMenuHandler(serverCtx),
|
|
},
|
|
{
|
|
// 获取全部菜单列表
|
|
Method: http.MethodGet,
|
|
Path: "/menus",
|
|
Handler: menu.GetMenuListHandler(serverCtx),
|
|
},
|
|
}...,
|
|
),
|
|
rest.WithPrefix("/api/v1"),
|
|
)
|
|
|
|
server.AddRoutes(
|
|
rest.WithMiddlewares(
|
|
[]rest.Middleware{serverCtx.Cors, serverCtx.Log, serverCtx.Auth, serverCtx.Authz},
|
|
[]rest.Route{
|
|
{
|
|
// 创建机构
|
|
Method: http.MethodPost,
|
|
Path: "/organization",
|
|
Handler: organization.CreateOrganizationHandler(serverCtx),
|
|
},
|
|
{
|
|
// 更新机构
|
|
Method: http.MethodPut,
|
|
Path: "/organization/:id",
|
|
Handler: organization.UpdateOrganizationHandler(serverCtx),
|
|
},
|
|
{
|
|
// 删除机构
|
|
Method: http.MethodDelete,
|
|
Path: "/organization/:id",
|
|
Handler: organization.DeleteOrganizationHandler(serverCtx),
|
|
},
|
|
{
|
|
// 添加机构成员
|
|
Method: http.MethodPost,
|
|
Path: "/organization/:id/member",
|
|
Handler: organization.AddOrgMemberHandler(serverCtx),
|
|
},
|
|
{
|
|
// 更新机构成员角色
|
|
Method: http.MethodPut,
|
|
Path: "/organization/:id/member/:userId",
|
|
Handler: organization.UpdateOrgMemberHandler(serverCtx),
|
|
},
|
|
{
|
|
// 移除机构成员
|
|
Method: http.MethodDelete,
|
|
Path: "/organization/:id/member/:userId",
|
|
Handler: organization.RemoveOrgMemberHandler(serverCtx),
|
|
},
|
|
{
|
|
// 获取机构成员
|
|
Method: http.MethodGet,
|
|
Path: "/organization/:id/members",
|
|
Handler: organization.GetOrgMembersHandler(serverCtx),
|
|
},
|
|
{
|
|
// 获取机构列表
|
|
Method: http.MethodGet,
|
|
Path: "/organizations",
|
|
Handler: organization.GetOrganizationListHandler(serverCtx),
|
|
},
|
|
}...,
|
|
),
|
|
rest.WithPrefix("/api/v1"),
|
|
)
|
|
|
|
server.AddRoutes(
|
|
rest.WithMiddlewares(
|
|
[]rest.Middleware{serverCtx.Cors, serverCtx.Log, serverCtx.Auth, serverCtx.Authz},
|
|
[]rest.Route{
|
|
{
|
|
// 切换当前机构
|
|
Method: http.MethodPut,
|
|
Path: "/profile/current-org",
|
|
Handler: profile.SwitchOrgHandler(serverCtx),
|
|
},
|
|
{
|
|
// 获取个人信息
|
|
Method: http.MethodGet,
|
|
Path: "/profile/me",
|
|
Handler: profile.GetProfileHandler(serverCtx),
|
|
},
|
|
{
|
|
// 更新个人资料
|
|
Method: http.MethodPut,
|
|
Path: "/profile/me",
|
|
Handler: profile.UpdateProfileHandler(serverCtx),
|
|
},
|
|
{
|
|
// 获取我的机构列表
|
|
Method: http.MethodGet,
|
|
Path: "/profile/orgs",
|
|
Handler: profile.GetUserOrgsHandler(serverCtx),
|
|
},
|
|
{
|
|
// 修改密码
|
|
Method: http.MethodPost,
|
|
Path: "/profile/password",
|
|
Handler: profile.ChangePasswordHandler(serverCtx),
|
|
},
|
|
}...,
|
|
),
|
|
rest.WithPrefix("/api/v1"),
|
|
)
|
|
|
|
server.AddRoutes(
|
|
rest.WithMiddlewares(
|
|
[]rest.Middleware{serverCtx.Cors, serverCtx.Log, serverCtx.Auth, serverCtx.Authz},
|
|
[]rest.Route{
|
|
{
|
|
// 创建角色
|
|
Method: http.MethodPost,
|
|
Path: "/role",
|
|
Handler: role.CreateRoleHandler(serverCtx),
|
|
},
|
|
{
|
|
// 更新角色
|
|
Method: http.MethodPut,
|
|
Path: "/role/:id",
|
|
Handler: role.UpdateRoleHandler(serverCtx),
|
|
},
|
|
{
|
|
// 删除角色
|
|
Method: http.MethodDelete,
|
|
Path: "/role/:id",
|
|
Handler: role.DeleteRoleHandler(serverCtx),
|
|
},
|
|
{
|
|
// 获取角色菜单
|
|
Method: http.MethodGet,
|
|
Path: "/role/:id/menus",
|
|
Handler: role.GetRoleMenusHandler(serverCtx),
|
|
},
|
|
{
|
|
// 设置角色菜单
|
|
Method: http.MethodPut,
|
|
Path: "/role/:id/menus",
|
|
Handler: role.SetRoleMenusHandler(serverCtx),
|
|
},
|
|
{
|
|
// 获取角色列表
|
|
Method: http.MethodGet,
|
|
Path: "/roles",
|
|
Handler: role.GetRoleListHandler(serverCtx),
|
|
},
|
|
}...,
|
|
),
|
|
rest.WithPrefix("/api/v1"),
|
|
)
|
|
|
|
server.AddRoutes(
|
|
rest.WithMiddlewares(
|
|
[]rest.Middleware{serverCtx.Cors, serverCtx.Log, serverCtx.Auth, serverCtx.Authz},
|
|
[]rest.Route{
|
|
{
|
|
// 创建用户
|
|
Method: http.MethodPost,
|
|
Path: "/user",
|
|
Handler: user.CreateUserHandler(serverCtx),
|
|
},
|
|
{
|
|
// 获取用户详情
|
|
Method: http.MethodGet,
|
|
Path: "/user/:id",
|
|
Handler: user.GetUserHandler(serverCtx),
|
|
},
|
|
{
|
|
// 更新用户信息
|
|
Method: http.MethodPut,
|
|
Path: "/user/:id",
|
|
Handler: user.UpdateUserHandler(serverCtx),
|
|
},
|
|
{
|
|
// 删除用户
|
|
Method: http.MethodDelete,
|
|
Path: "/user/:id",
|
|
Handler: user.DeleteUserHandler(serverCtx),
|
|
},
|
|
{
|
|
// 获取用户列表
|
|
Method: http.MethodGet,
|
|
Path: "/users",
|
|
Handler: user.GetUserListHandler(serverCtx),
|
|
},
|
|
}...,
|
|
),
|
|
rest.WithPrefix("/api/v1"),
|
|
)
|
|
}
|
|
|