feat(cache): 新增客户端失效映射子集(queryKeys only)
This commit is contained in:
20
src/shared/lib/cache/client-invalidation-map.ts
vendored
Normal file
20
src/shared/lib/cache/client-invalidation-map.ts
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
/**
|
||||
* 客户端可见的失效映射子集(仅 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
|
||||
Reference in New Issue
Block a user