Skip to content

Commit aece751

Browse files
authored
Trigger merge suggestions on profile updates (#2953)
1 parent 4dccba2 commit aece751

File tree

4 files changed

+18
-2
lines changed

4 files changed

+18
-2
lines changed

backend/src/services/member/memberIdentityService.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
deleteMemberIdentity,
1010
fetchMemberIdentities,
1111
findMemberIdentityById,
12+
touchMemberUpdatedAt,
1213
updateMemberIdentity,
1314
} from '@crowd/data-access-layer/src/members'
1415
import { LoggerBase } from '@crowd/logging'
@@ -73,6 +74,8 @@ export default class MemberIdentityService extends LoggerBase {
7374
// Create member identity
7475
await createMemberIdentity(qx, tenantId, memberId, data)
7576

77+
await touchMemberUpdatedAt(qx, memberId)
78+
7679
// List all member identities
7780
const list = await fetchMemberIdentities(qx, memberId)
7881

@@ -149,6 +152,8 @@ export default class MemberIdentityService extends LoggerBase {
149152
await createMemberIdentity(qx, tenantId, memberId, identity)
150153
}
151154

155+
await touchMemberUpdatedAt(qx, memberId)
156+
152157
// List all member identities
153158
const list = await fetchMemberIdentities(qx, memberId)
154159

@@ -212,6 +217,8 @@ export default class MemberIdentityService extends LoggerBase {
212217
// Update member identity with new data
213218
await updateMemberIdentity(qx, memberId, id, data)
214219

220+
await touchMemberUpdatedAt(qx, memberId)
221+
215222
// List all member identities
216223
const list = await fetchMemberIdentities(qx, memberId)
217224

@@ -248,6 +255,8 @@ export default class MemberIdentityService extends LoggerBase {
248255
// Delete member identity
249256
await deleteMemberIdentity(qx, memberId, id)
250257

258+
await touchMemberUpdatedAt(qx, memberId)
259+
251260
// List all member identities
252261
const list = await fetchMemberIdentities(qx, memberId)
253262

services/apps/merge_suggestions_worker/src/activities/memberMergeSuggestions.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,8 @@ export async function getMembers(
277277
and: [
278278
{ [MemberField.TENANT_ID]: { eq: tenantId } },
279279
afterMemberId ? { [MemberField.ID]: { gt: afterMemberId } } : null,
280-
lastGeneratedAt ? { [MemberField.CREATED_AT]: { gt: lastGeneratedAt } } : null,
280+
// Include members updated after the last generation to cover both new and modified ones
281+
lastGeneratedAt ? { [MemberField.UPDATED_AT]: { gt: lastGeneratedAt } } : null,
281282
],
282283
},
283284
fields: [

services/apps/merge_suggestions_worker/src/activities/organizationMergeSuggestions.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ export async function getOrganizations(
3535
and: [
3636
{ [OrganizationField.TENANT_ID]: { eq: tenantId } },
3737
afterOrganizationId ? { [OrganizationField.ID]: { gt: afterOrganizationId } } : null,
38-
lastGeneratedAt ? { [OrganizationField.CREATED_AT]: { gt: lastGeneratedAt } } : null,
38+
// Include organizations updated after the last generation to cover both new and modified ones
39+
lastGeneratedAt ? { [OrganizationField.UPDATED_AT]: { gt: lastGeneratedAt } } : null,
3940
organizationIds ? { [OrganizationField.ID]: { in: organizationIds } } : null,
4041
// TODO filter by organizationIds,
4142
],
@@ -47,6 +48,7 @@ export async function getOrganizations(
4748
OrganizationField.LOCATION,
4849
OrganizationField.INDUSTRY,
4950
],
51+
orderBy: `${OrganizationField.ID} asc`,
5052
limit: batchSize,
5153
})
5254

services/libs/data-access-layer/src/members/others.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,3 +78,7 @@ export async function updateMemberReach(
7878
},
7979
)
8080
}
81+
82+
export async function touchMemberUpdatedAt(qx: QueryExecutor, memberId: string): Promise<void> {
83+
return qx.result(`UPDATE members SET updatedAt = NOW() WHERE id = $(memberId)`, { memberId })
84+
}

0 commit comments

Comments
 (0)