diff --git a/apps/frontend/src/lib/http.ts b/apps/frontend/src/lib/http.ts index 8998194e..666e0b75 100644 --- a/apps/frontend/src/lib/http.ts +++ b/apps/frontend/src/lib/http.ts @@ -182,40 +182,46 @@ function request(config: Parameters>>[0]) return http.request, ApiEnvelope>(config) } -export function apiGet(url: string, params?: Record) { - return request({ method: 'GET', url, params }) +type RequestOptions = Partial[0]> + +export function apiGet(url: string, params?: Record, options?: RequestOptions) { + return request({ method: 'GET', url, params, ...options }) } -export function apiGetBlob(url: string, params?: Record) { +export function apiGetBlob(url: string, params?: Record, options?: RequestOptions) { return http.request({ method: 'GET', url, params, responseType: 'blob', + ...options, }) } -export function apiPost(url: string, data?: unknown) { +export function apiPost(url: string, data?: unknown, options?: RequestOptions) { return request({ method: 'POST', url, data: data as Record, + ...options, }) } -export function apiPut(url: string, data?: unknown) { +export function apiPut(url: string, data?: unknown, options?: RequestOptions) { return request({ method: 'PUT', url, data: data as Record, + ...options, }) } -export function apiPatch(url: string, data?: unknown) { +export function apiPatch(url: string, data?: unknown, options?: RequestOptions) { return request({ method: 'PATCH', url, data: data as Record, + ...options, }) } diff --git a/apps/frontend/src/services/admin/cost-center.ts b/apps/frontend/src/services/admin/cost-center.ts index 0882f669..4b9313bf 100644 --- a/apps/frontend/src/services/admin/cost-center.ts +++ b/apps/frontend/src/services/admin/cost-center.ts @@ -51,6 +51,7 @@ export function applyAdminTemplateProductBootstrap() { return apiPost( '/api/v1/admin/cost-center/template-bootstrap/apply', { repair: true }, + { timeout: 300_000 }, ) } @@ -160,7 +161,7 @@ export function syncAdminAffiliateDashCostSnapshots() { insertedCount: number batchCount: number } - }>('/api/v1/admin/cost-center/affiliate-products/sync-snapshots') + }>('/api/v1/admin/cost-center/affiliate-products/sync-snapshots', {}, { timeout: 300_000 }) } @@ -233,7 +234,7 @@ export function backfillAdminProductMappings(payload: Record) { limit: number batches: number remainingCount: number - }>('/api/v1/admin/cost-center/mappings/backfill', payload) + }>('/api/v1/admin/cost-center/mappings/backfill', payload, { timeout: 300_000 }) } export function backfillAdminNormalizedQuantities(payload: Record) { @@ -242,7 +243,7 @@ export function backfillAdminNormalizedQuantities(payload: Record('/api/v1/admin/cost-center/normalized-quantities/backfill', payload) + }>('/api/v1/admin/cost-center/normalized-quantities/backfill', payload, { timeout: 300_000 }) } export function fetchAdminCostItems(params?: Record) {