21 lines
990 B
TypeScript
21 lines
990 B
TypeScript
/**
|
||
* 客户端可见的失效映射子集(仅 queryKeys 字段)。
|
||
*
|
||
* 从 invalidation-map.ts 提取 queryKeys,避免客户端 bundle 拉入
|
||
* revalidateTag 等 server-only 依赖。
|
||
*
|
||
* 由 useActionMutation 在 onSuccess 中查询以自动 invalidateQueries。
|
||
*/
|
||
export const CLIENT_INVALIDATION_MAP = {
|
||
"classes.create": { queryKeys: [["classes", "list"]] },
|
||
"classes.update": { queryKeys: [["classes", "detail"], ["classes", "list"]] },
|
||
"classes.delete": { queryKeys: [["classes", "list"], ["classes", "detail"]] },
|
||
"classes.students.update": { queryKeys: [["classes", "students"]] },
|
||
"classes.schedule.update": { queryKeys: [["classes", "schedule"]] },
|
||
"classes.grade.update": { queryKeys: [["classes", "list"]] },
|
||
"classes.invitation.create": { queryKeys: [["classes", "invitations"]] },
|
||
"classes.invitation.revoke": { queryKeys: [["classes", "invitations"]] },
|
||
} as const
|
||
|
||
export type ClientInvalidationActionId = keyof typeof CLIENT_INVALIDATION_MAP
|