Fix wrong check (#15179)
as title --------- Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
+1
-17
@@ -60,22 +60,6 @@ export class UpsertTimelineActivityFromInternalEvent {
|
||||
}
|
||||
}
|
||||
|
||||
const formattedEvents = workspaceEventBatch.events.map((event) => {
|
||||
if ('diff' in event.properties && event.properties.diff) {
|
||||
return {
|
||||
...event,
|
||||
properties: {
|
||||
diff: event.properties.diff,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
return event;
|
||||
});
|
||||
|
||||
await this.timelineActivityService.upsertEvents({
|
||||
...workspaceEventBatch,
|
||||
events: formattedEvents,
|
||||
});
|
||||
await this.timelineActivityService.upsertEvents(workspaceEventBatch);
|
||||
}
|
||||
}
|
||||
|
||||
+17
-9
@@ -9,7 +9,9 @@ import { TwentyORMGlobalManager } from 'src/engine/twenty-orm/twenty-orm-global.
|
||||
import { type TimelineActivityPayload } from 'src/modules/timeline/types/timeline-activity-payload';
|
||||
|
||||
type TimelineActivityPayloadWorkspaceIdAndObjectSingularName = {
|
||||
payloads: TimelineActivityPayload[];
|
||||
payloads: (Omit<TimelineActivityPayload, 'properties'> & {
|
||||
properties: Pick<TimelineActivityPayload['properties'], 'diff'>;
|
||||
})[];
|
||||
workspaceId: string;
|
||||
objectSingularName: string;
|
||||
};
|
||||
@@ -31,16 +33,22 @@ export class TimelineActivityRepository {
|
||||
payloads,
|
||||
});
|
||||
|
||||
const payloadsWithDiff = payloads.filter(({ properties }) => {
|
||||
const isDiffEmpty =
|
||||
properties.diff !== null &&
|
||||
properties.diff &&
|
||||
Object.keys(properties.diff).length === 0;
|
||||
const payloadsWithDiff = payloads
|
||||
.filter(({ properties }) => {
|
||||
const isDiffEmpty =
|
||||
properties.diff !== null &&
|
||||
properties.diff &&
|
||||
Object.keys(properties.diff).length === 0;
|
||||
|
||||
return !isDiffEmpty;
|
||||
});
|
||||
return !isDiffEmpty;
|
||||
})
|
||||
.map(({ properties, ...rest }) => ({
|
||||
...rest,
|
||||
properties: isDefined(properties.diff) ? { diff: properties.diff } : {},
|
||||
}));
|
||||
|
||||
const payloadsToInsert: TimelineActivityPayload[] = [];
|
||||
const payloadsToInsert: TimelineActivityPayloadWorkspaceIdAndObjectSingularName['payloads'] =
|
||||
[];
|
||||
|
||||
for (const payload of payloadsWithDiff) {
|
||||
const recentTimelineActivity = recentTimelineActivities.find(
|
||||
|
||||
@@ -12,6 +12,8 @@ import { parseEventNameOrThrow } from 'src/engine/workspace-event-emitter/utils/
|
||||
import { TimelineActivityRepository } from 'src/modules/timeline/repositories/timeline-activity.repository';
|
||||
import { TimelineActivityWorkspaceEntity } from 'src/modules/timeline/standard-objects/timeline-activity.workspace-entity';
|
||||
import { type TimelineActivityPayload } from 'src/modules/timeline/types/timeline-activity-payload';
|
||||
import { NoteWorkspaceEntity } from 'src/modules/note/standard-objects/note.workspace-entity';
|
||||
import { TaskWorkspaceEntity } from 'src/modules/task/standard-objects/task.workspace-entity';
|
||||
|
||||
type ActivityType = 'note' | 'task';
|
||||
|
||||
@@ -92,7 +94,7 @@ export class TimelineActivityService {
|
||||
if (objectSingularName === 'note') {
|
||||
const noteEventsTimelineActivities =
|
||||
await this.computeTimelineActivityPayloadsForActivities({
|
||||
events,
|
||||
events: events as ObjectRecordBaseEvent<NoteWorkspaceEntity>[],
|
||||
activityType: 'note',
|
||||
workspaceId,
|
||||
objectMetadata,
|
||||
@@ -114,7 +116,7 @@ export class TimelineActivityService {
|
||||
if (objectSingularName === 'task') {
|
||||
const taskEventsTimelineActivities =
|
||||
await this.computeTimelineActivityPayloadsForActivities({
|
||||
events,
|
||||
events: events as ObjectRecordBaseEvent<TaskWorkspaceEntity>[],
|
||||
activityType: 'task',
|
||||
workspaceId,
|
||||
objectMetadata,
|
||||
@@ -161,7 +163,9 @@ export class TimelineActivityService {
|
||||
name,
|
||||
workspaceId,
|
||||
objectMetadata,
|
||||
}: WorkspaceEventBatch<ObjectRecordBaseEvent> & {
|
||||
}: WorkspaceEventBatch<
|
||||
ObjectRecordBaseEvent<NoteWorkspaceEntity | TaskWorkspaceEntity>
|
||||
> & {
|
||||
activityType: ActivityType;
|
||||
}): Promise<TimelineActivityPayload[]> {
|
||||
if (!isDefined(workspaceId)) {
|
||||
@@ -214,7 +218,7 @@ export class TimelineActivityService {
|
||||
return;
|
||||
}
|
||||
|
||||
const activityTitle = (event.properties.after as ObjectRecord)?.title;
|
||||
const activityTitle = event.properties.diff?.title?.after;
|
||||
const activityId = event.recordId;
|
||||
|
||||
if (!isDefined(activityTitle)) {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
import { type ObjectRecordBaseEvent } from 'src/engine/core-modules/event-emitter/types/object-record.base.event';
|
||||
|
||||
export type TimelineActivityPayload = {
|
||||
properties: Record<string, unknown>;
|
||||
properties: ObjectRecordBaseEvent['properties'];
|
||||
linkedObjectMetadataId?: string;
|
||||
linkedRecordId?: string;
|
||||
linkedRecordCachedName?: string;
|
||||
|
||||
Reference in New Issue
Block a user