feat(MED-97): move order status updating to user-analyses feature pkg

This commit is contained in:
2025-09-26 09:43:49 +03:00
parent 07237dece6
commit fc63b9e7b7
6 changed files with 61 additions and 25 deletions

View File

@@ -4,7 +4,7 @@ import type { UuringuVastus } from '@kit/shared/types/medipost-analysis';
import { toArray } from '@kit/shared/utils';
import { Database } from '@kit/supabase/database';
import type { AnalysisOrder } from '../types/analysis-orders';
import type { AnalysisOrder, AnalysisOrderStatus } from '../types/analysis-orders';
import type {
AnalysisResultDetailsElement,
AnalysisResultDetailsMapped,
@@ -450,6 +450,32 @@ class UserAnalysesApi {
return data;
}
async updateAnalysisOrderStatus({
orderId,
medusaOrderId,
orderStatus,
}: {
orderId?: number;
medusaOrderId?: string;
orderStatus: AnalysisOrderStatus;
}) {
const orderIdParam = orderId;
const medusaOrderIdParam = medusaOrderId;
console.info(`Updating order id=${orderId} medusaOrderId=${medusaOrderId} status=${orderStatus}`);
if (!orderIdParam && !medusaOrderIdParam) {
throw new Error('Either orderId or medusaOrderId must be provided');
}
await this.client
.schema('medreport')
.rpc('update_analysis_order_status', {
order_id: orderIdParam ?? -1,
status_param: orderStatus,
medusa_order_id_param: medusaOrderIdParam ?? '',
})
.throwOnError();
}
}
export function createUserAnalysesApi(client: SupabaseClient<Database>) {

View File

@@ -1,3 +1,4 @@
import { Tables } from '@kit/supabase/database';
export type AnalysisOrder = Tables<{ schema: 'medreport' }, 'analysis_orders'>;
export type AnalysisOrderStatus = AnalysisOrder['status'];