feat(server): cluster level event system (#9884)

This commit is contained in:
forehalo
2025-01-25 14:51:03 +00:00
parent 0d2c2ea21e
commit 6370f45928
43 changed files with 634 additions and 364 deletions

View File

@@ -1,7 +1,7 @@
import { Injectable } from '@nestjs/common';
import { applyUpdate, Doc } from 'yjs';
import { Cache, type EventPayload, OnEvent } from '../../base';
import { Cache, OnEvent } from '../../base';
import { PgWorkspaceDocStorageAdapter } from '../doc';
import {
type PageDocContent,
@@ -78,15 +78,15 @@ export class DocContentService {
return content;
}
@OnEvent('snapshot.updated')
@OnEvent('doc.snapshot.updated')
async markDocContentCacheStale({
workspaceId,
id,
}: EventPayload<'snapshot.updated'>) {
docId,
}: Events['doc.snapshot.updated']) {
const key =
workspaceId === id
workspaceId === docId
? `workspace:${workspaceId}:content`
: `workspace:${workspaceId}:doc:${id}:content`;
: `workspace:${workspaceId}:doc:${docId}:content`;
await this.cache.delete(key);
}
}