Function trigger updates 2 (#16608)
- Improves route trigger job performances - expose function params types ## Before <img width="938" height="271" alt="image" src="https://github.com/user-attachments/assets/5752ba64-f31d-44ed-974d-536e63458f2c" /> ## After <img width="1000" height="559" alt="image" src="https://github.com/user-attachments/assets/b1f4927a-5f43-49f0-a606-244c72356772" />
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
import { type ObjectRecordEvent } from '@/database-events/object-record-event.event';
|
||||
|
||||
type SimplifiedFlatObjectMetadata = {
|
||||
id: string;
|
||||
nameSingular: string;
|
||||
namePlural: string;
|
||||
labelSingular: string;
|
||||
labelPlural: string;
|
||||
description: string | null;
|
||||
icon: string | null;
|
||||
universalIdentifier: string;
|
||||
applicationId: string | null;
|
||||
} & {
|
||||
fieldMetadataIds: string[];
|
||||
indexMetadataIds: string[];
|
||||
viewIds: string[];
|
||||
};
|
||||
|
||||
type WorkspaceEventBatch<WorkspaceEvent> = {
|
||||
name: string;
|
||||
workspaceId: string;
|
||||
objectMetadata: SimplifiedFlatObjectMetadata;
|
||||
events: WorkspaceEvent[];
|
||||
};
|
||||
|
||||
export type DatabaseEventPayload<T = ObjectRecordEvent> = Omit<
|
||||
WorkspaceEventBatch<T>,
|
||||
'events'
|
||||
> &
|
||||
T;
|
||||
@@ -0,0 +1,20 @@
|
||||
/*
|
||||
* _____ _
|
||||
*|_ _|_ _____ _ __ | |_ _ _
|
||||
* | | \ \ /\ / / _ \ '_ \| __| | | | Auto-generated file
|
||||
* | | \ V V / __/ | | | |_| |_| | Any edits to this will be overridden
|
||||
* |_| \_/\_/ \___|_| |_|\__|\__, |
|
||||
* |___/
|
||||
*/
|
||||
|
||||
export type { DatabaseEventPayload } from './database-event-payload.type';
|
||||
export { ObjectRecordCreateEvent } from './object-record-create.event';
|
||||
export { ObjectRecordDeleteEvent } from './object-record-delete.event';
|
||||
export { ObjectRecordDestroyEvent } from './object-record-destroy.event';
|
||||
export type { ObjectRecordDiff } from './object-record-diff';
|
||||
export type { ObjectRecordEvent } from './object-record-event.event';
|
||||
export type { ObjectRecordNonDestructiveEvent } from './object-record-non-destructive-event';
|
||||
export { ObjectRecordRestoreEvent } from './object-record-restore.event';
|
||||
export { ObjectRecordUpdateEvent } from './object-record-update.event';
|
||||
export { ObjectRecordUpsertEvent } from './object-record-upsert.event';
|
||||
export { ObjectRecordBaseEvent } from './object-record.base.event';
|
||||
@@ -0,0 +1,9 @@
|
||||
import { ObjectRecordBaseEvent } from '@/database-events/object-record.base.event';
|
||||
|
||||
export class ObjectRecordCreateEvent<
|
||||
T = object,
|
||||
> extends ObjectRecordBaseEvent<T> {
|
||||
declare properties: {
|
||||
after: T;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import { ObjectRecordBaseEvent } from '@/database-events/object-record.base.event';
|
||||
|
||||
export class ObjectRecordDeleteEvent<
|
||||
T = object,
|
||||
> extends ObjectRecordBaseEvent<T> {
|
||||
declare properties: {
|
||||
before: T;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import { ObjectRecordBaseEvent } from '@/database-events/object-record.base.event';
|
||||
|
||||
export class ObjectRecordDestroyEvent<
|
||||
T = object,
|
||||
> extends ObjectRecordBaseEvent<T> {
|
||||
declare properties: {
|
||||
before: T;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
export type ObjectRecordDiff<T> = {
|
||||
[K in keyof T]: { before: T[K]; after: T[K] };
|
||||
};
|
||||
@@ -0,0 +1,14 @@
|
||||
import { type ObjectRecordDeleteEvent } from '@/database-events/object-record-delete.event';
|
||||
import { type ObjectRecordUpdateEvent } from '@/database-events/object-record-update.event';
|
||||
import { type ObjectRecordCreateEvent } from '@/database-events/object-record-create.event';
|
||||
import { type ObjectRecordDestroyEvent } from '@/database-events/object-record-destroy.event';
|
||||
import { type ObjectRecordRestoreEvent } from '@/database-events/object-record-restore.event';
|
||||
import { type ObjectRecordUpsertEvent } from '@/database-events/object-record-upsert.event';
|
||||
|
||||
export type ObjectRecordEvent<T = object> =
|
||||
| ObjectRecordUpdateEvent<T>
|
||||
| ObjectRecordDeleteEvent<T>
|
||||
| ObjectRecordCreateEvent<T>
|
||||
| ObjectRecordDestroyEvent<T>
|
||||
| ObjectRecordRestoreEvent<T>
|
||||
| ObjectRecordUpsertEvent<T>;
|
||||
@@ -0,0 +1,12 @@
|
||||
import { type ObjectRecordCreateEvent } from '@/database-events/object-record-create.event';
|
||||
import { type ObjectRecordDeleteEvent } from '@/database-events/object-record-delete.event';
|
||||
import { type ObjectRecordRestoreEvent } from '@/database-events/object-record-restore.event';
|
||||
import { type ObjectRecordUpsertEvent } from '@/database-events/object-record-upsert.event';
|
||||
import { type ObjectRecordUpdateEvent } from '@/database-events/object-record-update.event';
|
||||
|
||||
export type ObjectRecordNonDestructiveEvent =
|
||||
| ObjectRecordCreateEvent
|
||||
| ObjectRecordUpdateEvent
|
||||
| ObjectRecordDeleteEvent
|
||||
| ObjectRecordRestoreEvent
|
||||
| ObjectRecordUpsertEvent;
|
||||
@@ -0,0 +1,9 @@
|
||||
import { ObjectRecordCreateEvent } from '@/database-events/object-record-create.event';
|
||||
|
||||
export class ObjectRecordRestoreEvent<
|
||||
T = object,
|
||||
> extends ObjectRecordCreateEvent<T> {
|
||||
declare properties: {
|
||||
after: T;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
import { ObjectRecordBaseEvent } from '@/database-events/object-record.base.event';
|
||||
import { type ObjectRecordDiff } from '@/database-events/object-record-diff';
|
||||
|
||||
export class ObjectRecordUpdateEvent<
|
||||
T = object,
|
||||
> extends ObjectRecordBaseEvent<T> {
|
||||
declare properties: {
|
||||
updatedFields?: string[];
|
||||
diff?: Partial<ObjectRecordDiff<T>>;
|
||||
before: T;
|
||||
after: T;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
import { ObjectRecordBaseEvent } from '@/database-events/object-record.base.event';
|
||||
import { type ObjectRecordDiff } from '@/database-events/object-record-diff';
|
||||
|
||||
export class ObjectRecordUpsertEvent<
|
||||
T = object,
|
||||
> extends ObjectRecordBaseEvent<T> {
|
||||
declare properties: {
|
||||
before?: T;
|
||||
after: T;
|
||||
diff?: Partial<ObjectRecordDiff<T>>;
|
||||
updatedFields?: string[];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
import { type ObjectRecordDiff } from '@/database-events/object-record-diff';
|
||||
|
||||
type Properties<T> = {
|
||||
updatedFields?: string[];
|
||||
before?: T;
|
||||
after?: T;
|
||||
diff?: Partial<ObjectRecordDiff<T>>;
|
||||
};
|
||||
|
||||
export class ObjectRecordBaseEvent<T = object> {
|
||||
recordId: string;
|
||||
userId?: string;
|
||||
workspaceMemberId?: string;
|
||||
properties: Properties<T>;
|
||||
}
|
||||
Reference in New Issue
Block a user