41 lines
1.0 KiB
TypeScript
41 lines
1.0 KiB
TypeScript
import { DB } from "../../types/db"
|
|
import { managePb404 } from "../../utils/pbTools"
|
|
import pbClient from "../pbClient"
|
|
|
|
/**
|
|
* 通过其 ID 检索单个项目。
|
|
* @param id - 项目的 ID。
|
|
* @returns 一个解析为项目对象的 promise。
|
|
*/
|
|
const getOne = (id: string) =>
|
|
managePb404<DB.Project>(
|
|
async () => await pbClient.collection("project").getOne(id)
|
|
)
|
|
|
|
/**
|
|
* 检索项目的完整列表。
|
|
* @returns 一个解析为项目对象数组的 promise。
|
|
*/
|
|
const getFullList = async () =>
|
|
await pbClient.collection("project").getFullList<DB.Project>()
|
|
|
|
/**
|
|
* 使用新数据更新项目。
|
|
* @param id - 要更新的项目的 ID。
|
|
* @param data - 用于更新项目的部分数据。
|
|
* @returns 一个解析为更新后的项目对象的 promise。
|
|
*/
|
|
const update = async (id: string, data: Partial<DB.Project>) =>
|
|
await pbClient.collection("project").update<DB.Project>(id, data)
|
|
|
|
/**
|
|
* 用于管理项目的函数集合。
|
|
*/
|
|
const project = {
|
|
getFullList,
|
|
getOne,
|
|
update,
|
|
}
|
|
|
|
export default project
|