46 lines
1.3 KiB
TypeScript
46 lines
1.3 KiB
TypeScript
/**
|
||
* 记忆 API Client(对应 后端生成的 OpenAPI 契约 §10)。
|
||
* 手动记忆 CRUD;character_id 省略时使用当前激活人物。
|
||
*/
|
||
|
||
import { apiDelete, apiGet, apiPatch, apiPost } from "./client";
|
||
import type {
|
||
CreateMemoryRequest,
|
||
Memory,
|
||
Paginated,
|
||
UpdateMemoryRequest,
|
||
} from "@/types/api";
|
||
|
||
export interface ListMemoryParams {
|
||
character_id?: string;
|
||
type?: string;
|
||
source?: string;
|
||
page?: number;
|
||
page_size?: number;
|
||
/** 查询参数可透传,允许作为 Record 传递给底层请求封装 */
|
||
[key: string]: string | number | undefined;
|
||
}
|
||
|
||
/** 列出当前人物记忆 */
|
||
export function listMemories(params?: ListMemoryParams) {
|
||
return apiGet<Paginated<Memory>>("/memory", params);
|
||
}
|
||
|
||
/** 创建记忆;手动记忆 source 默认 user_explicit */
|
||
export function createMemory(body: CreateMemoryRequest) {
|
||
return apiPost<Memory>("/memory", {
|
||
source: "user_explicit",
|
||
...body,
|
||
});
|
||
}
|
||
|
||
/** 更新记忆(PATCH 部分字段) */
|
||
export function updateMemory(memoryId: string, body: UpdateMemoryRequest) {
|
||
return apiPatch<Memory>(`/memory/${memoryId}`, body);
|
||
}
|
||
|
||
/** 删除记忆(后端软删除:status=deleted + deleted_at) */
|
||
export function deleteMemory(memoryId: string) {
|
||
return apiDelete<void>(`/memory/${memoryId}`);
|
||
}
|