All checks were successful
CI Monitor MIflow / build-image (push) Successful in 45s
42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
import { DB } from "../../types/db"
|
|
import { managePb404 } from "../../utils/pbTools"
|
|
import pbClient from "../pbClient"
|
|
|
|
/**
|
|
* 通过其 ID 检索单个项目。
|
|
* @param {string} id - 项目的 ID。
|
|
* @returns {Promise<DB.Project | null>} - 一个解析为项目对象的 promise。
|
|
*/
|
|
const getOne = (id: string) =>
|
|
managePb404<DB.Project>(() => pbClient.collection("project").getOne(id))
|
|
|
|
/**
|
|
* 检索项目的完整列表。
|
|
* @returns {Promise<DB.Project[]>} - 一个解析为项目对象数组的 promise。
|
|
*/
|
|
const getFullList = async () =>
|
|
await pbClient.collection("project").getFullList<DB.Project>()
|
|
|
|
/**
|
|
* 使用新数据更新项目。
|
|
* @param {string} id - 要更新的项目的 ID。
|
|
* @param {Partial<DB.Project>} data - 用于更新项目的部分数据。
|
|
* @returns {Promise<DB.Project>} - 一个解析为更新后的项目对象的 promise。
|
|
*/
|
|
const update = async (
|
|
id: string,
|
|
data: Partial<DB.Project>
|
|
): Promise<DB.Project> =>
|
|
await pbClient.collection("project").update<DB.Project>(id, data)
|
|
|
|
/**
|
|
* 用于管理项目的函数集合。
|
|
*/
|
|
const project = {
|
|
getFullList,
|
|
getOne,
|
|
update,
|
|
}
|
|
|
|
export default project
|