44 IntakeEntityType ,
55 IntakeSubmissionStatus ,
66} from "../../domain/intake/enums" ;
7+ import type { FieldType , FormDesignSettings } from "../../presentation/pages/IntakeFormBuilder/types" ;
78
89// Re-export enums for convenience
910export { IntakeFormStatus , IntakeEntityType , IntakeSubmissionStatus } ;
@@ -39,7 +40,7 @@ export interface FieldValidation {
3940 */
4041export interface FormField {
4142 id : string ;
42- type : string ;
43+ type : FieldType ;
4344 label : string ;
4445 placeholder ?: string ;
4546 helpText ?: string ;
@@ -78,7 +79,7 @@ export interface IntakeForm {
7879 riskAssessmentConfig ?: Record < string , unknown > | null ;
7980 llmKeyId ?: number | null ;
8081 suggestedQuestionsEnabled ?: boolean ;
81- designSettings ?: Record < string , unknown > | null ;
82+ designSettings ?: FormDesignSettings | null ;
8283 createdBy : number ;
8384 createdAt : Date ;
8485 updatedAt : Date ;
@@ -165,7 +166,7 @@ export async function getAllIntakeForms(
165166
166167 const url = `${ BASE_URL } /forms${ queryParams . toString ( ) ? `?${ queryParams } ` : "" } ` ;
167168 const response = await apiServices . get ( url , { signal } ) ;
168- return response . data ;
169+ return response . data as { data : IntakeForm [ ] ; pagination ?: { total : number ; page : number ; limit : number } } ;
169170}
170171
171172/**
@@ -176,7 +177,7 @@ export async function getIntakeForm(
176177 signal ?: AbortSignal
177178) : Promise < { data : IntakeForm } > {
178179 const response = await apiServices . get ( `${ BASE_URL } /forms/${ formId } ` , { signal } ) ;
179- return response . data ;
180+ return response . data as { data : IntakeForm } ;
180181}
181182
182183/**
@@ -196,12 +197,12 @@ export async function createIntakeForm(
196197 riskTierSystem ?: string ;
197198 llmKeyId ?: number | null ;
198199 suggestedQuestionsEnabled ?: boolean ;
199- designSettings ?: Record < string , unknown > | null ;
200+ designSettings ?: FormDesignSettings | null ;
200201 } ,
201202 signal ?: AbortSignal
202203) : Promise < { data : IntakeForm } > {
203204 const response = await apiServices . post ( `${ BASE_URL } /forms` , data , { signal } ) ;
204- return response . data ;
205+ return response . data as { data : IntakeForm } ;
205206}
206207
207208/**
@@ -221,12 +222,12 @@ export async function updateIntakeForm(
221222 riskTierSystem ?: string ;
222223 llmKeyId ?: number | null ;
223224 suggestedQuestionsEnabled ?: boolean ;
224- designSettings ?: Record < string , unknown > | null ;
225+ designSettings ?: FormDesignSettings | null ;
225226 } ,
226227 signal ?: AbortSignal
227228) : Promise < { data : IntakeForm } > {
228229 const response = await apiServices . patch ( `${ BASE_URL } /forms/${ formId } ` , data , { signal } ) ;
229- return response . data ;
230+ return response . data as { data : IntakeForm } ;
230231}
231232
232233/**
@@ -237,7 +238,7 @@ export async function deleteIntakeForm(
237238 signal ?: AbortSignal
238239) : Promise < { data : null } > {
239240 const response = await apiServices . delete ( `${ BASE_URL } /forms/${ formId } ` , { signal } ) ;
240- return response . data ;
241+ return response . data as { data : null } ;
241242}
242243
243244/**
@@ -248,7 +249,7 @@ export async function archiveIntakeForm(
248249 signal ?: AbortSignal
249250) : Promise < { data : IntakeForm } > {
250251 const response = await apiServices . post ( `${ BASE_URL } /forms/${ formId } /archive` , undefined , { signal } ) ;
251- return response . data ;
252+ return response . data as { data : IntakeForm } ;
252253}
253254
254255// ============================================================================
@@ -273,7 +274,7 @@ export async function getPendingSubmissions(
273274
274275 const url = `${ BASE_URL } /submissions${ queryParams . toString ( ) ? `?${ queryParams } ` : "" } ` ;
275276 const response = await apiServices . get ( url , { signal } ) ;
276- return response . data ;
277+ return response . data as { data : IntakeSubmission [ ] ; pagination ?: { total : number ; page : number ; limit : number } } ;
277278}
278279
279280/**
@@ -299,7 +300,22 @@ export async function getSubmissionPreview(
299300 } ;
300301} > {
301302 const response = await apiServices . get ( `${ BASE_URL } /submissions/${ submissionId } /preview` , { signal } ) ;
302- return response . data ;
303+ return response . data as {
304+ data : {
305+ submission : IntakeSubmission ;
306+ riskAssessment : RiskAssessment | null ;
307+ entityPreview : Record < string , unknown > ;
308+ form : {
309+ id : number ;
310+ name : string ;
311+ entityType : string ;
312+ schema : FormSchema ;
313+ riskTierSystem ?: string ;
314+ } ;
315+ riskTier ?: string | null ;
316+ riskOverride ?: RiskOverride | null ;
317+ } ;
318+ } ;
303319}
304320
305321/**
@@ -322,7 +338,7 @@ export async function approveSubmission(
322338 data || { } ,
323339 { signal }
324340 ) ;
325- return response . data ;
341+ return response . data as { data : { submission : IntakeSubmission ; createdEntity : unknown } } ;
326342}
327343
328344/**
@@ -338,7 +354,7 @@ export async function rejectSubmission(
338354 { reason } ,
339355 { signal }
340356 ) ;
341- return response . data ;
357+ return response . data as { data : IntakeSubmission } ;
342358}
343359
344360// ============================================================================
@@ -350,7 +366,7 @@ export async function rejectSubmission(
350366 */
351367export async function getCaptcha ( ) : Promise < { data : { question : string ; token : string } } > {
352368 const response = await apiServices . get ( `${ BASE_URL } /public/captcha` ) ;
353- return response . data ;
369+ return response . data as { data : { question : string ; token : string } } ;
354370}
355371
356372/**
@@ -370,7 +386,7 @@ export async function getPublicForm(
370386 entityType : IntakeEntityType ;
371387 schema : FormSchema ;
372388 submitButtonText : string ;
373- designSettings ?: Record < string , unknown > | null ;
389+ designSettings ?: FormDesignSettings | null ;
374390 } ;
375391 previousData ?: Record < string , unknown > ;
376392 previousSubmitterName ?: string ;
@@ -379,7 +395,23 @@ export async function getPublicForm(
379395} > {
380396 const queryParams = resubmissionToken ? `?token=${ resubmissionToken } ` : "" ;
381397 const response = await apiServices . get ( `${ BASE_URL } /public/${ tenantSlug } /${ formSlug } ${ queryParams } ` ) ;
382- return response . data ;
398+ return response . data as {
399+ data : {
400+ form : {
401+ id : number ;
402+ name : string ;
403+ description : string ;
404+ slug : string ;
405+ entityType : IntakeEntityType ;
406+ schema : FormSchema ;
407+ submitButtonText : string ;
408+ designSettings ?: FormDesignSettings | null ;
409+ } ;
410+ previousData ?: Record < string , unknown > ;
411+ previousSubmitterName ?: string ;
412+ previousSubmitterEmail ?: string ;
413+ } ;
414+ } ;
383415}
384416
385417/**
@@ -404,7 +436,7 @@ export async function submitPublicForm(
404436 } ;
405437} > {
406438 const response = await apiServices . post ( `${ BASE_URL } /public/${ tenantSlug } /${ formSlug } ` , data ) ;
407- return response . data ;
439+ return response . data as { data : { submissionId : number ; resubmissionToken : string ; message : string } } ;
408440}
409441
410442/**
@@ -423,7 +455,7 @@ export async function getPublicFormById(
423455 entityType : IntakeEntityType ;
424456 schema : FormSchema ;
425457 submitButtonText : string ;
426- designSettings ?: Record < string , unknown > | null ;
458+ designSettings ?: FormDesignSettings | null ;
427459 } ;
428460 previousData ?: Record < string , unknown > ;
429461 previousSubmitterName ?: string ;
@@ -432,7 +464,23 @@ export async function getPublicFormById(
432464} > {
433465 const queryParams = resubmissionToken ? `?token=${ resubmissionToken } ` : "" ;
434466 const response = await apiServices . get ( `${ BASE_URL } /public/by-id/${ publicId } ${ queryParams } ` ) ;
435- return response . data ;
467+ return response . data as {
468+ data : {
469+ form : {
470+ id : number ;
471+ name : string ;
472+ description : string ;
473+ slug : string ;
474+ entityType : IntakeEntityType ;
475+ schema : FormSchema ;
476+ submitButtonText : string ;
477+ designSettings ?: FormDesignSettings | null ;
478+ } ;
479+ previousData ?: Record < string , unknown > ;
480+ previousSubmitterName ?: string ;
481+ previousSubmitterEmail ?: string ;
482+ } ;
483+ } ;
436484}
437485
438486// ============================================================================
@@ -460,5 +508,5 @@ export async function submitPublicFormById(
460508 } ;
461509} > {
462510 const response = await apiServices . post ( `${ BASE_URL } /public/by-id/${ publicId } ` , data ) ;
463- return response . data ;
511+ return response . data as { data : { submissionId : number ; resubmissionToken : string ; message : string } } ;
464512}
0 commit comments