8643 fix sentry error (#8644)

- fixes missing data in event payload when adding a new workspaceMember
- add strong typing to database event emitters
This commit is contained in:
martmull
2024-11-21 17:09:36 +01:00
committed by GitHub
parent 395da91071
commit 39373b4a28
61 changed files with 460 additions and 311 deletions

View File

@ -3,7 +3,7 @@ import { Process } from 'src/engine/core-modules/message-queue/decorators/proces
import { Processor } from 'src/engine/core-modules/message-queue/decorators/processor.decorator';
import { MessageQueue } from 'src/engine/core-modules/message-queue/message-queue.constants';
import { InjectObjectMetadataRepository } from 'src/engine/object-metadata-repository/object-metadata-repository.decorator';
import { WorkspaceEventBatch } from 'src/engine/workspace-event-emitter/workspace-event.type';
import { WorkspaceEventBatch } from 'src/engine/workspace-event-emitter/types/workspace-event.type';
import { AuditLogRepository } from 'src/modules/timeline/repositiories/audit-log.repository';
import { AuditLogWorkspaceEntity } from 'src/modules/timeline/standard-objects/audit-log.workspace-entity';
import { WorkspaceMemberRepository } from 'src/modules/workspace-member/repositories/workspace-member.repository';

View File

@ -3,10 +3,11 @@ import { Process } from 'src/engine/core-modules/message-queue/decorators/proces
import { Processor } from 'src/engine/core-modules/message-queue/decorators/processor.decorator';
import { MessageQueue } from 'src/engine/core-modules/message-queue/message-queue.constants';
import { InjectObjectMetadataRepository } from 'src/engine/object-metadata-repository/object-metadata-repository.decorator';
import { WorkspaceEventBatch } from 'src/engine/workspace-event-emitter/workspace-event.type';
import { WorkspaceEventBatch } from 'src/engine/workspace-event-emitter/types/workspace-event.type';
import { TimelineActivityService } from 'src/modules/timeline/services/timeline-activity.service';
import { WorkspaceMemberRepository } from 'src/modules/workspace-member/repositories/workspace-member.repository';
import { WorkspaceMemberWorkspaceEntity } from 'src/modules/workspace-member/standard-objects/workspace-member.workspace-entity';
import { TimelineActivityWorkspaceEntity } from 'src/modules/timeline/standard-objects/timeline-activity.workspace-entity';
@Processor(MessageQueue.entityEventsToDbQueue)
export class UpsertTimelineActivityFromInternalEvent {
@ -18,7 +19,9 @@ export class UpsertTimelineActivityFromInternalEvent {
@Process(UpsertTimelineActivityFromInternalEvent.name)
async handle(
workspaceEventBatch: WorkspaceEventBatch<ObjectRecordBaseEvent>,
workspaceEventBatch: WorkspaceEventBatch<
ObjectRecordBaseEvent<TimelineActivityWorkspaceEntity>
>,
): Promise<void> {
for (const eventData of workspaceEventBatch.events) {
if (eventData.userId) {

View File

@ -10,7 +10,7 @@ export class AuditLogRepository {
public async insert(
name: string,
properties: string,
properties: object | null,
workspaceMemberId: string | null,
objectName: string,
objectMetadataId: string,

View File

@ -6,13 +6,14 @@ import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/work
import { TimelineActivityRepository } from 'src/modules/timeline/repositiories/timeline-activity.repository';
import { TimelineActivityWorkspaceEntity } from 'src/modules/timeline/standard-objects/timeline-activity.workspace-entity';
type TimelineActivity = ObjectRecordBaseEvent & {
name: string;
objectName?: string;
linkedRecordCachedName?: string;
linkedRecordId?: string;
linkedObjectMetadataId?: string;
};
type TimelineActivity =
ObjectRecordBaseEvent<TimelineActivityWorkspaceEntity> & {
name: string;
objectName?: string;
linkedRecordCachedName?: string;
linkedRecordId?: string;
linkedObjectMetadataId?: string;
};
@Injectable()
export class TimelineActivityService {
@ -32,7 +33,7 @@ export class TimelineActivityService {
eventName,
workspaceId,
}: {
event: ObjectRecordBaseEvent;
event: ObjectRecordBaseEvent<TimelineActivityWorkspaceEntity>;
eventName: string;
workspaceId: string;
}) {
@ -64,7 +65,7 @@ export class TimelineActivityService {
workspaceId,
eventName,
}: {
event: ObjectRecordBaseEvent;
event: ObjectRecordBaseEvent<TimelineActivityWorkspaceEntity>;
workspaceId: string;
eventName: string;
}): Promise<TimelineActivity[] | undefined> {
@ -100,7 +101,7 @@ export class TimelineActivityService {
workspaceId,
eventName,
}: {
event: ObjectRecordBaseEvent;
event: ObjectRecordBaseEvent<TimelineActivityWorkspaceEntity>;
workspaceId: string;
eventName: string;
}): Promise<TimelineActivity[] | undefined> {
@ -145,7 +146,7 @@ export class TimelineActivityService {
eventName,
workspaceId,
}: {
event: ObjectRecordBaseEvent;
event: ObjectRecordBaseEvent<TimelineActivityWorkspaceEntity>;
dataSourceSchema: string;
activityType: string;
eventName: string;
@ -206,7 +207,7 @@ export class TimelineActivityService {
eventName,
workspaceId,
}: {
event: ObjectRecordBaseEvent;
event: ObjectRecordBaseEvent<TimelineActivityWorkspaceEntity>;
dataSourceSchema: string;
activityType: string;
eventName: string;