Skip to content

Commit 5b3e86e

Browse files
committed
fix situation in data-sink-worker when activity exists in the db but marked deleted
1 parent b931f0a commit 5b3e86e

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
lines changed

services/apps/data_sink_worker/src/repo/activity.data.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export interface IDbActivity {
2222
url?: string
2323
sentiment: ISentimentAnalysisResult
2424
organizationId?: string
25+
deletedAt?: string
2526
}
2627

2728
export interface IDbActivityCreateData {

services/apps/data_sink_worker/src/repo/activity.repo.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,12 @@ export default class ActivityRepository extends RepositoryBase<ActivityRepositor
3939
title,
4040
channel,
4141
url,
42-
sentiment
42+
sentiment,
43+
"deletedAt"
4344
from activities
4445
where "tenantId" = $(tenantId)
4546
and "segmentId" = $(segmentId)
4647
and "sourceId" = $(sourceId)
47-
and "deletedAt" is null
4848
`
4949
public async findExisting(
5050
tenantId: string,

services/apps/data_sink_worker/src/service/activity.service.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -453,6 +453,15 @@ export default class ActivityService extends LoggerBase {
453453
// find existing activity
454454
const dbActivity = await txRepo.findExisting(tenantId, segmentId, activity.sourceId)
455455

456+
if (dbActivity && dbActivity?.deletedAt) {
457+
// we found an existing activity but it's deleted - nothing to do here
458+
this.log.trace(
459+
{ activityId: dbActivity.id },
460+
'Found existing activity but it is deleted, nothing to do here.',
461+
)
462+
return
463+
}
464+
456465
let createActivity = false
457466

458467
if (dbActivity) {
@@ -846,7 +855,9 @@ export default class ActivityService extends LoggerBase {
846855
}
847856
})
848857

849-
await this.searchSyncWorkerEmitter.triggerMemberSync(tenantId, memberId)
858+
if (memberId) {
859+
await this.searchSyncWorkerEmitter.triggerMemberSync(tenantId, memberId)
860+
}
850861
if (objectMemberId) {
851862
await this.searchSyncWorkerEmitter.triggerMemberSync(tenantId, objectMemberId)
852863
}

0 commit comments

Comments
 (0)