Files
devstar/routers/web/user/setting/devcontainer_list.go
孟宁 75343aca1e !53 整理了devcontainer的部分代码,只是修改了文件目录结构和命名,没有对代码进行本质上的改动
* fixed /api/devcontainer/user
* 修改了models/devcontainer目录下的文件命名
* 整理了devcontainer的部分代码,只是修改了文件目录结构和命名,没有对代码进行本质上的改动
2025-02-17 05:36:49 +00:00

61 lines
1.9 KiB
Go
Raw Permalink 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 setting
import (
"net/http"
"code.gitea.io/gitea/models/db"
"code.gitea.io/gitea/modules/base"
"code.gitea.io/gitea/modules/setting"
gitea_context "code.gitea.io/gitea/services/context"
devcontainer_service "code.gitea.io/gitea/services/devcontainer"
)
const (
tplSettingsDevContainers base.TplName = "user/settings/dev_containers_list"
)
// ListDevContainers 展示用户所有开发容器
func ListDevContainers(ctx *gitea_context.Context) {
// 1. 检查页面是否登录,若未登录则重定向到登录页
ctxUser := ctx.Doer
if ctxUser == nil {
ctx.Redirect(setting.AppSubURL + string(setting.LandingPageLogin))
return
}
// 2. 设置前端展示元数据数据
ctx.Data["Title"] = ctx.Tr("settings.dev_containers_list")
ctx.Data["PageIsSettingsDevContainersList"] = true
// 3. 分页查询
paginationOptions := db.ListOptions{
PageSize: setting.UI.Admin.DevContainersPagingNum, // 参考 app.ini 配置文件 ui.admin.DEV_CONTAINERS_PAGING_NUM默认50
Page: ctx.FormInt("page"), // URL参数起始页码
}
if paginationOptions.Page <= 0 {
paginationOptions.Page = 1
}
opts := &devcontainer_service.SearchUserDevcontainerListItemVoOptions{
PaginationOptions: paginationOptions,
Actor: ctxUser,
}
userDevcontainersListVO, err := devcontainer_service.GetUserDevcontainersList(ctx, opts)
if err != nil {
ctx.ServerError("ListDevContainers", err)
return
}
ctx.Data["DevContainers"] = userDevcontainersListVO.DevContainers
ctx.Data["ContextUser"] = ctxUser
itemTotalNum := userDevcontainersListVO.ItemTotalNum
pageTotalNum := userDevcontainersListVO.PageTotalNum
pageSize := userDevcontainersListVO.PageSize
currentPage := userDevcontainersListVO.Page
pager := gitea_context.NewPagination(int(itemTotalNum), pageSize, currentPage, pageTotalNum)
pager.SetDefaultParams(ctx)
ctx.Data["Page"] = pager
ctx.HTML(http.StatusOK, tplSettingsDevContainers)
return
}