55 lines
2.4 KiB
Go
55 lines
2.4 KiB
Go
package devstar_devcontainer
|
|
|
|
import (
|
|
"code.gitea.io/gitea/models/db"
|
|
"code.gitea.io/gitea/models/devstar_devcontainer"
|
|
DevcontainersVO "code.gitea.io/gitea/routers/web/devcontainer/vo"
|
|
"context"
|
|
)
|
|
|
|
// GetUserDevcontainerListByUserId 根据 userId 查询名下 devContainer 列表
|
|
func GetUserDevcontainerListByUserId(ctx context.Context, userId int64) ([]DevcontainersVO.DevContainerItemVO, error) {
|
|
|
|
var devcontainerItemVOList []DevcontainersVO.DevContainerItemVO
|
|
/*
|
|
SELECT
|
|
devstar_devcontainer.repo_id AS RepoId,
|
|
repository.name AS RepoName,
|
|
repository.description AS RepoDescription,
|
|
devstar_devcontainer.id AS DevContainerId,
|
|
devstar_devcontainer.name AS DevContainerName,
|
|
devstar_devcontainer.devcontainer_host AS DevContainerHost,
|
|
devstar_devcontainer.devcontainer_port AS DevContainerPort,
|
|
devstar_devcontainer.devcontainer_username AS DevContainerUsername,
|
|
devstar_devcontainer.devcontainer_password AS DevContainerPassword,
|
|
devstar_devcontainer.devcontainer_work_dir AS DevContainerWorkDir
|
|
FROM devstar_devcontainer
|
|
LEFT JOIN repository ON devstar_devcontainer.repo_id = repository.id
|
|
WHERE devstar_devcontainer.repo_id IN (
|
|
SELECT devcontainer_id
|
|
FROM devstar_devcontainer_user
|
|
WHERE user_id = ?
|
|
);
|
|
*/
|
|
err := db.GetEngine(ctx).
|
|
Table("devstar_devcontainer").
|
|
Select("devstar_devcontainer.repo_id AS RepoId, repository.name AS RepoName, repository.description AS RepoDescription, devstar_devcontainer.id AS DevContainerId, devstar_devcontainer.name AS DevContainerName, devstar_devcontainer.devcontainer_host AS DevContainerHost, devstar_devcontainer.devcontainer_port AS DevContainerPort, devstar_devcontainer.devcontainer_username AS DevContainerUsername,devstar_devcontainer.devcontainer_password AS DevContainerPassword, devstar_devcontainer.devcontainer_work_dir AS DevContainerWorkDir").
|
|
Join("LEFT", "repository", "devstar_devcontainer.repo_id = repository.id").
|
|
Where("devstar_devcontainer.repo_id IN (SELECT devcontainer_id FROM devstar_devcontainer_user WHERE user_id = ?)", userId).
|
|
Find(&devcontainerItemVOList)
|
|
|
|
if devcontainerItemVOList == nil {
|
|
devcontainerItemVOList = []DevcontainersVO.DevContainerItemVO{}
|
|
}
|
|
|
|
if err != nil {
|
|
return devcontainerItemVOList,
|
|
devstar_devcontainer.ErrFailedToOperateDevstarDevcontainerDB{
|
|
Action: "query user DevContainer List",
|
|
Message: err.Error(),
|
|
}
|
|
}
|
|
|
|
return devcontainerItemVOList, nil
|
|
}
|