feat(platform): harden access scoping and delivery baseline
This commit is contained in:
@@ -6,6 +6,9 @@ export function useInvalidateTimeline() {
|
||||
return () => {
|
||||
void utils.timeline.getEntries.invalidate();
|
||||
void utils.timeline.getEntriesView.invalidate();
|
||||
void utils.timeline.getMyEntriesView.invalidate();
|
||||
void utils.timeline.getHolidayOverlays.invalidate();
|
||||
void utils.timeline.getMyHolidayOverlays.invalidate();
|
||||
void utils.timeline.getProjectContext.invalidate();
|
||||
void utils.timeline.getBudgetStatus.invalidate();
|
||||
};
|
||||
@@ -25,6 +28,9 @@ export function useInvalidatePlanningViews() {
|
||||
void utils.allocation.listAssignments.invalidate();
|
||||
void utils.timeline.getEntries.invalidate();
|
||||
void utils.timeline.getEntriesView.invalidate();
|
||||
void utils.timeline.getMyEntriesView.invalidate();
|
||||
void utils.timeline.getHolidayOverlays.invalidate();
|
||||
void utils.timeline.getMyHolidayOverlays.invalidate();
|
||||
void utils.timeline.getProjectContext.invalidate();
|
||||
void utils.timeline.getBudgetStatus.invalidate();
|
||||
};
|
||||
|
||||
@@ -18,11 +18,11 @@ type ProjectDragContextResult = {
|
||||
project: any | null;
|
||||
};
|
||||
|
||||
export function useProjectDragContext(projectId: string | null): ProjectDragContextResult {
|
||||
export function useProjectDragContext(projectId: string | null, enabled = true): ProjectDragContextResult {
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
const { data } = trpc.timeline.getProjectContext.useQuery(
|
||||
{ projectId: projectId! },
|
||||
{ enabled: !!projectId, staleTime: 10_000 },
|
||||
{ enabled: enabled && !!projectId, staleTime: 10_000 },
|
||||
) as { data: any };
|
||||
|
||||
return {
|
||||
|
||||
@@ -28,11 +28,19 @@ export function useTimelineSSE() {
|
||||
case SSE_EVENT_TYPES.ALLOCATION_UPDATED:
|
||||
case SSE_EVENT_TYPES.ALLOCATION_DELETED:
|
||||
void queryClient.invalidateQueries({ queryKey: [["timeline", "getEntries"]] });
|
||||
void queryClient.invalidateQueries({ queryKey: [["timeline", "getEntriesView"]] });
|
||||
void queryClient.invalidateQueries({ queryKey: [["timeline", "getMyEntriesView"]] });
|
||||
void queryClient.invalidateQueries({ queryKey: [["timeline", "getHolidayOverlays"]] });
|
||||
void queryClient.invalidateQueries({ queryKey: [["timeline", "getMyHolidayOverlays"]] });
|
||||
void queryClient.invalidateQueries({ queryKey: [["allocation", "list"]] });
|
||||
break;
|
||||
|
||||
case SSE_EVENT_TYPES.PROJECT_SHIFTED:
|
||||
void queryClient.invalidateQueries({ queryKey: [["timeline", "getEntries"]] });
|
||||
void queryClient.invalidateQueries({ queryKey: [["timeline", "getEntriesView"]] });
|
||||
void queryClient.invalidateQueries({ queryKey: [["timeline", "getMyEntriesView"]] });
|
||||
void queryClient.invalidateQueries({ queryKey: [["timeline", "getHolidayOverlays"]] });
|
||||
void queryClient.invalidateQueries({ queryKey: [["timeline", "getMyHolidayOverlays"]] });
|
||||
void queryClient.invalidateQueries({ queryKey: [["project", "list"]] });
|
||||
break;
|
||||
|
||||
@@ -40,6 +48,11 @@ export function useTimelineSSE() {
|
||||
void queryClient.invalidateQueries({ queryKey: [["timeline", "getBudgetStatus"]] });
|
||||
break;
|
||||
|
||||
case SSE_EVENT_TYPES.NOTIFICATION_CREATED:
|
||||
void queryClient.invalidateQueries({ queryKey: [["notification", "list"]] });
|
||||
void queryClient.invalidateQueries({ queryKey: [["notification", "unreadCount"]] });
|
||||
break;
|
||||
|
||||
case SSE_EVENT_TYPES.TASK_ASSIGNED:
|
||||
case SSE_EVENT_TYPES.TASK_COMPLETED:
|
||||
case SSE_EVENT_TYPES.TASK_STATUS_CHANGED:
|
||||
|
||||
Reference in New Issue
Block a user