feat(ai): carry workspace and target space ids on vector lifecycle events

This commit is contained in:
Philipinho
2026-08-16 23:37:38 +01:00
parent fc34f1a7f5
commit d5ad7d5181
5 changed files with 7 additions and 2 deletions
@@ -15,6 +15,7 @@ export enum EventName {
WORKSPACE_CREATED = 'workspace.created', WORKSPACE_CREATED = 'workspace.created',
WORKSPACE_UPDATED = 'workspace.updated', WORKSPACE_UPDATED = 'workspace.updated',
WORKSPACE_DELETED = 'workspace.deleted', WORKSPACE_DELETED = 'workspace.deleted',
USER_SESSION_STARTED = 'user.session.started',
BASE_CREATED = 'base.created', BASE_CREATED = 'base.created',
BASE_UPDATED = 'base.updated', BASE_UPDATED = 'base.updated',
@@ -498,6 +498,7 @@ export class PageService {
await this.aiQueue.add(QueueJob.PAGE_MOVED_TO_SPACE, { await this.aiQueue.add(QueueJob.PAGE_MOVED_TO_SPACE, {
pageIds: pageIdsToMove, pageIds: pageIdsToMove,
spaceId,
workspaceId: rootPage.workspaceId, workspaceId: rootPage.workspaceId,
}); });
} }
@@ -8,6 +8,7 @@ import { EnvironmentService } from '../../integrations/environment/environment.s
export class SpaceEvent { export class SpaceEvent {
spaceId: string; spaceId: string;
workspaceId: string;
} }
@Injectable() @Injectable()
@@ -22,12 +23,12 @@ export class SpaceListener {
@OnEvent(EventName.SPACE_DELETED) @OnEvent(EventName.SPACE_DELETED)
async handleSpaceDeleted(event: SpaceEvent) { async handleSpaceDeleted(event: SpaceEvent) {
const { spaceId } = event; const { spaceId, workspaceId } = event;
if (this.isTypesense()) { if (this.isTypesense()) {
await this.searchQueue.add(QueueJob.SPACE_DELETED, { spaceId }); await this.searchQueue.add(QueueJob.SPACE_DELETED, { spaceId });
} }
await this.aiQueue.add(QueueJob.SPACE_DELETED, { spaceId }); await this.aiQueue.add(QueueJob.SPACE_DELETED, { spaceId, workspaceId });
} }
isTypesense(): boolean { isTypesense(): boolean {
@@ -230,6 +230,7 @@ export class SpaceRepo {
this.eventEmitter.emit(EventName.SPACE_DELETED, { this.eventEmitter.emit(EventName.SPACE_DELETED, {
spaceId, spaceId,
workspaceId,
}); });
} }
} }
@@ -61,6 +61,7 @@ export enum QueueJob {
WORKSPACE_DELETED = 'workspace-deleted', WORKSPACE_DELETED = 'workspace-deleted',
WORKSPACE_CREATE_EMBEDDINGS = 'workspace-create-embeddings', WORKSPACE_CREATE_EMBEDDINGS = 'workspace-create-embeddings',
WORKSPACE_DELETE_EMBEDDINGS = 'workspace-delete-embeddings', WORKSPACE_DELETE_EMBEDDINGS = 'workspace-delete-embeddings',
WORKSPACE_RESET_EMBEDDINGS = 'workspace-reset-embeddings',
GENERATE_PAGE_EMBEDDINGS = 'generate-page-embeddings', GENERATE_PAGE_EMBEDDINGS = 'generate-page-embeddings',
DELETE_PAGE_EMBEDDINGS = 'delete-page-embeddings', DELETE_PAGE_EMBEDDINGS = 'delete-page-embeddings',