summaryrefslogtreecommitdiff
path: root/packages/backend/src/core/InternalEventService.ts
diff options
context:
space:
mode:
authorHazelnoot <acomputerdog@gmail.com>2025-06-05 12:54:58 -0400
committerHazelnoot <acomputerdog@gmail.com>2025-06-09 11:02:36 -0400
commit1f2742ddd7ba462b715a4fe2ae25d3dedebec3e0 (patch)
treef17a97b0d9debd9229acde1c6edd7de043ad032d /packages/backend/src/core/InternalEventService.ts
parentimplement QuantumKVCache (diff)
downloadsharkey-1f2742ddd7ba462b715a4fe2ae25d3dedebec3e0.tar.gz
sharkey-1f2742ddd7ba462b715a4fe2ae25d3dedebec3e0.tar.bz2
sharkey-1f2742ddd7ba462b715a4fe2ae25d3dedebec3e0.zip
add ignoreRemote filter to InternalEventService
Diffstat (limited to 'packages/backend/src/core/InternalEventService.ts')
-rw-r--r--packages/backend/src/core/InternalEventService.ts7
1 files changed, 4 insertions, 3 deletions
diff --git a/packages/backend/src/core/InternalEventService.ts b/packages/backend/src/core/InternalEventService.ts
index 375ee928c4..5b164b605e 100644
--- a/packages/backend/src/core/InternalEventService.ts
+++ b/packages/backend/src/core/InternalEventService.ts
@@ -10,10 +10,11 @@ import { GlobalEventService } from '@/core/GlobalEventService.js';
import type { GlobalEvents, InternalEventTypes } from '@/core/GlobalEventService.js';
import { bindThis } from '@/decorators.js';
-export type Listener<K extends keyof InternalEventTypes> = (value: InternalEventTypes[K], key: K) => void | Promise<void>;
+export type Listener<K extends keyof InternalEventTypes> = (value: InternalEventTypes[K], key: K, isLocal: boolean) => void | Promise<void>;
export interface ListenerProps {
ignoreLocal?: boolean,
+ ignoreRemote?: boolean,
}
@Injectable()
@@ -61,8 +62,8 @@ export class InternalEventService implements OnApplicationShutdown {
const promises: Promise<void>[] = [];
for (const [listener, props] of listeners) {
- if (!isLocal || !props.ignoreLocal) {
- const promise = Promise.resolve(listener(value, type));
+ if ((isLocal && !props.ignoreLocal) || (!isLocal && !props.ignoreRemote)) {
+ const promise = Promise.resolve(listener(value, type, isLocal));
promises.push(promise);
}
}