Skip to content

Commit ee8cfa9

Browse files
committed
fix: add test workflow and update organization merge suggestion processing
Signed-off-by: Yeganathan S <63534555+skwowet@users.noreply.github.com>
1 parent 6367b5f commit ee8cfa9

File tree

3 files changed

+54
-2
lines changed

3 files changed

+54
-2
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ export async function getOrganizationMergeSuggestions(
155155
cleaned = cleaned.split(':').pop() || cleaned
156156
}
157157

158-
return cleaned
158+
return cleaned.toLowerCase()
159159
}
160160

161161
// Process up to 75 identities
@@ -196,7 +196,7 @@ export async function getOrganizationMergeSuggestions(
196196
builder: ({ value, platform }) => ({
197197
bool: {
198198
must: [
199-
{ match_phrase: { [`nested_identities.string_value`]: value } },
199+
{ match: { [`nested_identities.string_value`]: value } },
200200
{ match: { [`nested_identities.string_platform`]: platform } },
201201
{ term: { [`nested_identities.bool_verified`]: false } },
202202
],

services/apps/merge_suggestions_worker/src/workflows.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { mergeOrganizationsWithLLM } from './workflows/mergeOrganizationsWithLLM
55
import { spawnMemberMergeSuggestionsForAllTenants } from './workflows/spawnMemberMergeSuggestionsForAllTenants'
66
import { spawnOrganizationMergeSuggestionsForAllTenants } from './workflows/spawnOrganizationMergeSuggestionsForAllTenants'
77
import { testMergingEntitiesWithLLM } from './workflows/testMergingEntitiesWithLLM'
8+
import { testOrganizationMergeSuggestions } from './workflows/testOrganizationMergeSuggestions'
89

910
export {
1011
generateMemberMergeSuggestions,
@@ -14,4 +15,5 @@ export {
1415
testMergingEntitiesWithLLM,
1516
mergeOrganizationsWithLLM,
1617
mergeMembersWithLLM,
18+
testOrganizationMergeSuggestions,
1719
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import { proxyActivities } from '@temporalio/workflow'
2+
3+
import { IOrganizationBaseForMergeSuggestions, IOrganizationMergeSuggestion } from '@crowd/types'
4+
5+
import * as activities from '../activities/organizationMergeSuggestions'
6+
import { IProcessGenerateOrganizationMergeSuggestionsArgs } from '../types'
7+
import { chunkArray } from '../utils'
8+
9+
const activity = proxyActivities<typeof activities>({ startToCloseTimeout: '1 minute' })
10+
11+
export async function testOrganizationMergeSuggestions(
12+
args: IProcessGenerateOrganizationMergeSuggestionsArgs,
13+
): Promise<void> {
14+
const PAGE_SIZE = 25
15+
const PARALLEL_SUGGESTION_PROCESSING = 50
16+
17+
const result: IOrganizationBaseForMergeSuggestions[] = await activity.getOrganizations(
18+
args.tenantId,
19+
PAGE_SIZE,
20+
null,
21+
null,
22+
args.organizationIds,
23+
)
24+
25+
if (result.length === 0) {
26+
console.log('No organizations found for merge suggestion test!')
27+
return
28+
}
29+
30+
const allMergeSuggestions: IOrganizationMergeSuggestion[] = []
31+
32+
const promiseChunks = chunkArray(result, PARALLEL_SUGGESTION_PROCESSING)
33+
34+
for (const chunk of promiseChunks) {
35+
const mergeSuggestionsPromises: Promise<IOrganizationMergeSuggestion[]>[] = chunk.map(
36+
(organization) => activity.getOrganizationMergeSuggestions(args.tenantId, organization),
37+
)
38+
39+
const mergeSuggestionsResults: IOrganizationMergeSuggestion[][] =
40+
await Promise.all(mergeSuggestionsPromises)
41+
allMergeSuggestions.push(...mergeSuggestionsResults.flat())
42+
}
43+
44+
// Add all merge suggestions to add to merge
45+
if (allMergeSuggestions.length > 0) {
46+
console.log('Found merge suggestions!', allMergeSuggestions)
47+
} else {
48+
console.log('No merge suggestions found for provided organizations!')
49+
}
50+
}

0 commit comments

Comments
 (0)