Skip to content

Commit 3ce13c2

Browse files
committed
fix: lint
1 parent 44ccf5f commit 3ce13c2

File tree

1 file changed

+29
-47
lines changed
  • services/libs/data-access-layer/src/members

1 file changed

+29
-47
lines changed

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

Lines changed: 29 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ interface BuildQueryArgs {
207207
includeMemberOrgs: boolean
208208
searchConfig: SearchConfig
209209
filterString: string
210-
orderBy?: string // e.g. "activityCount_DESC", "score_ASC", "joinedAt"
210+
orderBy?: string
211211
orderDirection?: OrderDirection
212212
limit?: number
213213
offset?: number
@@ -233,9 +233,7 @@ const parseOrderBy = (
233233

234234
const dir = (rawDir || '').toUpperCase()
235235
const direction: OrderDirection =
236-
dir === 'ASC' || dir === 'DESC'
237-
? (dir as OrderDirection)
238-
: fallbackDirection
236+
dir === 'ASC' || dir === 'DESC' ? (dir as OrderDirection) : fallbackDirection
239237

240238
return { field, direction }
241239
}
@@ -245,9 +243,7 @@ const getOrderClause = (
245243
direction: OrderDirection,
246244
withAggregates: boolean,
247245
): string => {
248-
const defaultOrder = withAggregates
249-
? 'msa."activityCount" DESC'
250-
: 'm."joinedAt" DESC'
246+
const defaultOrder = withAggregates ? 'msa."activityCount" DESC' : 'm."joinedAt" DESC'
251247

252248
if (!parsedField) return defaultOrder
253249

@@ -283,13 +279,10 @@ const buildQuery = ({
283279
// - sort is by activityCount (or default)
284280
// - filter does NOT reference mo. or me. (those aliases do not exist in top_members)
285281
const useActivityCountOptimized =
286-
withAggregates &&
287-
!filterHasMo &&
288-
!filterHasMe &&
289-
(!sortField || sortField === 'activityCount')
282+
withAggregates && !filterHasMo && !filterHasMe && (!sortField || sortField === 'activityCount')
290283

284+
log.info(`buildQuery: useActivityCountOptimized=${useActivityCountOptimized}`)
291285
if (useActivityCountOptimized) {
292-
log.info(`Using optimized activityCount path`)
293286
const ctes: string[] = []
294287

295288
// For optimized path:
@@ -308,7 +301,8 @@ const buildQuery = ({
308301
? `\n ${searchConfig.join}` // INNER JOIN member_search ms ON ms."memberId" = m.id
309302
: ''
310303

311-
ctes.push(`
304+
ctes.push(
305+
`
312306
top_members AS (
313307
SELECT
314308
msa."memberId"
@@ -322,7 +316,8 @@ const buildQuery = ({
322316
msa."activityCount" ${direction} NULLS LAST
323317
LIMIT ${limit} OFFSET ${offset}
324318
)
325-
`.trim())
319+
`.trim(),
320+
)
326321

327322
const withClause = `WITH ${ctes.join(',\n')}`
328323

@@ -347,24 +342,17 @@ const buildQuery = ({
347342
msa."activityCount" ${direction} NULLS LAST
348343
`.trim()
349344
}
350-
else {
351-
log.info(`Not using optimized activityCount path`)
352-
}
353345

354346
// Fallback path: any case that is not safe/eligible for optimization.
355-
// Here we MUST align joins with what filterString references.
356-
const baseCtes = [
357-
needsMemberOrgs ? buildMemberOrgsCTE(true) : '',
358-
searchConfig.cte,
359-
].filter(Boolean)
347+
const baseCtes = [needsMemberOrgs ? buildMemberOrgsCTE(true) : '', searchConfig.cte].filter(
348+
Boolean,
349+
)
360350

361351
const joins = [
362352
withAggregates
363353
? `INNER JOIN "memberSegmentsAgg" msa ON msa."memberId" = m.id AND msa."segmentId" = $(segmentId)`
364354
: '',
365-
needsMemberOrgs
366-
? `LEFT JOIN member_orgs mo ON mo."memberId" = m.id`
367-
: '',
355+
needsMemberOrgs ? `LEFT JOIN member_orgs mo ON mo."memberId" = m.id` : '',
368356
`LEFT JOIN "memberEnrichments" me ON me."memberId" = m.id`,
369357
searchConfig.join,
370358
].filter(Boolean)
@@ -399,18 +387,13 @@ const buildCountQuery = ({
399387
const filterHasMo = filterString.includes('mo.')
400388
const needsMemberOrgs = includeMemberOrgs || filterHasMo
401389

402-
const ctes = [
403-
needsMemberOrgs ? buildMemberOrgsCTE(true) : '',
404-
searchConfig.cte,
405-
].filter(Boolean)
390+
const ctes = [needsMemberOrgs ? buildMemberOrgsCTE(true) : '', searchConfig.cte].filter(Boolean)
406391

407392
const joins = [
408393
withAggregates
409394
? `INNER JOIN "memberSegmentsAgg" msa ON msa."memberId" = m.id AND msa."segmentId" = $(segmentId)`
410395
: '',
411-
needsMemberOrgs
412-
? `LEFT JOIN member_orgs mo ON mo."memberId" = m.id`
413-
: '',
396+
needsMemberOrgs ? `LEFT JOIN member_orgs mo ON mo."memberId" = m.id` : '',
414397
searchConfig.join,
415398
].filter(Boolean)
416399

@@ -544,7 +527,6 @@ export async function queryMembersAdvanced(
544527
attributeSettings = [] as IDbMemberAttributeSetting[],
545528
},
546529
): Promise<PageData<IDbMemberData>> {
547-
548530
const startTime = Date.now()
549531

550532
const withAggregates = !!segmentId
@@ -590,11 +572,11 @@ export async function queryMembersAdvanced(
590572

591573
// Build queries
592574
const countQuery = buildCountQuery({
593-
withAggregates,
594-
searchConfig,
595-
filterString,
596-
includeMemberOrgs: include.memberOrganizations,
597-
})
575+
withAggregates,
576+
searchConfig,
577+
filterString,
578+
includeMemberOrgs: include.memberOrganizations,
579+
})
598580

599581
if (countOnly) {
600582
const result = await qx.selectOne(countQuery, params)
@@ -627,15 +609,15 @@ export async function queryMembersAdvanced(
627609
log.info(`[PERF] Field preparation took: ${Date.now() - fieldsStartTime}ms`)
628610

629611
const mainQuery = buildQuery({
630-
fields: preparedFields,
631-
withAggregates, // true when you need memberSegmentsAgg
632-
includeMemberOrgs: include.memberOrganizations,
633-
searchConfig,
634-
filterString,
635-
orderBy, // e.g. 'activityCount' | 'score' | 'joinedAt'
636-
limit,
637-
offset,
638-
})
612+
fields: preparedFields,
613+
withAggregates, // true when you need memberSegmentsAgg
614+
includeMemberOrgs: include.memberOrganizations,
615+
searchConfig,
616+
filterString,
617+
orderBy, // e.g. 'activityCount' | 'score' | 'joinedAt'
618+
limit,
619+
offset,
620+
})
639621

640622
// log.info(`main query: ${formatSql(mainQuery, params)}`)
641623
// log.info(`count query: ${formatSql(countQuery, params)}`)

0 commit comments

Comments
 (0)