Add query change handlers for workspace delete event

This commit is contained in:
Hakan Shehu
2024-11-14 09:49:18 +01:00
parent a94feccc02
commit 6537d51fdb
8 changed files with 80 additions and 0 deletions

View File

@@ -27,6 +27,16 @@ export class FileListQueryHandler implements QueryHandler<FileListQueryInput> {
input: FileListQueryInput,
output: FileNode[]
): Promise<ChangeCheckResult<FileListQueryInput>> {
if (
event.type === 'workspace_deleted' &&
event.workspace.userId === input.userId
) {
return {
hasChanges: true,
result: [],
};
}
if (
event.type === 'node_created' &&
event.userId === input.userId &&

View File

@@ -30,6 +30,16 @@ export class MessageListQueryHandler
input: MessageListQueryInput,
output: MessageNode[]
): Promise<ChangeCheckResult<MessageListQueryInput>> {
if (
event.type === 'workspace_deleted' &&
event.workspace.userId === input.userId
) {
return {
hasChanges: true,
result: [],
};
}
if (
event.type === 'node_created' &&
event.userId === input.userId &&

View File

@@ -19,6 +19,16 @@ export class NodeChildrenGetQueryHandler
input: NodeChildrenGetQueryInput,
output: Node[]
): Promise<ChangeCheckResult<NodeChildrenGetQueryInput>> {
if (
event.type === 'workspace_deleted' &&
event.workspace.userId === input.userId
) {
return {
hasChanges: true,
result: [],
};
}
if (
event.type === 'node_created' &&
event.userId === input.userId &&

View File

@@ -17,6 +17,16 @@ export class NodeGetQueryHandler implements QueryHandler<NodeGetQueryInput> {
input: NodeGetQueryInput,
_: Node | null
): Promise<ChangeCheckResult<NodeGetQueryInput>> {
if (
event.type === 'workspace_deleted' &&
event.workspace.userId === input.userId
) {
return {
hasChanges: true,
result: null,
};
}
if (
event.type === 'node_updated' &&
event.userId === input.userId &&

View File

@@ -20,6 +20,16 @@ export class NodeTreeGetQueryHandler
input: NodeTreeGetQueryInput,
output: Node[]
): Promise<ChangeCheckResult<NodeTreeGetQueryInput>> {
if (
event.type === 'workspace_deleted' &&
event.workspace.userId === input.userId
) {
return {
hasChanges: true,
result: [],
};
}
if (event.type === 'node_updated' && event.userId === input.userId) {
const node = output.find((node) => node.id === event.node.id);
if (node) {

View File

@@ -39,6 +39,16 @@ export class RecordListQueryHandler
input: RecordListQueryInput,
output: RecordNode[]
): Promise<ChangeCheckResult<RecordListQueryInput>> {
if (
event.type === 'workspace_deleted' &&
event.workspace.userId === input.userId
) {
return {
hasChanges: true,
result: [],
};
}
if (
event.type === 'node_created' &&
event.userId === input.userId &&

View File

@@ -25,6 +25,16 @@ export class UserSearchQueryHandler
input: UserSearchQueryInput,
_: UserNode[]
): Promise<ChangeCheckResult<UserSearchQueryInput>> {
if (
event.type === 'workspace_deleted' &&
event.workspace.userId === input.userId
) {
return {
hasChanges: true,
result: [],
};
}
if (
event.type === 'node_created' &&
event.userId === input.userId &&

View File

@@ -22,6 +22,16 @@ export class WorkspaceUserListQueryHandler
input: WorkspaceUserListQueryInput,
output: UserNode[]
): Promise<ChangeCheckResult<WorkspaceUserListQueryInput>> {
if (
event.type === 'workspace_deleted' &&
event.workspace.userId === input.userId
) {
return {
hasChanges: true,
result: [],
};
}
if (
event.type === 'node_created' &&
event.userId === input.userId &&