UNPKG

react-native-priv-sdk

Version:

Official MyCover.ai SDK. Supercharge your product with MyCover AI Insurance offerings. Create embedded insurance offerings or full white label insurance applications that excite your customers.

275 lines (270 loc) 9.06 kB
export class FormFieldModel { id: string | null; description: string | null; name: string | null; label: string | null; position: number | null; fullDescription: string | null; dataType: string | null; inputType: string | null; isCurrency: boolean | null; showFirst: boolean | null; required: boolean | null; hasChild: boolean | null; childData: FormFieldModel[] | null; errorMsg: string | null; dataSource: string | null; dataUrl: string | null; dependsOn: any | null; min: number | null; max: number | null; minMaxConstraint: string | null; createdAt: Date | null; updatedAt: Date | null; deletedAt: Date | null; formFieldId: string | null; productId: string | null; // formField: FormFieldDetailsModel | null; constructor(data: any) { this.id = data.id || null; this.description = data.description || null; this.name = data.name || null; this.label = data.label || null; this.position = data.position || null; this.fullDescription = data.fullDescription || null; this.dataType = data.dataType || null; this.inputType = data.inputType || null; this.isCurrency = data.isCurrency || null; this.showFirst = data.showFirst || null; this.required = data.required || null; this.hasChild = data.hasChild || null; this.childData = data.childData ? data.childData.map((item: any) => new FormFieldModel(item)) : null; this.errorMsg = data.errorMsg || null; this.dataSource = data.dataSource || null; this.dataUrl = data.dataUrl || null; this.dependsOn = data.dependsOn || null; this.min = data.min || null; this.max = data.max || null; this.minMaxConstraint = data.minMaxConstraint || null; this.createdAt = data.createdAt ? new Date(data.createdAt) : null; this.updatedAt = data.updatedAt ? new Date(data.updatedAt) : null; this.deletedAt = data.deletedAt ? new Date(data.deletedAt) : null; this.formFieldId = data.formFieldId || null; this.productId = data.productId || null; // this.formField = data.formField // ? FormFieldDetailsModel.fromJson(data.formField) // : null; } static fromJson(json: any): FormFieldModel { // log.info("JSON", json['show_first']); // log.info(JSON.stringify(json, null, 2) ); // log.info(JSON.stringify(json, null, 2) ); return new FormFieldModel({ id: json['id'], description: json['description'], name: json['name'], label: json['label'], position: json['position'], fullDescription: json['full_description'], dataType: json['data_type'], inputType: json['input_type'], isCurrency: json['is_currency'], showFirst: json['show_first'], required: json['required'], hasChild: json['has_child'], childData: json['child_data'] && Array.isArray(json['child_data']) && json['child_data'].length > 0 ? json['child_data'].map((item: any) => FormFieldModel.fromJson(item)) : null, errorMsg: json['error_msg'] ?? null, dataSource: json['data_source'] ?? null, dataUrl: json['data_url'] ?? null, dependsOn: json['depends_on'] ?? null, min: json['min'] ?? null, max: json['max'] ?? null, minMaxConstraint: json['min_max_constraint'] ?? null, createdAt: json['created_at'] ? new Date(json['created_at']) : null, updatedAt: json['updated_at'] ? new Date(json['updated_at']) : null, deletedAt: json['deleted_at'] ? new Date(json['deleted_at']) : null, formFieldId: json['form_field_id'] ?? null, productId: json['product_id'] ?? null, // formField: json['form_field'] ? FormFieldDetailsModel.fromJson(json['form_field']) : null }); } toJson(): any { return { id: this.id, description: this.description, name: this.name, label: this.label, position: this.position, full_description: this.fullDescription, data_type: this.dataType, input_type: this.inputType, is_currency: this.isCurrency, show_first: this.showFirst, required: this.required, has_child: this.hasChild, child_data: this.childData?.map((item) => item.toJson()) || null, error_msg: this.errorMsg, data_source: this.dataSource, data_url: this.dataUrl, depends_on: this.dependsOn, min: this.min, max: this.max, min_max_constraint: this.minMaxConstraint, created_at: this.createdAt ? this.createdAt.toISOString() : null, updated_at: this.updatedAt ? this.updatedAt.toISOString() : null, deleted_at: this.deletedAt ? this.deletedAt.toISOString() : null, form_field_id: this.formFieldId, product_id: this.productId, // form_field: this.formField ? this.formField.toJson() : null, }; } } // // Sample `beneficiaryFormField` instance // const beneficiaryFormField = new FormFieldModel({ // id: "75cefe9c-e1db-47d2-8974-76d0f775577c", // description: "Add details for those you want to add as beneficiaries", // name: "beneficiaries", // label: "Beneficiaries", // position: 11, // fullDescription: "Add details for those you want to add as beneficiaries", // dataType: "array", // inputType: "text", // isCurrency: false, // showFirst: false, // required: false, // hasChild: true, // childData: [ // new FormFieldModel({ // min: 3, // name: "first_name", // label: "First name", // position: 1, // required: true, // dataType: "string", // errorMsg: "Please provide first name", // inputType: "text", // productId: "fab6bda1-b870-4648-8704-11c1802a51d0", // showFirst: true, // dataSource: "user_defined", // description: "Beneficiary first name", // formFieldId: "1", // fullDescription: "Your first name", // minMaxConstraint: "day", // id: '', // isCurrency: null, // hasChild: null, // childData: null, // dataUrl: '', // dependsOn: null, // max: null, // createdAt: null, // updatedAt: null, // deletedAt: null, // formField: null, // }), // new FormFieldModel({ // min: 3, // name: "last_name", // label: "Last name", // position: 2, // required: true, // dataType: "string", // errorMsg: "Please provide last name", // inputType: "text", // productId: "fab6bda1-b870-4648-8704-11c1802a51d0", // showFirst: true, // dataSource: "user_defined", // description: "Beneficiary last name", // formFieldId: "1", // fullDescription: "Beneficiary last name", // minMaxConstraint: "day", // id: '', // isCurrency: null, // hasChild: null, // childData: null, // dataUrl: '', // dependsOn: null, // max: null, // createdAt: null, // updatedAt: null, // deletedAt: null, // formField: null, // }), // new FormFieldModel({ // name: "date_of_birth", // label: "Date of birth", // position: 3, // required: true, // dataType: "string", // errorMsg: "Please provide a valid date", // inputType: "date", // productId: "f8b5bca1-b870-4648-8704-11c1802a51d0", // showFirst: true, // dataSource: "user_defined", // description: "Date of birth", // formFieldId: "1", // fullDescription: "Date of birth", // id: '', // isCurrency: null, // hasChild: null, // childData: null, // dataUrl: '', // dependsOn: null, // max: null, // createdAt: null, // updatedAt: null, // deletedAt: null, // formField: null, // min: null, // minMaxConstraint: '', // }), // new FormFieldModel({ // name: "gender", // label: "Gender", // dataUrl: "/sdk/get-tangerine-gender", // position: 4, // required: true, // dataType: "string", // errorMsg: "Please provide a valid gender", // inputType: "text", // productId: "fab6bda1-b870-4648-8704-11c1802a51d0", // showFirst: false, // dataSource: "api", // description: "Your gender", // formFieldId: "2", // fullDescription: "Your gender", // id: '', // isCurrency: null, // hasChild: null, // childData: null, // dependsOn: null, // max: null, // createdAt: null, // updatedAt: null, // deletedAt: null, // formField: null, // minMaxConstraint: '', // min: null, // }), // ], // errorMsg: "Please provide a value", // dataSource: "user_defined", // dataUrl: null, // dependsOn: "number_of_beneficiaries", // min: 2, // max: null, // minMaxConstraint: "length", // createdAt: new Date("2023-06-08T18:33:44.519Z"), // updatedAt: new Date("2023-06-08T18:33:44.519Z"), // deletedAt: null, // formFieldId: "1", // productId: "fab6bda1-b870-4648-8704-11c1802a51d0", // formField: null, // });