Merge branch 'main' into MED-105-v3

This commit is contained in:
2025-08-14 12:21:46 +03:00
13 changed files with 183 additions and 45 deletions

View File

@@ -32,6 +32,7 @@ import { cn } from '@kit/ui/utils';
import { toTitleCase } from '~/lib/utils';
import { usePersonalAccountData } from '../hooks/use-personal-account-data';
import { ApplicationRole, ApplicationRoleEnum } from '../types/accounts';
const PERSONAL_ACCOUNT_SLUG = 'personal';
@@ -51,13 +52,13 @@ export function PersonalAccountDropdown({
id: string | null;
name: string | null;
picture_url: string | null;
application_role: string;
application_role: ApplicationRole | null;
};
accounts: {
label: string | null;
value: string | null;
image?: string | null;
application_role: string;
application_role: ApplicationRole | null;
}[];
signOutRequested: () => unknown;
@@ -97,13 +98,14 @@ export function PersonalAccountDropdown({
const isSuperAdmin = useMemo(() => {
const hasAdminRole =
personalAccountData?.application_role === 'super_admin';
personalAccountData?.application_role === ApplicationRoleEnum.SuperAdmin;
return hasAdminRole && hasTotpFactor;
}, [user, personalAccountData, hasTotpFactor]);
const isDoctor = useMemo(() => {
const hasDoctorRole = personalAccountData?.application_role === 'doctor';
const hasDoctorRole =
personalAccountData?.application_role === ApplicationRoleEnum.Doctor;
return hasDoctorRole && hasTotpFactor;
}, [user, personalAccountData, hasTotpFactor]);

View File

@@ -1,7 +1,17 @@
import { Database } from '@kit/supabase/database';
export type UserAnalysisElement = Database['medreport']['Tables']['analysis_response_elements']['Row'];
export type UserAnalysisResponse = Database['medreport']['Tables']['analysis_responses']['Row'] & {
elements: UserAnalysisElement[];
};
export type UserAnalysisElement =
Database['medreport']['Tables']['analysis_response_elements']['Row'];
export type UserAnalysisResponse =
Database['medreport']['Tables']['analysis_responses']['Row'] & {
elements: UserAnalysisElement[];
};
export type UserAnalysis = UserAnalysisResponse[];
export type ApplicationRole =
Database['medreport']['Tables']['accounts']['Row']['application_role'];
export enum ApplicationRoleEnum {
User = 'user',
Doctor = 'doctor',
SuperAdmin = 'super_admin',
}

View File

@@ -114,7 +114,8 @@ export class TeamAccountsApi {
role,
name,
slug,
picture_url
picture_url,
application_role
)
`,
)

View File

@@ -1563,6 +1563,9 @@ export type Database = {
Views: {
user_account_workspace: {
Row: {
application_role:
| Database["medreport"]["Enums"]["application_role"]
| null
id: string | null
name: string | null
picture_url: string | null
@@ -1574,6 +1577,9 @@ export type Database = {
}
user_accounts: {
Row: {
application_role:
| Database["medreport"]["Enums"]["application_role"]
| null
id: string | null
name: string | null
picture_url: string | null
@@ -1634,7 +1640,9 @@ export type Database = {
Returns: Json
}
create_team_account: {
Args: { account_name: string; new_personal_code: string }
Args:
| { account_name: string }
| { account_name: string; new_personal_code: string }
Returns: {
application_role: Database["medreport"]["Enums"]["application_role"]
city: string | null
@@ -1801,6 +1809,7 @@ export type Database = {
primary_owner_user_id: string
subscription_status: Database["medreport"]["Enums"]["subscription_status"]
permissions: Database["medreport"]["Enums"]["app_permissions"][]
application_role: Database["medreport"]["Enums"]["application_role"]
}[]
}
transfer_team_account_ownership: {