Files
devstar/routers/web/devcontainer/list_user_devcontainers.go
DAI Mingchen 2f5dfd3196 开发容器分页查询:
* 用户设置-> 开发容器列表
* GET /api/devcontainer/user?page=1&page_size=10
2024-08-29 12:53:07 +08:00

55 lines
1.8 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package devcontainer
import (
"code.gitea.io/gitea/models/db"
"code.gitea.io/gitea/modules/setting"
Result "code.gitea.io/gitea/routers/entity"
DevcontainersVO "code.gitea.io/gitea/routers/web/devcontainer/vo"
"code.gitea.io/gitea/services/context"
devstar_devcontainer_service "code.gitea.io/gitea/services/devstar_devcontainer"
)
// ListUserDevcontainers 枚举已登录用户所有的 devContainers但目前测试阶段只返回 mock数据
//
// GET /api/devcontainer/user
// 请求输入参数:
// - page: 当前第几页默认第1页从1开始计数
// - pageSize: 每页记录数(默认值 setting.UI.Admin.DevContainersPagingNum
func ListUserDevcontainers(ctx *context.Context) {
// 1. 检查用户登录状态,若未登录则返回未授权错误
if ctx.Doer == nil {
Result.RespUnauthorizedFailure.RespondJson2HttpResponseWriter(ctx.Resp)
return
}
// 2. 查询数据库 当前登录用户拥有写入权限的仓库
userPage := ctx.FormInt("page")
if userPage <= 0 {
userPage = 1
}
userPageSize := ctx.FormInt("page_size")
if userPageSize <= 0 || userPageSize > setting.UI.Admin.DevContainersPagingNum {
userPageSize = setting.UI.Admin.DevContainersPagingNum
}
opts := &DevcontainersVO.SearchDevcontainerItemVoOptions{
Actor: ctx.Doer,
PaginationOptions: db.ListOptions{
Page: userPage,
PageSize: userPageSize,
},
}
userDevcontainersVO, _ := devstar_devcontainer_service.GetUserDevcontainersList(ctx, opts)
// 3. 封装VO
resultListUserDevcontainersVO := Result.ResultType{
Code: Result.RespSuccess.Code,
Msg: Result.RespSuccess.Msg,
Data: userDevcontainersVO,
}
// 4. JSON序列化写入输出流
responseWriter := ctx.Resp
resultListUserDevcontainersVO.RespondJson2HttpResponseWriter(responseWriter)
}