Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 4 additions & 6 deletions backend/src/database/repositories/organizationRepository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1152,21 +1152,19 @@ class OrganizationRepository {
const query = `
with leaf_segment_ids as (${segmentsSubQuery}),
member_data as (select a."organizationId",
count(distinct m.id) filter ( where mo."dateEnd" is null ) as "memberCount",
count(distinct a."memberId") as "memberCount",
count(distinct a.id) as "activityCount",
case
when array_agg(distinct a.platform) = array [null] then array []::text[]
else array_agg(distinct a.platform) end as "activeOn",
max(a.timestamp) as "lastActive",
min(a.timestamp) filter ( where a.timestamp <> '1970-01-01T00:00:00.000Z' ) as "joinedAt"
from leaf_segment_ids ls
left join activities a
join activities a
on a."segmentId" = ls.id and a."organizationId" = :id and
a."deletedAt" is null
left join members m on a."memberId" = m.id and m."deletedAt" is null
left join "memberOrganizations" mo
on m.id = mo."memberId" and mo."organizationId" = :id
left join "memberIdentities" mi on m.id = mi."memberId"
join members m on a."memberId" = m.id and m."deletedAt" is null
join "memberOrganizations" mo on m.id = mo."memberId" and mo."organizationId" = :id and mo."dateEnd" is null
group by a."organizationId"),
organization_segments as (select "organizationId", array_agg("segmentId") as "segments"
from "organizationSegments"
Expand Down
10 changes: 5 additions & 5 deletions services/apps/search_sync_worker/src/repo/organization.repo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,23 +19,23 @@ export class OrganizationRepository extends RepositoryBase<OrganizationRepositor
member_data as (
select os."segmentId",
os."organizationId",
count(distinct m.id) filter ( where mo."dateEnd" is null ) as "memberCount",
count(distinct a."memberId") as "memberCount",
count(distinct a.id) as "activityCount",
case
when array_agg(distinct a.platform) = array [null] then array []::text[]
else array_agg(distinct a.platform) end as "activeOn",
max(a.timestamp) as "lastActive",
min(a.timestamp) filter ( where a.timestamp <> '1970-01-01T00:00:00.000Z') as "joinedAt"
from organization_segments os
left join activities a
join activities a
on a."organizationId" = os."organizationId"
and a."segmentId" = os."segmentId" and a."deletedAt" is null
left join members m on a."memberId" = m.id and m."deletedAt" is null
left join "memberOrganizations" mo
join members m on a."memberId" = m.id and m."deletedAt" is null
join "memberOrganizations" mo
on m.id = mo."memberId"
and a."organizationId" = mo."organizationId"
and mo."deletedAt" is null
left join "memberIdentities" mi on m.id = mi."memberId"
and mo."dateEnd" is null
group by os."segmentId", os."organizationId"
),
identities as (
Expand Down