zhaoyingbo f5ee6f8555
All checks were successful
CI Monitor MIflow / build-image (push) Successful in 45s
feat: 修改监控Stage的方式
2024-08-08 11:04:09 +00:00

43 lines
1.2 KiB
TypeScript

import { DB } from "../../types/db"
import { managePb404 } from "../../utils/pbTools"
import pbClient from "../pbClient"
/**
* 通过其 ID 检索一个管道。
* @param {string} id - 管道的 ID。
* @returns {Promise<DB.Pipeline| null>} - 一个解析为管道对象的 promise。
*/
const getOne = (id: string) =>
managePb404<DB.Pipeline>(() => pbClient.collection("pipeline").getOne(id))
/**
* 检索项目的最新管道。
* @param {string} project_id - 项目的 ID。
* @returns {Promise<DB.Pipeline | null>} - 一个解析为最新管道对象的 promise。
*/
const getLatestOne = (project_id: string) => {
return managePb404<DB.Pipeline>(() =>
pbClient
.collection("pipeline")
.getFirstListItem(`project_id="${project_id}"`, {
sort: "-created_at",
})
)
}
/**
* 创建一个新的管道。
* @param {Partial<DB.Pipeline>} data - 新管道的数据。
* @returns {Promise<DB.Pipeline>} - 一个解析为创建的管道对象的 promise。
*/
const create = async (data: Partial<DB.Pipeline>) =>
await pbClient.collection("pipeline").create<DB.Pipeline>(data)
const pipeline = {
create,
getOne,
getLatestOne,
}
export default pipeline