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;
|