feat(MED-131): handle analysis order

This commit is contained in:
2025-08-04 11:53:04 +03:00
parent 08950896e5
commit 91f6dd11be
10 changed files with 310 additions and 140 deletions

View File

@@ -0,0 +1,41 @@
import { getSupabaseServerClient } from "@kit/supabase/server-client";
import { getSupabaseServerAdminClient } from "@kit/supabase/server-admin-client";
import type { Tables } from "@/packages/supabase/src/database.types";
type Account = Tables<{ schema: 'medreport' }, 'accounts'>;
type Membership = Tables<{ schema: 'medreport' }, 'accounts_memberships'>;
export type AccountWithMemberships = Account & { memberships: Membership[] }
export async function getAccount(id: string): Promise<AccountWithMemberships> {
const { data } = await getSupabaseServerClient()
.schema('medreport')
.from('accounts')
.select('*, memberships: accounts_memberships (*)')
.eq('id', id)
.single()
.throwOnError();
return data as unknown as AccountWithMemberships;
}
export async function getAccountAdmin({
primaryOwnerUserId,
}: {
primaryOwnerUserId: string;
}): Promise<AccountWithMemberships> {
const query = getSupabaseServerAdminClient()
.schema('medreport')
.from('accounts')
.select('*, memberships: accounts_memberships (*)')
if (primaryOwnerUserId) {
query.eq('primary_owner_user_id', primaryOwnerUserId);
} else {
throw new Error('primaryOwnerUserId is required');
}
const { data } = await query.single().throwOnError();
return data as unknown as AccountWithMemberships;
}