ravcredit-lib 0.0.14 → 0.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/ravcredit-lib.mjs.map +1 -1
- package/index.d.ts +7 -3
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ravcredit-lib.mjs","sources":["../../../projects/ravcredit-lib/src/lib/ravcredit-lib.service.ts","../../../projects/ravcredit-lib/src/lib/ravcredit-lib.component.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oAddress.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oConekta.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oCustomer.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilClient.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilBusiness.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilContract.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oGlobal.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oLogIn.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oNotification.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oPassport.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oVerification.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilsHttp.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilDynamiCore.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilConekta.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilNotification.ts","../../../projects/ravcredit-lib/src/lib/v1/const/constants.ts","../../../projects/ravcredit-lib/src/lib/v1/idb/indexed-db.service.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilTime.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilDashboard.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilPassport.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilPayment.ts","../../../projects/ravcredit-lib/src/lib/v2/objects/oContract.ts","../../../projects/ravcredit-lib/src/lib/v2/objects/oAsset.ts","../../../projects/ravcredit-lib/src/public-api.ts","../../../projects/ravcredit-lib/src/ravcredit-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RavcreditLibService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-ravcredit-lib',\r\n standalone: true,\r\n imports: [],\r\n template: `\r\n <p>\r\n ravcredit-lib works!\r\n </p>\r\n `,\r\n styles: ``\r\n})\r\nexport class RavcreditLibComponent {\r\n\r\n}\r\n","export interface oAddress {\n street: string,\n city: string,\n neighbor: string,\n zip: string,\n ext: string,\n int: string,\n state: string,\n}\n\nexport const cAddress: oAddress = {\n street: \"\",\n city: \"\",\n neighbor: \"\",\n zip: \"\",\n ext: \"\",\n int: \"\",\n state: \"\"\n}\n","export enum eConektaRes {\r\n CUSTOMER_CREATED = 'customer.created',\r\n ORDER_PENDING_PAYMENT = 'order.pending_payment',\r\n ORDER_CREATED = 'order.created',\r\n CHARGE_CREATED = 'charge.created',\r\n ORDER_PAID = 'order.paid',\r\n CHARGE_PAID = 'charge.paid',\r\n}\r\n\r\nexport enum eConektaOrderStatus {\r\n expired = 'expired',\r\n paid = 'paid',\r\n pending_payment = 'pending_payment',\r\n}\r\n\r\nexport interface oConektaResObjChargePaid {\r\n id: string,\r\n livemode: boolean\r\n created_at: number\r\n currency: string\r\n payment_method: any\r\n object: string\r\n description: string\r\n status: string\r\n amount: number\r\n paid_at: number\r\n fee: number\r\n customer_id: string\r\n order_id: string\r\n}\r\n\r\nexport interface oConektaCustomerInfo {\r\n email: string;\r\n phone: string | null;\r\n name: string;\r\n corporate: boolean;\r\n customer_id: string;\r\n object: string;\r\n customer_custom_reference: string | null;\r\n}\r\n\r\nexport interface oConektaChannel {\r\n segment: string;\r\n checkout_request_id: string;\r\n checkout_request_type: string;\r\n id: string;\r\n}\r\n\r\nexport interface oConektaCheckout {\r\n id: string;\r\n name: string;\r\n livemode: boolean;\r\n emails_sent: number;\r\n success_url: string;\r\n failure_url: string;\r\n payments_limit_count: number | null;\r\n paid_payments_count: number;\r\n status: string;\r\n type: string;\r\n recurrent: boolean;\r\n starts_at: number;\r\n expires_at: number;\r\n allowed_payment_methods: string[];\r\n needs_shipping_contact: boolean;\r\n redirection_time: number | null;\r\n metadata: object;\r\n can_not_expire: boolean;\r\n object: string;\r\n is_redirect_on_failure: boolean;\r\n slug: string;\r\n url: string;\r\n}\r\n\r\nexport interface oConektaLineItem {\r\n name: string;\r\n description: string | null;\r\n unit_price: number;\r\n quantity: number;\r\n sku: string | null;\r\n tags: string[] | null;\r\n brand: string | null;\r\n type: string | null;\r\n object: string;\r\n id: string;\r\n parent_id: string;\r\n metadata: object;\r\n antifraud_info: object;\r\n}\r\n\r\nexport interface oConektaLineItems {\r\n object: string;\r\n has_more: boolean;\r\n total: number;\r\n data: oConektaLineItem[];\r\n}\r\n\r\nexport interface oConektaCharges {\r\n object: string;\r\n has_more: boolean;\r\n total: number;\r\n data: oConektaChargeData[];\r\n}\r\n\r\nexport interface oConektaPaymentMethod {\r\n service_name: string;\r\n barcode_url: string;\r\n store: string;\r\n auth_code: number;\r\n object: string;\r\n type: string;\r\n expires_at: number;\r\n store_name: string;\r\n reference: string;\r\n cashier_id: string;\r\n}\r\n\r\nexport interface oConektaChargeData {\r\n id: string;\r\n livemode: boolean;\r\n created_at: number;\r\n currency: string;\r\n failure_code: string | null;\r\n failure_message: string | null;\r\n channel: oConektaChannel;\r\n payment_method: oConektaPaymentMethod;\r\n object: string;\r\n device_fingerprint: string;\r\n description: string;\r\n is_refundable: boolean;\r\n reference_id: string | null;\r\n status: string;\r\n amount: number;\r\n paid_at: number;\r\n customer_id: string;\r\n order_id: string;\r\n is_button_premia: boolean;\r\n refunds: string | null;\r\n}\r\n\r\nexport interface oConektaResObjOrderPaid {\r\n livemode: boolean\r\n amount: number\r\n currency: string\r\n payment_status: string\r\n amount_refunded: number\r\n customer_info: oConektaCustomerInfo,\r\n object: string\r\n id: string\r\n metadata: any\r\n is_refundable: boolean\r\n created_at: number\r\n updated_at: number\r\n line_items: any\r\n charges: any\r\n}\r\n\r\nexport interface oConektaCustomerInfo {\r\n email: string;\r\n phone: string | null;\r\n name: string;\r\n corporate: boolean;\r\n customer_id: string;\r\n object: string;\r\n customer_custom_reference: string | null;\r\n}\r\n\r\nexport interface oConektaOrder {\r\n livemode: boolean;\r\n amount: number;\r\n currency: string;\r\n payment_status: string;\r\n amount_refunded: number;\r\n customer_info: oConektaCustomerInfo;\r\n shipping_contact: string | null;\r\n channel: oConektaChannel;\r\n fiscal_entity: string | null;\r\n object: string;\r\n id: string;\r\n metadata: object;\r\n is_refundable: boolean;\r\n created_at: number;\r\n updated_at: number;\r\n checkout: oConektaCheckout;\r\n is_button_premia: boolean;\r\n line_items: oConektaLineItems;\r\n shipping_lines: string | null;\r\n tax_lines: string | null;\r\n discount_lines: string | null;\r\n charges: oConektaCharges;\r\n}\r\n\r\nexport interface oConektaOrdersResponse {\r\n next_page_url: string | null;\r\n previous_page_url: string | null;\r\n has_more: boolean;\r\n object: string;\r\n data: oConektaOrder[];\r\n}\r\n\r\n/******************************************************* Order Create */\r\nexport interface oConektaNewOrderCustomerInfo {\r\n customer_id: string;\r\n}\r\n\r\nexport interface oConektaNewOrderPymMethod {\r\n expires_at: number;\r\n type: string;\r\n}\r\n\r\nexport interface oConektaNewOrderCharge {\r\n payment_method: oConektaNewOrderPymMethod;\r\n amount: number;\r\n}\r\n\r\nexport interface oConektaNewOrderAntifraudInfo {\r\n newKey: string;\r\n}\r\n\r\nexport interface oConektaNewOrderLineItem {\r\n antifraud_info: oConektaNewOrderAntifraudInfo;\r\n name: string;\r\n quantity: number;\r\n unit_price: number;\r\n}\r\n\r\nexport interface oConektaOrderCreate {\r\n customer_info: oConektaNewOrderCustomerInfo;\r\n charges: oConektaNewOrderCharge[];\r\n currency: string;\r\n line_items: oConektaNewOrderLineItem[];\r\n}\r\n\r\nexport interface oConektaNewOrder {\r\n data: oConektaOrderCreate;\r\n date?: number,\r\n id: string\r\n}\r\n\r\n/* ****************************************************************************** */\r\n\r\nexport interface oConektaResPrevAttr {\r\n status: string\r\n}\r\n\r\nexport interface oConektaResData {\r\n object: oConektaResObjChargePaid | oConektaResObjOrderPaid\r\n previous_attributes: oConektaResPrevAttr\r\n}\r\n\r\nexport interface iConektaResObjChargePaidMethod {\r\n barcode_url: string\r\n expires_at: number\r\n object: string\r\n reference: string\r\n service_name: string\r\n store: string\r\n type: string\r\n}\r\n\r\nexport interface iConektaResObjChargePaid {\r\n id: string,\r\n livemode: boolean\r\n created_at: number\r\n currency: string\r\n payment_method: iConektaResObjChargePaidMethod\r\n object: string\r\n description: string\r\n status: string\r\n amount: number\r\n paid_at: number\r\n fee: number\r\n customer_id: string\r\n order_id: string\r\n}\r\n\r\nexport interface iConektaResPrevAttr {\r\n status: string;\r\n}\r\n\r\nexport interface iConektaResData {\r\n object: iConektaResObjChargePaid;\r\n previous_attributes: iConektaResPrevAttr;\r\n}\r\n\r\nexport interface oConektaRes {\r\n client_id?: string\r\n data: iConektaResData\r\n livemode: false,\r\n webhook_status: string\r\n webhook_logs: any[],\r\n id: string\r\n object: string\r\n type: eConektaRes\r\n created_at: number\r\n}\r\n\r\n/******************************************************* New reference res */\r\nexport interface iConektaSources {\r\n type: string,\r\n expires_at?: number\r\n}\r\n\r\nexport interface iOxxorecurrentSourcesData {\r\n id: string,\r\n object: string,\r\n type: string,\r\n provider: string,\r\n reference: string,\r\n barcode: string,\r\n barcode_url: string,\r\n expires_at: number,\r\n created_at: number,\r\n parent_id: string\r\n}\r\n\r\nexport interface iOxxoRecurrentSources {\r\n object: string,\r\n has_more: boolean,\r\n total: number,\r\n data: iOxxorecurrentSourcesData[]\r\n}\r\n\r\nexport interface iConektaRecurrent {\r\n corporate: boolean,\r\n created_at: number,\r\n customer_reference?: string\r\n email: string\r\n id: string\r\n livemode: boolean,\r\n name: string\r\n phone: string\r\n object: string\r\n custom_id: string,\r\n payment_sources: iOxxoRecurrentSources\r\n}\r\n\r\n/******************************************************* New reference constant */\r\nexport const cOxxorecurrentSourcesData: iOxxorecurrentSourcesData = {\r\n id: \"\",\r\n object: \"\",\r\n type: \"\",\r\n provider: \"\",\r\n reference: \"\",\r\n barcode: \"\",\r\n barcode_url: \"\",\r\n expires_at: 0,\r\n created_at: 0,\r\n parent_id: \"\"\r\n}\r\n\r\nexport const cOxxoRecurrentSources: iOxxoRecurrentSources = {\r\n object: \"\",\r\n has_more: false,\r\n total: 0,\r\n data: []\r\n}\r\n\r\nexport const cConektaRecurrent: iConektaRecurrent = {\r\n livemode: false,\r\n name: \"\",\r\n email: \"\",\r\n phone: \"\",\r\n id: \"\",\r\n object: \"\",\r\n created_at: 0,\r\n corporate: false,\r\n custom_id: \"\",\r\n payment_sources: cOxxoRecurrentSources\r\n}\r\n\r\n//\r\n// {\r\n// data: {\r\n// object: {\r\n// id: '66bf1b25e341ed00158a169a',\r\n// livemode: false,\r\n// created_at: 1723800357,\r\n// currency: 'MXN',\r\n// payment_method: [Object],\r\n// object: 'charge',\r\n// description: 'Payment from order',\r\n// status: 'paid',\r\n// amount: 28125,\r\n// paid_at: 1723800396,\r\n// fee: 1273,\r\n// customer_id: '',\r\n// order_id: 'ord_2wTWbvyFgywHDvTZg'\r\n// },\r\n// previous_attributes: { status: 'pending_payment' }\r\n// },\r\n// livemode: false,\r\n// webhook_status: 'pending',\r\n// webhook_logs: [\r\n// {\r\n// id: 'webhl_2wTWcRE8ThHpvG1QQ',\r\n// url: 'https://b1b6-2806-230-2610-b3ed-dcbe-6d32-758f-17c6.ngrok-free.app/api/v1/webhook',\r\n// failed_attempts: 0,\r\n// last_http_response_status: -1,\r\n// response_data: null,\r\n// object: 'webhook_log',\r\n// last_attempted_at: 0\r\n// }\r\n// ],\r\n// id: '66bf1b4c2973ff0001dff653',\r\n// object: 'event',\r\n// type: 'charge.paid',\r\n// created_at: 1723800396\r\n// }\r\n","export interface oCustomer {\n livemode: boolean\n name: string\n email: string\n phone: string\n id: string\n object: string\n created_at: number\n corporate: boolean\n custom_reference: string\n}\n\n\nexport interface oCustomerInfo {\n customer_id: string\n name?: string\n email?: string\n phone?: string\n}\n\n//\n// export interface iCustomerInfo = Pick<iCustomer, email | id | name | phone> {\n//\n// customer_id:string\n// }\n// {\n// livemode: false,\n// name: Vicente Mendoza,\n// email: vicente.mendoza@conekta.com,\n// phone: 5566982093,\n// id: cus_2wHtqBNsSggaYdfXu,\n// object: customer,\n// created_at: 1721258796,\n// corporate: false,\n// custom_reference:\n// }\n","import {oClient, oUserReference} from '../objects/oClient';\nimport {cConektaRecurrent, iConektaRecurrent, iConektaSources} from '../objects/oConekta';\nimport {oContract} from '../objects/oContract';\nimport {cContract} from './UtilContract';\nimport {eClientStatus, tyClientContract} from '../objects/oGlobal';\nimport {IDCAccount, IDCClient} from './UtilDynamiCore';\nimport {oFinancial} from '../objects/oFinancial';\n\nexport const cClient: oClient = {\n id: \"\",\n name: \"\",\n username: \"\",\n email: \"\",\n phone: \"\",\n curp: \"\",\n contract_temporary: \"\",\n conekta_id: \"\",\n userReferences: [],\n status: \"\"\n}\n\nexport interface oClientConekta {\n ravcredit: oClient;\n conekta: iConektaRecurrent;\n}\n\nexport const cUserReference: oUserReference = {\n name: \"\",\n phone: \"\",\n relationship: \"\"\n}\n\nexport const cClientConekta: oClientConekta = {\n conekta: cConektaRecurrent,\n ravcredit: cClient\n}\n\nexport interface iClientContract {\n client: oClient;\n contract: oContract;\n}\n\nexport const cClientContract: iClientContract = {\n client: cClient,\n contract: cContract,\n}\n\nexport class FactoryClient {\n\n public static CreateClientToConektaObj(data: oClient) {\n const o: any = {}\n if (data.name && data.name.length > 0) o.name = data.name;\n if (data.username && data.name.length > 0) o.username = data.username;\n if (data.email && data.email.length > 0) o.email = data.email;\n if (data.phone && data.phone.length > 0) o.phone = String(data.phone);\n if (data.curp && data.curp.length > 0) o.curp = data.curp;\n if (data.userReferences && data.userReferences.length > 0) o.userReferences = data.userReferences;\n if (data.contract) o.contract = data.contract;\n if (data.createdAt) o.createdAt = data.createdAt;\n if (data.lastLogin) o.lastLogin = data.lastLogin;\n if (data.conekta_id) o.conekta_id = data.conekta_id;\n\n return o\n }\n\n public static CreateClientFromFormObj(data: any, client?: oClient): oClient {\n const o: oClient = {\n id: \"\",\n name: data[\"client\"][0].name,\n username: data[\"auth\"][0].username,\n password: data[\"auth\"][0].password,\n email: data[\"client\"][0].email,\n phone: String(data[\"client\"][0].phone),\n curp: data[\"client\"][0].curp,\n userReferences: data[\"client\"][0].userReferences,\n status: eClientStatus.ACTIVE\n }\n\n if (client != undefined) {\n if (client.dynamic_id) o.dynamic_id = client.dynamic_id;\n if (client.dynamic_account) o.dynamic_account = client.dynamic_account;\n if (client.conekta_id) o.conekta_id = client.conekta_id;\n }\n\n return o\n }\n\n public static CreateClientConektaObj(data: oClient, finalDate: number) {\n const sources: iConektaSources = {\n type: \"oxxo_recurrent\",\n expires_at: finalDate\n }\n return {\n name: data.name,\n email: data.email,\n phone: data.phone,\n contract: data.contract_temporary,\n client_id: data.id,\n payment_sources: [sources]\n }\n }\n\n public static MapperConektaClient(\n client: oClient,\n conekta: iConektaRecurrent,\n ): iClientContract {\n const o: oClient = client\n\n o.name = conekta.name\n o.email = conekta.email\n o.phone = conekta.phone\n o.conekta_id = conekta.id\n\n return {\n client: o,\n contract: cContract\n }\n }\n\n public static MapperTypeContCli_Client(_client: tyClientContract): oClient {\n const client: oClient = {\n id: _client.id,\n name: _client.name,\n username: _client.username,\n email: _client.email,\n phone: _client.phone,\n curp: _client.curp,\n userReferences: _client.userReferences,\n status: _client.status,\n contract: _client.contract,\n reference: _client.reference,\n references: _client.references,\n conekta_id: _client.conekta_id,\n dynamic_account: _client.dynamic_account,\n token: _client.token,\n contract_temporary: _client.contract_temporary,\n lastLogin: _client.lastLogin,\n dynamic_id: _client.dynamic_id,\n createdAt: _client.createdAt,\n payments: _client.payments,\n password: _client.password,\n contractUrl: _client.contractUrl,\n dynamic_ref: _client.dynamic_ref,\n exists: _client.exists,\n passport_id: _client.passport_id,\n }\n\n return client\n }\n\n public static MapperDynamicClient(\n dynamic: IDCClient,\n client: oClient,\n contract: oContract,\n clientDyn?: IDCClient,\n account?: IDCAccount,\n ): iClientContract {\n // const o: tyClientContract = cTyClientContract\n\n /* Client ------------------------------------------------------ */\n client.username = `${dynamic.pii.name} ${dynamic.pii.motherlastname} ${dynamic.pii.lastname}`\n client.phone = dynamic.pii.phone as string\n client.dynamic_id = dynamic.id\n client.curp = dynamic.pii.curp\n client.email = dynamic.pii.email\n\n if (account)\n client.dynamic_account = account.id\n\n /* Auth ---------------------------------------------------------- */\n\n\n /* Device -------------------------------------------------------- */\n contract.device.IMEI = clientDyn!.pii.imei\n contract.device.device = clientDyn!.pii.model\n\n /* Contract ------------------------------------------------------ */\n contract.by = clientDyn!.pii.seller_name\n\n if (clientDyn!.pii.fotografia_del_cliente_con_el_equipo != undefined) {\n const oPhoto = clientDyn!.pii.fotografia_del_cliente_con_el_equipo!\n if (oPhoto != \"\") {\n const _photo = JSON.parse(oPhoto)\n if (_photo)\n contract.photo = _photo[0].url\n }\n }\n\n contract.address.state = dynamic.pii.state\n contract.address.city = dynamic.pii.city\n contract.address.street = dynamic.pii.street\n contract.address.ext = dynamic.pii.num_ext as string\n contract.address.zip = dynamic.pii.zipcode as string\n contract.address.neighbor = dynamic.pii.colony\n\n /* Financial ------------------------------------------------------ */\n contract.dynamicAccount = Number(account?.id)\n\n if (account?.config.installments) {\n contract.financial.deadlines = {\n weeks: account.config.installments,\n interest: 0\n }\n }\n\n if (account?.properties.expected_disbursed)\n contract.financial.total = account?.properties.expected_disbursed\n\n if (account?.properties.principal_disbursed)\n contract.financial.financed = account?.properties.principal_disbursed\n\n if (account?.properties.amount_commission_opening) {\n contract.financial.initial = account?.properties.amount_commission_opening\n contract.financial.amount_commission_opening = account?.properties.amount_commission_opening\n }\n\n contract.financial.interest_rate = Number(clientDyn!.pii.interest_rate)\n contract.financial.interest_arrears = account?.config.interest_arrears\n contract.financial.commission_opening = account?.config.commission_opening\n contract.financial.credit_type = account?.config.credit_type\n\n contract.financial.principal_disbursed = account?.properties.principal_disbursed\n contract.financial.expected_disbursed = account?.properties.expected_disbursed\n\n contract.financial.weeklyPayment = Number(clientDyn!.pii.amount_by_period)\n\n return {\n client: client,\n contract: contract,\n }\n }\n\n public static MapperFinancialContract(\n contract: oContract,\n account: IDCAccount,\n ): oFinancial {\n\n contract.dynamicAccount = Number(account.id)\n\n if (account.config.installments) {\n contract.financial.deadlines = {\n weeks: account.config.installments,\n interest: 0\n }\n }\n\n const total =\n account.config.financed_amount != undefined ? account.config.financed_amount : 0\n\n if (total > 0)\n contract.financial.total = total\n\n // if (account.properties.expected_disbursed)\n const expected_disbursed =\n account.properties.expected_disbursed != undefined ? account.properties.expected_disbursed : 0\n\n if (expected_disbursed > 0) contract.financial.total = expected_disbursed\n contract.financial.expected_disbursed = expected_disbursed\n\n contract.financial.interest_rate = account.config.interest_rate\n contract.financial.interest_arrears = account.config.interest_arrears\n\n // if (account.properties.principal_disbursed)\n if (account.properties.principal_disbursed > 0)\n contract.financial.financed = account.properties.principal_disbursed\n\n contract.financial.principal_disbursed = account.properties.principal_disbursed\n\n const amount_commission_opening =\n account.properties.amount_commission_opening != undefined ? account.properties.amount_commission_opening : 0\n\n if (amount_commission_opening > 0)\n contract.financial.initial = amount_commission_opening\n\n contract.financial.amount_commission_opening = amount_commission_opening\n\n contract.financial.interest_arrears = account.config.interest_arrears\n contract.financial.commission_opening = account.config.commission_opening\n contract.financial.credit_type = account.config.credit_type\n\n contract.financial.clabe = String(account.properties.clabe!)\n\n return contract.financial\n }\n}\n","import {UntypedFormArray, UntypedFormControl, Validators} from \"@angular/forms\";\nimport {\n oBusinessConfig,\n oBusinessDeadlines,\n oBusinessInfo,\n oSchedule,\n oTmpBusinessConfig,\n weekSchedule\n} from \"../objects/oBusiness\";\nimport {cAddress, oAddress} from '../objects/oAddress';\n\nexport const cSchedule: oSchedule = {\n day: \"\",\n open: 0,\n close: 0,\n}\n\nexport const cEmptyDay: oSchedule = {\n close: 0, open: 0, day: \"\"\n}\n\nexport const week: string[] = [\n \"monday\", \"tuesday\", \"wednesday\", \"thursday\", \"friday\", \"saturday\", \"sunday\"\n]\n\nexport const cDefinedSchedule: oSchedule[] = [\n {close: 0, open: 0, day: \"monday\"},\n {close: 0, open: 0, day: \"tuesday\"},\n {close: 0, open: 0, day: \"wednesday\"},\n {close: 0, open: 0, day: \"thursday\"},\n {close: 0, open: 0, day: \"friday\"},\n {close: 0, open: 0, day: \"saturday\"},\n {close: 0, open: 0, day: \"sunday\"},\n]\n\nexport const cBusinessInfo: oBusinessInfo = {\n version: \"v2024\",\n name: \"\",\n address: cAddress,\n phones: [],\n email: \"\",\n}\n\nexport const cBusinessDeadlines: oBusinessDeadlines = {\n weeks: 0,\n interest: 0\n}\n\nexport const cBusinessConfig: oBusinessConfig = {\n version: \"\",\n apiVersion: \"\",\n adminVersion: \"\",\n mobileVersion: \"\",\n mobileVersionPrev: \"\",\n deadlines: [],\n downloadsClient: false,\n passportPaymentReference: false,\n conektaPaymentReference: false,\n conektaPaymentLink: false,\n dynamicPaymentReference: false,\n apkUrl: \"https://firebasestorage.googleapis.com/v0/b/ravcredit-2b079.appspot.com/o/mobile-app%2Fapp-release.apk?alt=media&token=ae05f332-a39a-46ad-8a64-312ae1487496\"\n}\n\n\n\nexport class FactoryBusiness {\n\n public static FormBusinessInfo(info?: oBusinessInfo) {\n let data = cBusinessInfo\n\n if (info) data = info\n\n if (!info?.address) data.address = cAddress\n\n return {\n name: new UntypedFormControl(data.name, Validators.required),\n email: new UntypedFormControl(data.email, [Validators.required, Validators.email]),\n desc: new UntypedFormControl(data.desc, [Validators.required, Validators.email]),\n street: new UntypedFormControl(data.address.street, Validators.required),\n neighbor: new UntypedFormControl(data.address.neighbor, Validators.required),\n cp: new UntypedFormControl(data.address.zip, Validators.required),\n ext: new UntypedFormControl(data.address.ext, Validators.required),\n int: new UntypedFormControl(data.address.int),\n city: new UntypedFormControl(data.address.city, Validators.required),\n state: new UntypedFormControl(data.address.state, Validators.required),\n phones: new UntypedFormControl(data.phones),\n mondayOpen: new UntypedFormControl(data.schedule?.monday.open),\n mondayClose: new UntypedFormControl(data.schedule?.monday.close),\n tuesdayOpen: new UntypedFormControl(data.schedule?.tuesday.open),\n tuesdayClose: new UntypedFormControl(data.schedule?.tuesday.close),\n wednesdayOpen: new UntypedFormControl(data.schedule?.wednesday.open),\n wednesdayClose: new UntypedFormControl(data.schedule?.wednesday.close),\n thursdayOpen: new UntypedFormControl(data.schedule?.thursday.open),\n thursdayClose: new UntypedFormControl(data.schedule?.thursday.close),\n fridayOpen: new UntypedFormControl(data.schedule?.friday.open),\n fridayClose: new UntypedFormControl(data.schedule?.friday.close),\n saturdayOpen: new UntypedFormControl(data.schedule?.saturday.open),\n saturdayClose: new UntypedFormControl(data.schedule?.saturday.close),\n sundayOpen: new UntypedFormControl(data.schedule?.sunday.open),\n sundayClose: new UntypedFormControl(data.schedule?.sunday.close),\n }\n\n }\n\n public static CreateBusinessInfoObj(data: oTmpBusinessConfig) {\n const address: oAddress = cAddress\n const schedule: weekSchedule = {\n monday: {},\n tuesday: {},\n wednesday: {},\n thursday: {},\n friday: {},\n saturday: {},\n sunday: {}\n }\n\n if (data.street) address.street = data.street\n if (data.state) address.state = data.state\n if (data.neighbor) address.neighbor = data.neighbor\n if (data.city) address.city = data.city\n if (data.ext) address.ext = data.ext\n if (data.int) address.int = data.int\n if (data.cp) address.zip = data.cp\n\n if (data.mondayOpen) schedule.monday.open = data.mondayOpen\n if (data.mondayClose) schedule.monday.close = data.mondayClose\n\n if (data.tuesdayOpen) schedule.tuesday.open = data.tuesdayOpen\n if (data.tuesdayClose) schedule.tuesday.close = data.tuesdayClose\n\n if (data.wednesdayOpen) schedule.wednesday.open = data.wednesdayOpen\n if (data.wednesdayClose) schedule.wednesday.close = data.wednesdayClose\n\n if (data.thursdayOpen) schedule.thursday.open = data.thursdayOpen\n if (data.thursdayClose) schedule.thursday.close = data.thursdayClose\n\n if (data.fridayOpen) schedule.friday.open = data.fridayOpen\n if (data.fridayClose) schedule.friday.close = data.fridayClose\n\n if (data.saturdayOpen) schedule.saturday.open = data.saturdayOpen\n if (data.saturdayClose) schedule.saturday.close = data.saturdayClose\n\n if (data.sundayOpen) schedule.sunday.open = data.sundayOpen\n if (data.sundayClose) schedule.sunday.close = data.sundayClose\n\n const info: oBusinessInfo = {\n version: \"v2024\",\n name: data.name ? data.name : \"\",\n address: address,\n phones: data.phones ? data.phones : [],\n email: data.email ? data.email : \"\",\n schedule: schedule,\n desc: data.desc ? data.desc : \"\"\n }\n\n return info\n }\n\n public static FormDeadlineConfig(data: oBusinessDeadlines) {\n // if (!data) data = cBusinessDeadlines\n\n return {\n weeks: new UntypedFormControl(data.weeks),\n interest: new UntypedFormControl(data.interest),\n }\n }\n\n\n public static FormBusinessConfig(config?: oBusinessConfig) {\n let data = cBusinessConfig\n if (config) data = config\n\n return {\n downloadsClient: new UntypedFormControl(data.downloadsClient),\n passportPaymentReference: new UntypedFormControl(data.passportPaymentReference),\n conektaPaymentReference: new UntypedFormControl(data.conektaPaymentReference),\n conektaPaymentLink: new UntypedFormControl(data.conektaPaymentLink),\n dynamicPaymentReference: new UntypedFormControl(data.dynamicPaymentReference),\n deadlines: new UntypedFormArray([])\n }\n }\n\n public static testBusiness(message: string) {\n return `Message ${message}`\n }\n}\n","import {UntypedFormArray, UntypedFormControl, Validators} from \"@angular/forms\";\nimport {cClient, cUserReference} from \"./UtilClient\";\n// import {TaskState} from \"firebase/storage\";\nimport {cBusinessDeadlines} from \"./UtilBusiness\";\nimport {IDCAccount} from \"./UtilDynamiCore\";\nimport {oDevice} from '../objects/oDevice';\nimport {oFinancial} from '../objects/oFinancial';\nimport {cAddress, oAddress} from '../objects/oAddress';\nimport {oContract} from '../objects/oContract';\nimport {oClient, oUserReference} from '../objects/oClient';\nimport {tyClientContract} from '../objects/oGlobal';\nimport {oAsset, oAssetBrand, oAssetCategory} from '../../v2/objects/oAsset';\nimport {oCatalog} from '../../v2/objects/oCatalog';\nimport {oScore, oScoreReference} from '../../v2/objects/oClient';\n\nexport enum eProvider {\n none = \"\",\n Conekta = \"Conekta\",\n Passport = \"Passport\",\n DynamiCore = \"DynamiCore\",\n}\n\n// export type ProgressTaskStatus = TaskState | \"uploading\" | \"idle\" | \"generating\" | \"unauthorized\"\n\nexport const cDevice: oDevice = {\n device: \"\",\n IMEI: \"\"\n}\n\nexport const cFinancial: oFinancial = {\n total: 0,\n initial: 0,\n deadlines: cBusinessDeadlines,\n initDate: 0,\n weeklyPayment: 0,\n pendingOf: [],\n progress: [],\n interest: 0,\n provider: eProvider.DynamiCore,\n financed: 0,\n nextPayment: 0,\n amount_commission_opening: 0,\n principal_disbursed: 0,\n expected_disbursed: 0, // ---------\n credit_type: 'Arrendamiento',\n interest_rate: 0,\n commission_opening: 0,\n interest_arrears: 0,\n}\n\nexport const cContract: oContract = {\n id: \"\",\n client: \"\",\n address: cAddress,\n device: cDevice,\n financial: cFinancial,\n by: \"\",\n active: true\n}\n\nexport class FactoryContract {\n\n public static FormClient(client?: oClient) {\n let data = cClient\n\n if (client) data = client\n\n return {\n name: new UntypedFormControl(data.name, [Validators.required, Validators.minLength(10)]),\n email: new UntypedFormControl(data.username, [Validators.required, Validators.email]),\n phone: new UntypedFormControl(data.phone, [Validators.required, Validators.min(10)]),\n curp: new UntypedFormControl(data.curp, [Validators.required, Validators.minLength(16)]),\n userReferences: new UntypedFormArray([])\n }\n }\n\n public static CreateUserReferenceFormObj(user: oUserReference) {\n let data = cUserReference\n\n if (user.name != \"\") data = user\n\n return {\n name: new UntypedFormControl(data.name, [Validators.required, Validators.minLength(10)]),\n phone: new UntypedFormControl(data.phone, [Validators.required]),\n relationship: new UntypedFormControl(data.relationship, [Validators.required]),\n }\n }\n\n public static FormAddress(address?: oAddress) {\n let data = cAddress\n\n if (address) data = address\n\n return {\n street: new UntypedFormControl(data.street, Validators.required),\n neighbor: new UntypedFormControl(data.neighbor, Validators.required),\n cp: new UntypedFormControl(data.zip, Validators.required),\n ext: new UntypedFormControl(data.ext, Validators.required),\n int: new UntypedFormControl(data.int),\n city: new UntypedFormControl(data.city, Validators.required),\n state: new UntypedFormControl(data.state, Validators.required),\n }\n }\n\n public static FormDevice(device?: oDevice) {\n let data = cDevice\n\n if (device) data = device\n\n return {\n model: new UntypedFormControl(data.device, Validators.required),\n IMEI: new UntypedFormControl(data.IMEI, Validators.required),\n ID: new UntypedFormControl(data.id),\n }\n }\n\n public static FormFinancial(financial?: oFinancial) {\n let data = cFinancial\n\n if (financial) data = financial\n\n data.credit_type = \"Arrendamiento\"\n // data.deadlines.weeks = cBusinessDeadlines\n\n return {\n total: new UntypedFormControl(data.total, [Validators.required, Validators.min(1)]),\n initial: new UntypedFormControl(data.initial, [Validators.required]),\n financed: new UntypedFormControl(data.financed, Validators.min(1)),\n weeklyPayment: new UntypedFormControl(data.weeklyPayment, [Validators.required, Validators.min(1)]),\n deadlines: new UntypedFormControl(data.deadlines, [Validators.required]),\n initDate: new UntypedFormControl(data.initDate),\n provider: new UntypedFormControl(data.provider),\n\n credit_type: new UntypedFormControl(data.credit_type ? data.credit_type : 0),\n interest_rate: new UntypedFormControl(data.interest_rate ? data.interest_rate : 0), // interes credit dynamic\n commission_opening: new UntypedFormControl(data.commission_opening ? data.commission_opening : 0),\n interest_arrears: new UntypedFormControl(data.interest_arrears ? data.interest_arrears : 0), // intereses moratorios dynamic\n\n amount_commission_opening: new UntypedFormControl(data.amount_commission_opening), // comision por apertura dynamic\n principal_disbursed: new UntypedFormControl(data.principal_disbursed),\n expected_disbursed: new UntypedFormControl(data.expected_disbursed)\n }\n }\n\n public static CreateContractFromFormObj(data: any, finalPay: number) {\n const date = new Date()\n\n const device: oDevice = {\n device: data[\"device\"][0].model,\n id: data[\"device\"][0].ID,\n IMEI: data[\"device\"][0].IMEI\n }\n const address: oAddress = {\n street: data[\"address\"][0].street,\n city: data[\"address\"][0].city,\n neighbor: data[\"address\"][0].neighbor,\n zip: data[\"address\"][0].cp,\n ext: data[\"address\"][0].ext,\n int: data[\"address\"][0].int,\n state: data[\"address\"][0].state\n }\n\n const financial: oFinancial = {\n total: Number(data[\"financial\"][0].total),\n initial: data[\"financial\"][0].initial,\n deadlines: data[\"financial\"][0].deadlines,\n progress: [],\n pendingOf: [],\n weeklyPayment: data[\"financial\"][0].weeklyPayment,\n interest: data[\"financial\"][0].interest_rate,\n finalDate: date.getTime() + (data[\"financial\"][0].deadlines.weeks * (604800 * 1000)),\n initDate: date.getDate(),\n dayCut: date.getDate(),\n provider: data[\"financial\"][0].provider,\n finalPayment: finalPay,\n financed: data[\"financial\"][0].financed,\n nextPayment: data[\"financial\"][0].nextPayment\n }\n if (data[\"financial\"][0].provider == eProvider.DynamiCore) {\n financial.initial = data[\"financial\"][0].amount_commission_opening ? Number(data[\"financial\"][0].amount_commission_opening) : 0\n financial.expected_disbursed = data[\"financial\"][0].expected_disbursed ? Number(data[\"financial\"][0].expected_disbursed) : 0\n financial.principal_disbursed = data[\"financial\"][0].principal_disbursed ? Number(data[\"financial\"][0].principal_disbursed) : 0\n financial.interest_arrears = data[\"financial\"][0].interest_rate ? Number(data[\"financial\"][0].interest_rate) : 0\n financial.commission_opening = data[\"financial\"][0].commission_opening ? Number(data[\"financial\"][0].commission_opening) : 0\n financial.credit_type = data[\"financial\"][0].credit_type ? data[\"financial\"][0].credit_type : \"\"\n financial.clabe = data[\"financial\"][0].clabe ? data[\"financial\"][0].clabe : \"\"\n }\n\n if (data[\"financial\"][0].amount_commission_opening != undefined) {\n if (Number(data[\"financial\"][0].amount_commission_opening) > 0)\n financial.initial = Number(data[\"financial\"][0].amount_commission_opening)\n else\n financial.initial = Number(data[\"financial\"][0].initial)\n }\n\n if (Number(data[\"financial\"][0].amount_commission_opening) > 0)\n financial.amount_commission_opening = Number(data[\"financial\"][0].amount_commission_opening)\n else\n financial.amount_commission_opening = financial.initial\n\n if (financial.nextPayment == undefined) financial.nextPayment = 0\n\n const contract: oContract = {\n id: \"\",\n client: \"\",\n address: address,\n device: device,\n financial: financial,\n by: \"\",\n active: true,\n lastPayment: date.getTime(),\n createdAt: date.getTime()\n }\n return contract\n }\n\n public static CreateContractToConektaObj(data: oContract, monthlyPay: number, finalPay: number) {\n const o: any = {}\n const score: oScoreReference = {\n name: \"\",\n score: 0\n }\n const catalog: oCatalog = {\n name: \"\",\n description: \"\",\n id: \"\",\n createdAt: 0\n }\n const brand : oAssetBrand = {\n name: \"\",\n id: \"\",\n description: \"\"\n }\n const category : oAssetCategory = {\n name: \"\",\n id: \"\",\n createAt: 0\n }\n const deviceV2: oAsset = {\n name: \"\",\n id: \"\",\n createAt: new Date().getTime(),\n category: category,\n brand: brand,\n price: 0,\n model: \"\",\n imageUrl: [],\n paymentOption: [],\n catalog: catalog,\n offers: [],\n score: score,\n IMEI: \"\"\n }\n\n const device: oDevice = {\n device: data.device.device,\n id: data.device.id,\n IMEI: data.device.IMEI\n }\n const address: oAddress = {\n street: data.address.street,\n city: data.address.city,\n neighbor: data.address.neighbor,\n zip: data.address.zip,\n ext: data.address.ext,\n int: data.address.int,\n state: data.address.state\n }\n const financial: oFinancial = {\n total: data.financial.total,\n initial: data.financial.initial,\n deadlines: data.financial.deadlines,\n progress: data.financial.progress,\n pendingOf: data.financial.pendingOf,\n weeklyPayment: data.financial.weeklyPayment,\n interest: data.financial.interest,\n finalDate: data.financial.finalDate,\n initDate: data.financial.initDate,\n dayCut: data.financial.dayCut,\n provider: data.financial.provider,\n finalPayment: data.financial.finalPayment,\n financed: data.financial.financed,\n nextPayment: data.financial.nextPayment\n }\n const contract: oContract = {\n id: \"\",\n client: \"\",\n address: address,\n device: device,\n financial: financial,\n by: \"\",\n active: true\n }\n return contract\n }\n\n public static CreateAuthForm(username: string, curp: string) {\n const password: string = this.createPassword(curp)\n return {\n username: new UntypedFormControl(username, Validators.required),\n password: new UntypedFormControl(password, Validators.required),\n }\n }\n\n public static createPassword(curp: string): string {\n const _curp = curp.split(\"\")\n let password = \"\"\n const limit = 7\n\n if (_curp.length < 16) return \"\"\n\n password += _curp[0].toLowerCase()\n\n for (let i = 1; i <= limit; i++)\n password += _curp[i].toUpperCase()\n\n password += `*`\n return password\n }\n\n public static MapperTypeContCli_Contract(_contract: tyClientContract): oContract {\n const contract: oContract = {\n id: _contract.contract!,\n client: _contract.client,\n address: _contract.address,\n device: _contract.device,\n financial: _contract.financial,\n by: _contract.by,\n active: _contract.active,\n lastPayment: _contract.lastPayment,\n createdAt: _contract.createdAt,\n dynamicAccount: _contract.dynamicAccount,\n }\n\n return contract\n }\n\n public static MapperSyncContractDynamic(base: oContract, account: IDCAccount): oContract {\n let nContract = base\n let _financial = base.financial\n let _device = base.device\n\n\n const financial: oFinancial = {\n total: _financial.total,\n initial: account.properties.amount_commission_opening ? account.properties.amount_commission_opening : _financial.initial,\n deadlines: _financial.deadlines,\n progress: _financial.progress ? _financial.progress : [],\n pendingOf: _financial.pendingOf ? _financial.pendingOf : [],\n weeklyPayment: _financial.weeklyPayment,\n interest: _financial.interest,\n finalDate: _financial.finalDate,\n initDate: _financial.initDate,\n dayCut: _financial.dayCut,\n provider: _financial.provider,\n finalPayment: _financial.finalPayment,\n financed: _financial.financed,\n nextPayment: _financial.nextPayment ? _financial.nextPayment : 0,\n\n amount_commission_opening:\n account.properties.amount_commission_opening,\n\n expected_disbursed:\n account.properties.expected_disbursed ?\n Number(account.properties.expected_disbursed) :\n Number(_financial.expected_disbursed),\n\n principal_disbursed:\n account.properties.principal_disbursed ?\n account.properties.principal_disbursed :\n _financial.principal_disbursed,\n\n commission_opening:\n account.config.commission_opening ?\n Number(account.config.commission_opening) :\n Number(_financial.commission_opening),\n\n credit_type:\n account.config.credit_type ? account.config.credit_type : _financial.credit_type,\n\n clabe:\n String(account.properties.clabe ? account.properties.clabe : _financial.clabe)\n }\n\n const interestArrears = account.config.interest_arrears\n const prevInterestArrears = _financial.interest_arrears\n if (interestArrears != undefined) {\n financial.interest_arrears = interestArrears\n } else if (prevInterestArrears != undefined) {\n financial.interest_arrears = prevInterestArrears\n } else {\n financial.interest_arrears = 0\n }\n\n const interest = account.config.interest_rate\n const prevInterest = _financial.interest\n if (interest != undefined) {\n financial.interest = interest\n } else if (prevInterest != undefined) {\n financial.interest = prevInterest\n } else {\n financial.interest = 0\n }\n\n if (account.properties.amount_commission_opening != undefined) {\n if (Number(account.properties.amount_commission_opening) > 0) {\n financial.initial = Number(account.properties.amount_commission_opening)\n financial.amount_commission_opening = Number(account.properties.amount_commission_opening)\n } else {\n financial.initial = Number(_financial.initial)\n financial.amount_commission_opening = financial.initial\n }\n }\n\n const seller: string | undefined = account.properties.seller_name\n nContract.by = seller != null ? seller : \"\"\n\n nContract.device.id = _device.id ? _device.id : \"\"\n\n nContract.financial = financial\n return nContract\n }\n}\n\n","import {oUser} from \"./oUser\";\r\nimport {oBusinessInfo, oSchedule} from \"./oBusiness\";\r\nimport {oClient} from \"./oClient\";\r\nimport {oDevice} from \"./oDevice\";\r\nimport {oAddress} from \"./oAddress\";\r\nimport {oFinancial} from \"./oFinancial\";\r\nimport {MatSnackBarConfig} from \"@angular/material/snack-bar\";\r\nimport {oContract} from \"./oContract\";\r\nimport {oNotification} from \"./oNotification\";\r\nimport {cContract} from '../util/UtilContract';\r\nimport {cClient} from '../util/UtilClient';\r\n\r\nexport enum eRoles { Administrator = \"Administrator\", Seller = \"Seller\", Consultant = \"Consultant\" }\r\n\r\nexport enum eProcessStatus {\r\n IDLE = \"IDLE\",\r\n ERROR = \"ERROR\",\r\n CANCELED = \"CANCELED\",\r\n COMPLETE = \"COMPLETE\",\r\n PROCESSING = \"PROCESSING\",\r\n WAITING = \"WAITING\",\r\n}\r\n\r\nexport enum eLoginStatus {\r\n IDLE = \"IDLE\",\r\n ERROR = \"ERROR\",\r\n AUTHORIZED = \"AUTHORIZED\",\r\n CHECKING = \"CHECKING\",\r\n NOAUTHORIZED = \"NOAUTHORIZED\",\r\n NOTFOUND = \"NOTFOUND\",\r\n ERRORPASSWORD = \"ERRORPASSWORD\"\r\n}\r\n\r\nexport enum eClientStatus {\r\n ACTIVE = \"active\",\r\n COMPLETED = \"completed\",\r\n PAUSED = \"paused\",\r\n CANCELED = \"canceled\",\r\n LATE = \"late\"\r\n}\r\n\r\nexport const cSingleOptionClientStatus: iOptionsSelect = {\r\n viewValue: \"\",\r\n value: \"\"\r\n}\r\nexport const cOptionsClientStatus: iOptionsSelect[] = [\r\n {\r\n value: eClientStatus.ACTIVE,\r\n viewValue: \"Activar\"\r\n }, {\r\n value: eClientStatus.COMPLETED,\r\n viewValue: \"Completar\"\r\n }, {\r\n value: eClientStatus.PAUSED,\r\n viewValue: \"Pausar\"\r\n }, {\r\n value: eClientStatus.LATE,\r\n viewValue: \"Marcar con atraso\"\r\n }, {\r\n value: eClientStatus.CANCELED,\r\n viewValue: \"Cancelar\"\r\n }\r\n]\r\n\r\nexport interface iOptionsSelect {\r\n viewValue: String\r\n value: String\r\n}\r\n\r\nexport interface iSelect {\r\n viewValue: eRoles\r\n value: eRoles\r\n}\r\n\r\nexport const eRolesSelect: iSelect[] = [\r\n {\r\n value: eRoles.Administrator,\r\n viewValue: eRoles.Administrator\r\n },\r\n {\r\n value: eRoles.Consultant,\r\n viewValue: eRoles.Consultant\r\n },\r\n {\r\n value: eRoles.Seller,\r\n viewValue: eRoles.Seller\r\n },\r\n]\r\n\r\nexport interface iConfigUUID {\r\n client_uuid?: string;\r\n contract_uuid: string;\r\n}\r\n\r\nexport interface iPaymentDelay {\r\n today: number;\r\n nextPayment: number;\r\n daysDelay: number\r\n late: boolean\r\n}\r\n\r\nexport const cPaymentDalay: iPaymentDelay = {\r\n today: 0,\r\n nextPayment: 0,\r\n daysDelay: 0,\r\n late: false,\r\n}\r\n\r\n//Used for communicate response through services\r\nexport interface oResponse {\r\n error?: string;\r\n data: oUser | oUser[] | oBusinessInfo | oAddress |\r\n oSchedule | oFinancial | string | iPaymentDelay |\r\n oClient | oDevice | iConfigUUID | Response | oNotification;\r\n}\r\n\r\n//Used for global interceptor to handle standard response\r\nexport interface gResponse {\r\n status?: boolean; // indicates whether resource required was returned\r\n path: string;\r\n statusCode: number;\r\n error?: string;\r\n epochTime: number;\r\n data: any; // att with resources required [Optional]\r\n}\r\n\r\nexport interface gResponseFuncEmail {\r\n success: boolean,\r\n message: any\r\n}\r\n\r\nexport const snackBarConfigAction: MatSnackBarConfig = {\r\n horizontalPosition: \"start\"\r\n}\r\nexport const snackBarConfigNoAction: MatSnackBarConfig = {\r\n duration: 4000,\r\n horizontalPosition: \"start\"\r\n}\r\n\r\nexport interface iInformativeDialog {\r\n message: string,\r\n title: string,\r\n cancel: string,\r\n continue: string\r\n}\r\n\r\nexport interface iSnackBarMessage {\r\n message: string,\r\n action: string,\r\n config: MatSnackBarConfig\r\n}\r\n\r\n//\r\n// export interface iClientContract extends oClient, oContract {\r\n// }\r\n\r\nexport type tyClientContract = oClient & oContract\r\n\r\nexport const cTyClientContract = {...cClient, ...cContract}\r\n\r\nexport interface oContractMetrics {\r\n total: number\r\n activated: number\r\n paused: number\r\n completed: number\r\n canceled: number\r\n late: number\r\n dynamicCount: number\r\n passportCount: number\r\n conektaCount: number\r\n rateTotal: number\r\n rateActive: number\r\n ratePaused: number\r\n rateComplete: number\r\n rateCanceled: number\r\n rateLate: number\r\n}\r\n\r\nexport interface HasUnsavedChanges {\r\n hasUnsavedChanges(): boolean;\r\n}\r\n\r\nexport interface oPaymentDates {\r\n week: number\r\n date: number\r\n}\r\n","import {WritableSignal} from \"@angular/core\";\n\nexport enum eAuthActions {\n delete = \"delete\",\n auth = \"auth\"\n}\n\nexport enum eAuthType {\n auth = \"auth\",\n login = \"login\",\n idle = \"\"\n}\n\nexport interface iAuthConfig {\n title: string;\n desc: string;\n data: boolean;\n}\n\nexport const cAuthConfig: iAuthConfig = {\n title: \"\",\n desc: \"\",\n data: true,\n}\n\nexport interface ISignIn {\n username: WritableSignal<string>\n password: WritableSignal<string>\n\n login(credentials: oAuth, destination: string): Promise<void>\n\n success(): void\n}\n\nexport interface oAuth {\n username: string,\n password: string\n}\n\nexport interface oAuthRes {\n status: number\n data: {}\n}\n","export const cTopic = \"RavCreditClients\"\r\n\r\nexport enum eNotificationType { GLOBAL = \"global\", USER = \"user\", PAYMENT = \"payment\" }\r\n\r\nexport interface oNotificationResponses {\r\n successCount: number,\r\n failureCount: number,\r\n}\r\n\r\nexport interface oNotification {\r\n ids?: string[];\r\n type?: string,\r\n tokens?: string[],\r\n topic?: string,\r\n notification: {\r\n title: string,\r\n body: string\r\n },\r\n data: any,\r\n notification_id?: number,\r\n recipient?: string,\r\n responses?: oNotificationResponses\r\n}\r\n\r\nexport const cNotification: oNotification = {\r\n notification: {\r\n title: \"\",\r\n body: \"\"\r\n },\r\n data: {\r\n route: \"\"\r\n }\r\n}\r\n\r\n","import {oContract} from \"./oContract\";\r\n\r\nexport enum ePassportTypes {\r\n CREATE = \"create_references\",\r\n SEND = \"send_references\"\r\n}\r\n\r\n/** *********************************************************************************/\r\nexport interface iPassportAdditional {\r\n client?: string;\r\n clientID?: string;\r\n credit?: string;\r\n}\r\n\r\nexport interface iPassportReferenceData {\r\n name: string;\r\n email: string;\r\n amount: number;\r\n expirationDate: string;\r\n additional: iPassportAdditional;\r\n}\r\n\r\n/** Passport request interface base */\r\nexport interface iPassportReference {\r\n type: string;\r\n data: iPassportReferenceData;\r\n}\r\n\r\n/** Global passport reference aPI */\r\nexport interface iGlobalPassport {\r\n passport: iPassportReference;\r\n contract: oContract\r\n date?: number\r\n}\r\n\r\n/** ******************************** */\r\nexport interface iPassportResponseData {\r\n name: string;\r\n email: string;\r\n amount: number;\r\n expirationDate: string;\r\n additional: iPassportAdditional;\r\n}\r\n\r\nexport interface iPassportReferenceCenters {\r\n name: string;\r\n logo: string;\r\n}\r\n\r\nexport interface iPassportReferenceRes {\r\n reference: string\r\n centers: iPassportReferenceCenters[],\r\n centerId: number,\r\n barcode: string\r\n}\r\n\r\n/** Passport response interface base */\r\nexport interface iPassportResponse {\r\n type: string;\r\n data: iPassportResponseData;\r\n message: string;\r\n references: iPassportReference[];\r\n}\r\n\r\n/** ******************************** */\r\n","// export enum oGenVerificationProvider {\r\n// pending, approved, expired\r\n// }\r\n//\r\n// export interface oVerificationLookup {\r\n// carrier: any[]\r\n// }\r\n//\r\n// export interface oVerificationSenCodeAttempt {\r\n// attempt_sid: any[],\r\n// channel: any[],\r\n// time: any[]\r\n// }\r\n//\r\n// export interface oGenVerification {\r\n// Sid: string\r\n// ServiceSid: string,\r\n// AccountSid: string,\r\n// To: string,\r\n// Channel: any,\r\n// Status: oGenVerificationProvider,\r\n// Valid: boolean,\r\n// Lookup: oVerificationLookup,\r\n// SendCodeAttempts: oVerificationSenCodeAttempt[],\r\n// DateCreated: string,\r\n// DateUpdated: string,\r\n// Url: string\r\n// }\r\n//\r\n// export interface oVerification {\r\n// Sid : string,\r\n// ServiceSid : string,\r\n// AccountSid : string,\r\n// To : string,\r\n// Channel : any,\r\n// Status : oGenVerificationProvider,\r\n// Valid : boolean,\r\n// DateCreated : string,\r\n// DateUpdated : string\r\n// }\r\n\r\nexport enum eVerificationStep {\r\n IDLE = \"IDLE\",\r\n ERROR = \"ERROR\",\r\n COMPLETED = \"COMPLETED\",\r\n IN_PROGRESS = \"IN_PROGRESS\",\r\n INVALID = \"INVALID\",\r\n SUSPENDED = \"SUSPENDED\",\r\n CANCELLED = \"CANCELLED\",\r\n}\r\n\r\nexport enum eVerificationStatus {\r\n APPROVED = \"approved\",\r\n CANCELLED = \"cancelled\",\r\n}\r\n\r\nexport enum eVerificationChannel {\r\n SMS = \"sms\",\r\n WHATSAPP = \"whatsapp\",\r\n CALL = \"call\",\r\n EMAIL = \"email\",\r\n SNA = \"sna\",\r\n}\r\n\r\nexport interface ISendCodeAttempt {\r\n time: string\r\n channel: eVerificationChannel,\r\n attemptSid : string,\r\n}\r\n\r\nexport interface IBaseVerification {\r\n sid: string\r\n service_sid:string\r\n account_sid:string\r\n to:string\r\n channel: eVerificationChannel\r\n status: eVerificationStatus\r\n valid: boolean,\r\n date_created: string\r\n date_updated: string\r\n amount: any,\r\n payee: any,\r\n}\r\n\r\nexport interface IVerificationSms extends IBaseVerification {\r\n lookup: any,\r\n send_code_attempts: ISendCodeAttempt[],\r\n sna: any,\r\n url: string\r\n}\r\n\r\nexport interface IVerificationCheckSms\r\n{\r\n sna_attempts_error_codes: any[],\r\n}\r\n","export class UtilsHttp {\n\n public static CreateHeadersApi(token: string) {\n return {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Access-Control-Allow-Headers': 'Content-Type',\n 'Authorization': `Bearer ${token}`\n }\n }\n\n public static CreateSimpleHeadersApi() {\n return {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Access-Control-Allow-Headers': 'Content-Type',\n }\n }\n}\n","import {UntypedFormControl, Validators} from \"@angular/forms\";\r\nimport {oClient} from '../objects/oClient';\r\nimport {oContract} from '../objects/oContract';\r\n\r\nexport enum eReferenceStatusRav {\r\n \"Disponible\" = \"Disponible\",\r\n \"Active\" = \"Activo con credito vigente\",\r\n \"ActiveEnded\" = \"Activo sin credito vigente\",\r\n \"Registered\" = \"Registrado\",\r\n \"NonRegistered\" = \"No registrado\",\r\n \"NonVerified\" = \"No verificado\",\r\n \"Rejected\" = \"Rechazado\",\r\n \"Pending\" = \"Pendiente\"\r\n}\r\n\r\nexport enum eAccountDynamicStatus {\r\n \"OK\" = \"Con cuenta activa\",\r\n \"NOK\" = \"Sin cuenta activa\",\r\n}\r\n\r\n//\r\n// export enum eAccountDynamicRegister {\r\n// \"Active\" = \"Activo\", // Ok\r\n// \"NonAuthorized\" = \"No autorizado\",\r\n// \"Authorized\" = \"Autorizado\", // Non ref\r\n// \"Accepted\" = \"Aceptado\", // Non ref\r\n// \"Rejected\" = \"Rechazado\", // Non ref\r\n// \"Pending\" = \"Pendiente\", // Non ref\r\n// \"NotFound\" = \"No registrado\"\r\n// }\r\n\r\nexport enum eClientDynamicStatus {\r\n \"Active\" = \"Active\",\r\n \"Pending\" = \"Pending\",\r\n \"Accepted\" = \"Accepted\",\r\n \"Rejected\" = \"Rejected\",\r\n \"approved\" = \"Aprobado\",\r\n}\r\n\r\nexport const cClientDynamicStatus = {\r\n Active: {\r\n value: \"Active\",\r\n viewValue: \"Activo\"\r\n },\r\n Pending: {\r\n value: \"Pending\",\r\n viewValue: \"Pendiente\"\r\n },\r\n Accepted: {\r\n value: \"Accepted\",\r\n viewValue: \"Pre autorizado\"\r\n },\r\n Rejected: {\r\n value: \"Rejected\",\r\n viewValue: \"Rechazado\"\r\n },\r\n Idle: {\r\n value: \"Idle\",\r\n viewValue: \"\"\r\n },\r\n}\r\n\r\nexport enum eContractSteps {\r\n \"idle\" = \"idle\",\r\n \"general\" = \"General\",\r\n \"address\" = \"Address\",\r\n \"device\" = \"Device\",\r\n \"financial\" = \"Financial\",\r\n \"app\" = \"App\",\r\n}\r\n\r\nexport type partialIDCData = Pick<IDCClient, \"pii\" | \"client_type\">\r\n\r\nexport interface IDCCharge {\r\n barcode_url: string;\r\n currency: string;\r\n expires_at: number;\r\n object: string;\r\n quantity: number;\r\n reference: string;\r\n service_name: string;\r\n store_name: string;\r\n type: string;\r\n unit_price: number;\r\n}\r\n\r\nexport interface IDCGeneratedReference {\r\n account: number;\r\n active: number;\r\n amount: number;\r\n channel: string;\r\n charge: IDCCharge;\r\n company: number;\r\n config?: any;\r\n id: string;\r\n operation: number;\r\n}\r\n\r\nexport const cIDCDataPii: IDCDataPii = {\r\n icc: \"\",\r\n rfc: \"\",\r\n sex: \"\",\r\n city: \"\",\r\n curp: \"\",\r\n days: \"\",\r\n imei: \"\",\r\n name: \"\",\r\n step: \"\",\r\n term: \"\",\r\n brand: \"\",\r\n email: \"\",\r\n model: \"\",\r\n phone: \"\",\r\n score: \"\",\r\n state: \"\",\r\n amount: \"\",\r\n colony: \"\",\r\n period: \"\",\r\n street: \"\",\r\n ticket: \"\",\r\n num_ext: \"\",\r\n num_int: \"\",\r\n zipcode: \"\",\r\n evidence: \"\",\r\n financed: \"\",\r\n house_is: \"\",\r\n lastname: \"\",\r\n type_job: \"\",\r\n birthdate: \"\",\r\n birthstate: \"\",\r\n dicio_data: \"\",\r\n dicio_step: \"\",\r\n secondname: \"\",\r\n nationality: \"\",\r\n seller_name: \"\",\r\n down_payment: \"\",\r\n municipality: \"\",\r\n score_no_hit: \"\",\r\n study_degree: \"\",\r\n branch_office: \"\",\r\n identity_data: \"\",\r\n interest_rate: \"\",\r\n score_interno: \"\",\r\n marital_status: \"\",\r\n monthly_income: \"\",\r\n motherlastname: \"\",\r\n score_rcc_fico: \"\",\r\n identity_selfie: \"\",\r\n amount_by_period: \"\",\r\n identity_id_back: \"\",\r\n proof_of_address: \"\",\r\n identity_id_front: \"\",\r\n economic_dependents: \"\",\r\n identity_id_request: \"\",\r\n identity_verification: \"\",\r\n is_address_ine_currently_live: \"\",\r\n fotografia_del_cliente_con_el_equipo: \"\",\r\n estado: \"\",\r\n gender: \"\"\r\n}\r\n\r\n/**\r\n * Base customer for create customer with DynamiCore provider\r\n * */\r\nexport const cIDCCustomer: partialIDCData = {\r\n pii: cIDCDataPii,\r\n client_type: 662\r\n}\r\n\r\nexport interface IDCDataPii {\r\n icc: string,\r\n rfc: string,\r\n city: string,\r\n curp: string,\r\n sex: string,\r\n days: string,\r\n step: string,\r\n ticket: string,\r\n evidence: string,\r\n proof_of_address: string,\r\n score_interno: string,\r\n imei: string,\r\n name: string,\r\n term: string,\r\n brand: string,\r\n email: string,\r\n model: string,\r\n phone: string,\r\n score: any,\r\n state: string,\r\n amount: string,\r\n colony: string,\r\n estado: any,\r\n gender: string,\r\n period: string,\r\n street: string,\r\n num_ext: string,\r\n num_int: string,\r\n zipcode: string,\r\n financed: string,\r\n house_is: string,\r\n lastname: string,\r\n type_job: string,\r\n birthdate: string,\r\n birthstate: string,\r\n dicio_data: string,\r\n dicio_step: any,\r\n secondname: string,\r\n nationality: string,\r\n seller_name: string,\r\n down_payment: string,\r\n municipality: string,\r\n score_no_hit: string,\r\n study_degree: string,\r\n branch_office: string,\r\n identity_data: any,\r\n interest_rate: string,\r\n marital_status: string,\r\n monthly_income: string,\r\n motherlastname: string,\r\n score_rcc_fico: string,\r\n identity_selfie: any,\r\n amount_by_period: string,\r\n identity_id_back: any,\r\n identity_id_front: any,\r\n economic_dependents: string,\r\n identity_id_request: any,\r\n identity_verification: any,\r\n is_address_ine_currently_live: string,\r\n fotografia_del_cliente_con_el_equipo?: string\r\n}\r\n\r\nexport interface IDCAccountProps {\r\n clabe: string | number,\r\n pagaqui: string | number,\r\n start_date: string,\r\n expected_disbursed: number,\r\n reference_pagaaqui: string,\r\n principal_disbursed: number,\r\n amount_commission_opening: number,\r\n seller_name?: string\r\n}\r\n\r\nexport interface IDCAccountConfig {\r\n contract: string,\r\n credit_type: string,\r\n periodicity: string,\r\n installments: number,\r\n interest_base: string,\r\n interest_rate: number,\r\n interest_arrears: number,\r\n commission_opening: number,\r\n financed_amount?: number\r\n}\r\n\r\nexport interface IDCAccount {\r\n id: number,\r\n group: number,\r\n company: number,\r\n client: number,\r\n created_at: string,\r\n currency: string | number,\r\n status: string,\r\n properties: IDCAccountProps,\r\n product: number,\r\n enabled: string | number,\r\n config: IDCAccountConfig,\r\n amount: number,\r\n type: string,\r\n identifier: string,\r\n start_at: string,\r\n el: any,\r\n client_id: string | number\r\n}\r\n\r\nexport interface IDCTxnRowExtras {\r\n reference: string,\r\n transaction: string\r\n}\r\n\r\nexport interface IDCTxnRow {\r\n id: string,\r\n created_at: string,\r\n seq: number,\r\n created: string,\r\n last4: string,\r\n response: any,\r\n transaction_id: string,\r\n contrapart: string,\r\n reference: string,\r\n external_reference: any,\r\n extras: IDCTxnRowExtras,\r\n name: string,\r\n debit: number,\r\n credit: number,\r\n amount: number\r\n}\r\n\r\nexport interface IDCTxnHeader {\r\n name: string,\r\n type: string,\r\n label?: string,\r\n money?: string,\r\n format?: string\r\n}\r\n\r\nexport interface IDCTxn {\r\n rows: IDCTxnRow[],\r\n headers: IDCTxnHeader[]\r\n}\r\n\r\nexport interface IDCMntryCycle {\r\n date: string,\r\n late: number,\r\n paid: number,\r\n past: string | boolean,\r\n cycle: string | number,\r\n amount: number,\r\n detail: any,\r\n status: string\r\n}\r\n\r\nexport interface IDCMntryPymtAllPaidTotal {\r\n amount: string,\r\n cycles: string\r\n}\r\n\r\nexport interface IDCMntryPymtAll {\r\n late: number,\r\n total: number,\r\n va_cp: number,\r\n actual: number,\r\n cycles: IDCMntryCycle[],\r\n vencido: number,\r\n paid_total: IDCMntryPymtAllPaidTotal,\r\n total_amount: number\r\n}\r\n\r\nexport interface IDCMntryPymtDue {\r\n total: number,\r\n cycles: IDCMntryCycle[],\r\n new_cycle: IDCMntryCycle,\r\n old_cycle: IDCMntryCycle,\r\n total_amount: number\r\n}\r\n\r\nexport interface IDCMntryPymtOpen extends IDCMntryPymtDue {\r\n}\r\n\r\nexport interface IDCMntryPymtPaid {\r\n total: number,\r\n cycles: IDCMntryCycle[] | any[],\r\n new_cycle: any,\r\n old_cycle: any,\r\n total_amount: number\r\n}\r\n\r\nexport interface IDCMntryPymtDueTax {\r\n expected: number;\r\n}\r\n\r\nexport interface IDCMntryPymtPymt {\r\n paid: number,\r\n expected: number\r\n}\r\n\r\nexport interface IDCMntryPymtCal {\r\n due: IDCMntryPymtDue,\r\n date: string,\r\n past: string,\r\n cycle: number,\r\n balance: number,\r\n due_tax: IDCMntryPymtDueTax,\r\n payment: IDCMntryPymtPymt,\r\n interest: IDCMntryPymtPymt,\r\n principal: IDCMntryPymtPymt,\r\n payment_tax: IDCMntryPymtPymt,\r\n interest_tax: IDCMntryPymtPymt,\r\n final_balance: number,\r\n payment_total: IDCMntryPymtPymt,\r\n principal_tax: IDCMntryPymtPymt\r\n}\r\n\r\nexport interface IDCMntryPymt {\r\n all: IDCMntryPymtAll,\r\n due: IDCMntryPymtDue,\r\n open: IDCMntryPymtOpen,\r\n paid: IDCMntryPymtPaid,\r\n payment_calendar: IDCMntryPymtCal[]\r\n}\r\n\r\nexport interface IDCClient {\r\n id: number,\r\n company: number,\r\n status: string,\r\n external_id: string,\r\n pii: IDCDataPii,\r\n client_type: number,\r\n created_at: string,\r\n pd: number,\r\n username: string,\r\n group: number\r\n}\r\n\r\nexport interface IDCMsg {\r\n code: number,\r\n total: number,\r\n data: IDCClient[] | IDCAccount[] | IDCTxn[] | IDCTxn | IDCMntryPymt | IDCCredit[] | IDCTransaction[],\r\n transaction?: string\r\n}\r\n\r\nexport interface IDynamiCore {\r\n status: string,\r\n message: IDCMsg\r\n}\r\n\r\n/**\r\n * Interfaces for request (base)\r\n * */\r\nexport interface IDCClientObjFilter {\r\n name: string,\r\n filter: string[] | number[],\r\n type: string,\r\n sort: string\r\n}\r\n\r\nexport interface IDCClientQuery {\r\n filters: IDCClientObjFilter[];\r\n}\r\n\r\nexport interface IDCClientPiiFilter {\r\n limit: number,\r\n page: number,\r\n query: IDCClientQuery\r\n}\r\n\r\n/**\r\n * DynamiCore Reference Interface\r\n * */\r\n\r\nexport interface IDCRefCustInfo {\r\n name: string,\r\n email: string,\r\n phone: string | number\r\n}\r\n\r\nexport interface IDCOxxoRefItem {\r\n name: string,\r\n unit_price: number,\r\n quantity: number\r\n}\r\n\r\nexport interface IDCOxxoRefPymtMth {\r\n type: string;\r\n}\r\n\r\nexport interface IDCOxxoRef {\r\n account: number,\r\n operation: number,\r\n customer_info: IDCRefCustInfo,\r\n items: IDCOxxoRefItem,\r\n payment_method: IDCOxxoRefPymtMth\r\n}\r\n\r\n/**\r\n * DynamiCore Reference\r\n * */\r\nexport interface IDCRefCustInfo {\r\n name: string,\r\n email: string,\r\n phone: string | number\r\n}\r\n\r\nexport interface IDCRefItems {\r\n name: string,\r\n unit_price: number,\r\n quantity: number\r\n}\r\n\r\nexport interface IDCRefPymtMethod {\r\n type: string;\r\n}\r\n\r\nexport interface IDCNewReference {\r\n id: string,\r\n data: IDCReference,\r\n date?: number\r\n}\r\n\r\nexport interface IDCReference {\r\n account: number,\r\n operation: number,\r\n customer_info: IDCRefCustInfo,\r\n items: IDCRefItems,\r\n payment_method: IDCRefPymtMethod\r\n}\r\n\r\n/**\r\n * Interfaces to Credits\r\n * */\r\nexport interface IDCCreditProperties {\r\n start_date: string;\r\n principal_disbursed: number;\r\n expected_disbursed: number;\r\n amount_commission_opening: number;\r\n}\r\n\r\nexport interface IDCCreditConfig {\r\n contract: string;\r\n credit_type: string;\r\n interest_rate: number;\r\n installments: number;\r\n periodicity: string;\r\n interest_base: string;\r\n commission_opening: number;\r\n financed_amount: number;\r\n interest_arrears: number;\r\n}\r\n\r\nexport interface IDCCredit {\r\n id: number;\r\n group: number;\r\n company: number;\r\n client: number;\r\n created_at: string;\r\n currency: string;\r\n status: string;\r\n properties: IDCCreditProperties;\r\n product: number;\r\n enabled: string;\r\n config: IDCCreditConfig;\r\n amount: number;\r\n type: string;\r\n identifier: null | string;\r\n start_at: null | string;\r\n}\r\n\r\n/**\r\n * Payments\r\n * */\r\nexport interface IDCPayment {\r\n operation: number;\r\n account: string;\r\n date: string;\r\n amount: number;\r\n external_id?: string;\r\n dst_account: string;\r\n extras?: object;\r\n reference: string;\r\n}\r\n\r\nexport const cIDCPayment: IDCPayment = {\r\n operation: 98,\r\n account: \"\",\r\n date: \"\",\r\n amount: 0,\r\n dst_account: \"\",\r\n reference: \"\"\r\n}\r\n\r\n/**\r\n * Transactions\r\n * */\r\nexport interface IDCTransaction {\r\n data: [number, { transaction: string }];\r\n}\r\n\r\nexport const cIDCCharge: IDCCharge = {\r\n barcode_url: \"\",\r\n currency: \"\",\r\n expires_at: 0,\r\n object: \"\",\r\n quantity: 0,\r\n reference: \"\",\r\n service_name: \"\",\r\n store_name: \"\",\r\n type: \"\",\r\n unit_price: 0\r\n}\r\n\r\nexport const cIDCGeneratedReference: IDCGeneratedReference = {\r\n account: 0,\r\n active: 0,\r\n amount: 0,\r\n channel: \"\",\r\n charge: cIDCCharge,\r\n company: 0,\r\n id: \"\",\r\n operation: 0\r\n}\r\n\r\n/**\r\n * Common Factory Dynamic\r\n * */\r\nexport class FactoryDynamiCore {\r\n\r\n public static CreateReferenceBody(\r\n client: oClient,\r\n contract: oContract,\r\n dateTime?: number\r\n ): IDCNewReference | null {\r\n\r\n const customerInfo: IDCRefCustInfo = {\r\n name: client.name,\r\n email: client.email,\r\n phone: client.phone,\r\n }\r\n\r\n const customerItems: IDCRefItems = {\r\n name: \"Referencia Oxxo\",\r\n unit_price: contract.financial.weeklyPayment,\r\n quantity: 1\r\n }\r\n\r\n const paymentMethod: IDCRefPymtMethod = {\r\n type: \"oxxo_cash\"\r\n }\r\n\r\n if (!client.dynamic_account) return null\r\n\r\n const body: IDCNewReference = {\r\n id: client.id,\r\n data: {\r\n account: Number(client.dynamic_account),\r\n operation: 98,\r\n customer_info: customerInfo,\r\n items: customerItems,\r\n payment_method: paymentMethod\r\n }\r\n }\r\n\r\n if (dateTime != undefined) body.date = dateTime\r\n\r\n return body\r\n }\r\n\r\n public static CreateEmptyCustomer(): partialIDCData {\r\n return cIDCCustomer\r\n }\r\n\r\n public static CreateCustomerFromOClient(client: oClient, contract: oContract): partialIDCData {\r\n const o: partialIDCData = cIDCCustomer\r\n\r\n o.pii.email = client.email\r\n o.pii.name = client.name\r\n o.pii.curp = client.curp\r\n o.pii.phone = client.phone\r\n o.pii.amount = String(contract.financial.total)\r\n o.pii.financed = String(contract.financial.financed)\r\n o.pii.amount_by_period = String(contract.financial.weeklyPayment)\r\n\r\n o.pii.zipcode = contract.address.zip\r\n o.pii.street = contract.address.street\r\n o.pii.city = contract.address.city\r\n o.pii.state = contract.address.state\r\n o.pii.colony = contract.address.neighbor\r\n o.pii.num_ext = contract.address.ext\r\n\r\n return o\r\n }\r\n\r\n public static CreateDynamicCredit(\r\n client: oClient,\r\n contract: oContract,\r\n clientDynamic: IDCClient,\r\n ): Partial<IDCCredit> | null {\r\n const properties: IDCCreditProperties = {\r\n start_date: \"\",\r\n principal_disbursed: 0,\r\n expected_disbursed: 0,\r\n amount_commission_opening: 0\r\n }\r\n\r\n const config: IDCCreditConfig = {\r\n contract: `FP-${client.name}`,\r\n credit_type: \"Arrendamiento\",\r\n interest_rate: 528,\r\n installments: 0,\r\n periodicity: \"WEEK\",\r\n interest_base: \"ACT/ACT\",\r\n commission_opening: 40,\r\n financed_amount: contract.financial.financed,\r\n interest_arrears: 0\r\n }\r\n\r\n if (!client.dynamic_account) return null\r\n\r\n return {\r\n id: Number(client.dynamic_account),\r\n group: clientDynamic.group,\r\n company: clientDynamic.company,\r\n client: clientDynamic.id,\r\n created_at: \"\",\r\n currency: \"484\",\r\n status: \"pending\",\r\n properties: properties,\r\n product: 1756,\r\n enabled: \"1\",\r\n config: config,\r\n amount: 0,\r\n type: \"liabilities\",\r\n identifier: null,\r\n start_at: null\r\n }\r\n }\r\n\r\n public static CreatePayment(\r\n contract: oContract,\r\n clientDynamic: IDCAccount,\r\n ): IDCPayment {\r\n return {\r\n account: String(clientDynamic.id),\r\n amount: contract.financial.weeklyPayment,\r\n date: \"\",\r\n dst_account: String(clientDynamic.id),\r\n external_id: \"\",\r\n extras: {},\r\n operation: 98,\r\n reference: \"\"\r\n }\r\n }\r\n\r\n public static getNextDateTime(): string {\r\n const now = new Date();\r\n const nextDateTime = new Date(now.getTime() + 1000); // Add 1 second as an example\r\n\r\n const year = nextDateTime.getFullYear();\r\n const month = String(nextDateTime.getMonth() + 1).padStart(2, '0');\r\n const day = String(nextDateTime.getDate()).padStart(2, '0');\r\n const hours = String(nextDateTime.getHours()).padStart(2, '0');\r\n const minutes = String(nextDateTime.getMinutes()).padStart(2, '0');\r\n const seconds = String(nextDateTime.getSeconds()).padStart(2, '0');\r\n\r\n return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}`;\r\n }\r\n\r\n public static getIsoDate(): string {\r\n const now = new Date();\r\n return now.toISOString();\r\n }\r\n\r\n public static FormPayment(\r\n contract: oContract,\r\n account: IDCAccount) {\r\n\r\n let data = FactoryDynamiCore.CreatePayment(contract, account)\r\n\r\n return {\r\n amount: new UntypedFormControl(data.amount, [Validators.required, Validators.min(0)]),\r\n }\r\n }\r\n}\r\n","import {oContract} from '../objects/oContract';\r\nimport {oClient} from '../objects/oClient';\r\nimport {\r\n oConektaNewOrder, oConektaNewOrderAntifraudInfo,\r\n oConektaNewOrderCharge,\r\n oConektaNewOrderCustomerInfo, oConektaNewOrderLineItem,\r\n oConektaNewOrderPymMethod, oConektaOrderCreate\r\n} from '../objects/oConekta';\r\n\r\nexport enum ePaymentType {\r\n OXXO = \"OXXO\",\r\n ALTERNA = \"ALTERNA\",\r\n OXXO_RECURRENT = 'oxxo_recurrent'\r\n}\r\n\r\nexport class FactoryConekta {\r\n public static createOrder(\r\n client: oClient,\r\n contract: oContract,\r\n dateTime?: number\r\n ): oConektaNewOrder {\r\n\r\n if (client.conekta_id == undefined) return {\r\n data: {\r\n charges: [],\r\n currency: \"\",\r\n customer_info: {customer_id: \"\"},\r\n line_items: []\r\n },\r\n id: \"\"\r\n }\r\n\r\n const customer_info: oConektaNewOrderCustomerInfo = {\r\n customer_id: client.conekta_id\r\n }\r\n const week = ((3600 * 24) * 30) * 1000\r\n let next = new Date().getTime() + week\r\n next = Math.floor(next / 1000)\r\n\r\n const method: oConektaNewOrderPymMethod = {\r\n type: \"cash\",\r\n expires_at: next,\r\n }\r\n const charge: oConektaNewOrderCharge = {\r\n amount: contract.financial.weeklyPayment * 100,\r\n payment_method: method\r\n }\r\n const charges = [charge]\r\n\r\n const antifraud_info: oConektaNewOrderAntifraudInfo = {\r\n newKey: \"Key\"\r\n }\r\n\r\n const lineItem: oConektaNewOrderLineItem = {\r\n antifraud_info: antifraud_info,\r\n name: `Referencia credito ${client.name}`,\r\n quantity: 1,\r\n unit_price: contract.financial.weeklyPayment * 100,\r\n }\r\n\r\n const lineItems: oConektaNewOrderLineItem[] = [lineItem]\r\n\r\n const orderData: oConektaOrderCreate = {\r\n customer_info: customer_info,\r\n charges: charges,\r\n currency: \"MXN\",\r\n line_items: lineItems\r\n }\r\n\r\n const order: oConektaNewOrder = {\r\n data: orderData,\r\n id: client.id\r\n }\r\n\r\n if (dateTime != undefined) order.date = dateTime\r\n\r\n return order\r\n }\r\n}\r\n\r\n// '\r\n// {\r\n// \"customer_info\": {\r\n// \"name\": \"DevTest\",\r\n// \"email\": \"test@femsa.com\",\r\n// \"phone\": \"5522997233\"\r\n// },\r\n// \"currency\": \"MXN\",\r\n// \"line_items\": [\r\n// {\r\n// \"name\": \"Box of Cohiba S1s\",\r\n// \"quantity\": 1,\r\n// \"unit_price\": 20000\r\n// }\r\n// ]\r\n// }\r\n// '\r\n","import {cNotification, oNotification} from '../objects/oNotification';\r\nimport {UntypedFormControl, Validators} from '@angular/forms';\r\n\r\nexport const ROUTE_NOTIFICATIONS = \"notifications\"\r\nexport const ROUTE_GLOBAL_REFERENCE2 = \"/contract-reference\"\r\n\r\nconst prodFunction = \"https://us-central1-ravcredit-2b079.cloudfunctions.net/CustomerNotification\"\r\nconst prodFunction2 = \"https://customernotification-2imgfxveka-uc.a.run.app\"\r\nconst localTest = \"http://127.0.0.1:5001/ravcredit-2b079/us-central1/CustomerNotification\"\r\nexport const ravCreditFunctions = prodFunction\r\n\r\nexport class FactoryNotification {\r\n\r\n public static FormNotification(notification?: oNotification) {\r\n let data = cNotification\r\n\r\n if (notification) data = notification\r\n\r\n return {\r\n title: new UntypedFormControl(data.notification.title, [Validators.required, Validators.min(1)]),\r\n body: new UntypedFormControl(data.notification.body, [Validators.required, Validators.min(1)]),\r\n }\r\n }\r\n\r\n public static CreateGlobalNotificationObj(data: oNotification) {\r\n const o: any = {}\r\n\r\n if (data.notification) {\r\n const not: any = {}\r\n if (data.notification.body) not[\"body\"] = data.notification.body\r\n if (data.notification.title) not[\"title\"] = data.notification.title\r\n\r\n if (data.ids) not[\"ids\"] = data.ids\r\n\r\n if (data.tokens) not[\"tokens\"] = data.tokens\r\n\r\n if (data.type) not[\"type\"] = data.type\r\n\r\n if (data.data) if (data.data.route) not[\"route\"] = data.data.route\r\n\r\n o[\"data\"] = not\r\n }\r\n return o\r\n }\r\n\r\n}\r\n","export const keyUserID: string = \"rc_uid\"\r\nexport const dbVersion: number = 1\r\nexport const dbName: string = \"RavCreditDB\"\r\nexport const keyPathId: string = \"id\"\r\n\r\nexport const dbAuthStore: string = \"authStore\"\r\nexport const dbUsersStore: string = \"usersStore\"\r\nexport const dbContractsStore: string = \"contractsStore\"\r\nexport const dbClientsStore: string = \"clientsStore\"\r\nexport const dbBusinessInfo: string = \"businessInfo\"\r\nexport const dbBusinessConfig: string = \"businessConfig\"\r\nexport const dbConektaClientsStore: string = \"conektaClientsStore\"\r\nexport const dbConektaReferencesStore: string = \"conektaReferencesStore\"\r\nexport const dbPassportReferencesStore: string = \"passportReferencesStore\"\r\nexport const dbDynamicReferencesStore: string = \"dynamicReferencesStore\"\r\nexport const dbDynamicAccountStore: string = \"dynamicAccountStore\"\r\nexport const dbNotificationsStore: string = \"notificationsStore\"\r\nexport const dbPaymentsStore: string = \"paymentsStore\"\r\n\r\nexport const dbIndexAuth: string = \"iAuth\"\r\nexport const dbIndexUsers: string = \"iUsers\"\r\nexport const dbIndexContracts: string = \"iContracts\"\r\nexport const dbIndexClients: string = \"iClients\"\r\nexport const dbIndexBusiness: string = \"iBusiness\"\r\nexport const dbIndexConektaClients: string = \"iConecktaClients\"\r\nexport const dbIndexConektaClientsRef: string = \"iConecktaClientsRef\"\r\nexport const dbIndexPassportClientsRef: string = \"iPassportClientsRef\"\r\nexport const dbIndexNotification: string = \"iNotification\"\r\nexport const dbIndexPayments: string = \"iNotification\"\r\n\r\nexport const dateFormat = \"EEEE, dd MMM yyyy\"\r\nexport const dateCompleteFormat = \"EEEE, dd MMM yyyy hh:mm aaaa\"\r\nexport const timeFormat = \"hh:mm aaaa\"\r\n\r\nexport const expiredPayment = \"expiredPayment\"\r\n","import { Injectable } from '@angular/core';\r\nimport { oUser } from '../objects/oUser';\r\nimport {IDBPDatabase, openDB} from 'idb';\r\nimport {\r\n dbAuthStore, dbBusinessConfig, dbBusinessInfo,\r\n dbClientsStore,\r\n dbConektaClientsStore, dbConektaReferencesStore,\r\n dbContractsStore, dbDynamicReferencesStore,\r\n dbName, dbNotificationsStore, dbPassportReferencesStore,\r\n dbVersion,\r\n keyPathId,\r\n keyUserID\r\n} from '../const/constants';\r\nimport {oClient} from '../objects/oClient';\r\nimport {tyClientContract} from '../objects/oGlobal';\r\nimport {oContract} from '../objects/oContract';\r\nimport {eProvider} from '../util/UtilContract';\r\nimport {oBusinessConfig, oBusinessInfo} from '../objects/oBusiness';\r\nimport {oNotification} from '../objects/oNotification';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IndexedDbService {\r\n\r\n indexDbStatus = false\r\n iDb!: IDBPDatabase<unknown>\r\n\r\n constructor() {\r\n }\r\n\r\n // async dbAuthorization() {\r\n // // const k = this.getLocalUser()\r\n // // if (k == null) return false\r\n // //\r\n // // const db = await openDB(dbName, dbVersion)\r\n // // // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n // // const auth = await db.get(dbAuthStore, k)\r\n // // // utils auth = await store.get(k)\r\n // // db.close()\r\n //\r\n // let auth: any = null\r\n // return auth;\r\n //\r\n // }\r\n\r\n /****************** SIMPLE Transactional - CRUD *************************************/\r\n\r\n async dbGetObject<T>(store: string, data: any): Promise<T> {\r\n if (!data) return data\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.get(store, data) as T\r\n }\r\n\r\n async dbGetAllByStore<T>(store: string, index?: string) {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.getAll(store) as T\r\n }\r\n\r\n async dbAddObject<T>(store: string, data: any): Promise<boolean> {\r\n try {\r\n const db = await openDB(dbName, dbVersion)\r\n await db.put(store, data)\r\n return true\r\n } catch (e) {\r\n return false\r\n }\r\n }\r\n\r\n async dbRemoveObject<T>(store: string, data: any): Promise<T> {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.delete(store, data) as T\r\n }\r\n\r\n /************************************* AUTH **************************************/\r\n\r\n async dbSignIn(store: string, data: any) {\r\n await this.iDb.put(store, data)\r\n const _data = data as oUser\r\n this.setLocalStorage(keyUserID, _data.id)\r\n }\r\n\r\n async dbSignOut() {\r\n\r\n const k = this.getLocalUser()\r\n if (!k) return\r\n\r\n await this.iDb.delete(dbAuthStore, k)\r\n this.removeLocalStorage(keyUserID)\r\n }\r\n\r\n async dbAuthorization() {\r\n const k = this.getLocalUser()\r\n if (k == null) return false\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n const auth = await db.get(dbAuthStore, k)\r\n // utils auth = await store.get(k)\r\n db.close()\r\n\r\n if (!auth) return false\r\n else return true\r\n }\r\n\r\n async dbGetToken() {\r\n const k = this.getLocalUser()\r\n if (k == null) return \"\"\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n const auth = await db.get(dbAuthStore, k) as oUser\r\n // utils auth = await store.get(k)\r\n\r\n db.close()\r\n return auth.access_token != \"\" ? auth.access_token : \"\"\r\n }\r\n\r\n /******************************** Local Storage *************************************/\r\n\r\n setLocalStorage(k: string, v: string) {\r\n localStorage.setItem(k, v)\r\n }\r\n\r\n getLocalStorage<T>(k: string) {\r\n return localStorage.getItem(k) as T\r\n }\r\n\r\n removeLocalStorage(k: string) {\r\n return localStorage.removeItem(k)\r\n }\r\n\r\n getLocalUser(): string | null {\r\n const k = localStorage.getItem(keyUserID)\r\n return (k)\r\n }\r\n\r\n /********************************************************************************* **/\r\n\r\n async getPlatformUser() {\r\n const k = this.getLocalStorage<string>(keyUserID) as string\r\n if (k == null) return \"\"\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n const auth = await db.get(dbAuthStore, k) as oUser\r\n // utils auth = await store.get(k)\r\n\r\n db.close()\r\n return auth.name != \"\" ? auth.name : \"\"\r\n }\r\n\r\n async getToken() {\r\n const k = this.getLocalUser()\r\n if (k == null) return \"\"\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n const auth = await db.get(dbAuthStore, k) as oUser\r\n // utils auth = await store.get(k)\r\n\r\n db.close()\r\n return auth.access_token != \"\" ? auth.access_token : \"\"\r\n }\r\n\r\n async addObject<T>(store: string, data: any): Promise<boolean> {\r\n try {\r\n const db = await openDB(dbName, dbVersion)\r\n await db.put(store, data)\r\n return true\r\n } catch (e) {\r\n return false\r\n }\r\n }\r\n\r\n async patchObject<T>(store: string, data: any): Promise<T> {\r\n try {\r\n const db = await openDB(dbName, dbVersion)\r\n const txn = db.transaction(store, \"readwrite\")\r\n const obj = txn.objectStore(store)\r\n // const index = obj.index(keyPathCurp)\r\n await obj.put(data)\r\n return data as T\r\n } catch (e) {\r\n console.error(e)\r\n return {} as T\r\n }\r\n }\r\n\r\n async updateObjectByID<T>(store: string, id: string, data: T): Promise<boolean> {\r\n try {\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n const res = await db.get(store, id) as oClient\r\n\r\n if (res != undefined) await this.removeObject(dbClientsStore, id)\r\n\r\n return await this.addObject(store, data)\r\n\r\n } catch (e) {\r\n console.error(\"updateObjectByID Catch Error:\", e)\r\n return false\r\n }\r\n }\r\n\r\n async upsertObjectById<T>(store: string, id: string, data: T) {\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n const res = await db.get(store, id)\r\n\r\n if (res) await this.removeObject<T>(store, id)\r\n\r\n return await db.add(store, data)\r\n }\r\n\r\n async removeObject<T>(store: string, data: any): Promise<T> {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.delete(store, data) as T\r\n }\r\n\r\n async deleteObjectByID<T>(store: string, id: string) {\r\n try {\r\n const db = await openDB(dbName, dbVersion)\r\n const txn = db.transaction(store, \"readwrite\")\r\n const obj = txn.objectStore(store)\r\n const index = obj.index(keyPathId)\r\n const va2 = index.openCursor(id)\r\n va2.then(async cursor => {\r\n while (cursor) {\r\n cursor.delete();\r\n cursor = await cursor.continue();\r\n }\r\n })\r\n return va2\r\n } catch (e) {\r\n console.error(e)\r\n return {} as T\r\n }\r\n }\r\n\r\n async cleanAll<T>(store: string) {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.clear(store)\r\n }\r\n\r\n async getObject<T>(store: string, data: any): Promise<T> {\r\n if (!data) return data\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.get(store, data) as T\r\n }\r\n\r\n async addBuildByStore(store: string, data: any[]) {\r\n for (const o of data) {\r\n const exists = await this.getObject(store, o[\"id\"])\r\n if (!exists) await this.addObject(store, o)\r\n else await this.updateObject(store, o)\r\n }\r\n }\r\n\r\n async updateObject<T>(store: string, data: any) {\r\n const db = await openDB(dbName, dbVersion)\r\n await db.put(store, data)\r\n }\r\n\r\n async getAllByStore<T>(store: string, index?: string) {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.getAll(store) as T\r\n }\r\n\r\n async getAuthUser() {\r\n const data = await this.getAllByStore<oUser[]>(dbAuthStore)\r\n return data[0]\r\n }\r\n\r\n async getAuthName() {\r\n const data = await this.getAuthUser()\r\n return data.name\r\n }\r\n\r\n async getAuthUsername() {\r\n const data = await this.getAuthUser()\r\n return data.username\r\n }\r\n\r\n async saveDataLocally<T>(\r\n contract: oContract,\r\n client: oClient,\r\n providerData: T,\r\n ): Promise<boolean> {\r\n try {\r\n await this.addObject(dbClientsStore, client)\r\n await this.addObject(dbContractsStore, contract)\r\n\r\n if (!providerData) return false\r\n\r\n if (contract.financial.provider === eProvider.Conekta) {\r\n await this.addObject(dbConektaClientsStore, providerData)\r\n await this.addObject(dbConektaReferencesStore, providerData)\r\n } else if (contract.financial.provider === eProvider.Passport) {\r\n await this.addObject(dbPassportReferencesStore, providerData)\r\n } else if (contract.financial.provider === eProvider.DynamiCore) {\r\n await this.addObject(dbDynamicReferencesStore, providerData)\r\n }\r\n return true\r\n } catch (e) {\r\n console.error(e)\r\n return false\r\n }\r\n }\r\n\r\n /******************** MERGE **************************************/\r\n async getAllClientContracts(): Promise<tyClientContract[]> {\r\n const clientContract: tyClientContract[] = []\r\n const clients = await this.getAllByStore<oClient[]>(dbClientsStore)\r\n if (clients.length == 0) return []\r\n\r\n for (let client of clients) {\r\n const contract = await this.getObject<oContract>(dbContractsStore, client.contract)\r\n const e = {...client, ...contract}\r\n // preserve the id value over concat models\r\n e.id = client.id\r\n e.status = client.status\r\n clientContract.push(e)\r\n }\r\n return clientContract\r\n }\r\n\r\n /******************** MERGE **************************************/\r\n\r\n async dbGetAllClientContracts(): Promise<tyClientContract[]> {\r\n const clientContract: tyClientContract[] = []\r\n const clients = await this.dbGetAllByStore<oClient[]>(dbClientsStore)\r\n if (clients.length == 0) return []\r\n\r\n for (let client of clients) {\r\n const contract = await this.dbGetObject<oContract>(dbContractsStore, client.contract)\r\n const e = {...client, ...contract}\r\n // preserve the id value over concat models\r\n e.id = client.id\r\n e.status = client.status\r\n clientContract.push(e)\r\n }\r\n return clientContract\r\n }\r\n\r\n /****************** BUSINESS INFO *************************************/\r\n\r\n async getBusinessInfo(): Promise<oBusinessInfo | null> {\r\n const config: oBusinessInfo[] = await this.dbGetAllByStore<oBusinessInfo[]>(dbBusinessInfo)\r\n\r\n if (!config) return null\r\n\r\n return config[0]\r\n }\r\n\r\n /****************** BUSINESS CONFIG ************************************/\r\n\r\n async getBusinessConfig(): Promise<oBusinessConfig | null> {\r\n const config: oBusinessConfig[] = await this.dbGetAllByStore<oBusinessConfig[]>(dbBusinessConfig)\r\n\r\n if (!config) return null\r\n\r\n return config[0]\r\n }\r\n\r\n async updateBusinessConfig(config: oBusinessConfig) {\r\n\r\n // config.version = \"1.0\"\r\n await this.dbRemoveObject(dbBusinessConfig, \"1.0\")\r\n await this.dbAddObject(dbBusinessConfig, config)\r\n }\r\n\r\n async updateBusinessInfo(config: oBusinessInfo) {\r\n\r\n config.version = \"v2024\"\r\n await this.dbRemoveObject(dbBusinessInfo, \"v2024\")\r\n await this.dbAddObject(dbBusinessInfo, config)\r\n }\r\n\r\n /**************** NOTIFICATIONS *********************************/\r\n\r\n async getLocalNotifications(): Promise<oNotification[] | null> {\r\n const notifications: oNotification[] = await this.dbGetAllByStore<oNotification[]>(dbNotificationsStore)\r\n if (!notifications) return null\r\n return notifications\r\n }\r\n\r\n async updateNotifications(notifications: oNotification[]) {\r\n for (const o of notifications) {\r\n const exists = await this.dbGetObject(dbNotificationsStore, o.notification_id)\r\n if (!exists) {\r\n await this.dbAddObject(dbNotificationsStore, o)\r\n }\r\n }\r\n }\r\n}\r\n","import {add, format, getDate} from \"date-fns\";\r\nimport {es} from 'date-fns/locale/es';\r\nimport {eProvider} from './UtilContract';\r\nimport {inject, Injector, runInInjectionContext} from '@angular/core';\r\nimport {IDCTxnRow} from './UtilDynamiCore';\r\nimport {oPaymentDates} from '../objects/oGlobal';\r\nimport {oConektaOrder} from '../objects/oConekta';\r\nimport {dateCompleteFormat, dateFormat, expiredPayment, timeFormat} from '../const/constants';\r\nimport {IndexedDbService} from '../idb/indexed-db.service';\r\n\r\nexport class UtilTime {\r\n private localeFns = es\r\n\r\n public static IsExpired(time: number): boolean {\r\n const dateInit = new Date(time)\r\n const dayInit = dateInit.getDate()\r\n const monthInit = dateInit.getMonth() + 1\r\n\r\n const dateActual = new Date()\r\n const dayActual = dateActual.getDate()\r\n const monthActual = dateActual.getMonth() + 1\r\n\r\n if (monthActual > monthInit) return true\r\n\r\n return dayActual > dayInit;\r\n }\r\n\r\n public static getDates(initial: number, weeks: number): oPaymentDates[] {\r\n const dates: oPaymentDates[] = []\r\n let prev = initial\r\n for (let i = 0; i < weeks; i++) {\r\n const date = add(prev, {weeks: 1})\r\n dates.push(\r\n {\r\n week: i + 1,\r\n date: date.getTime()\r\n }\r\n )\r\n prev = date.getTime()\r\n }\r\n return dates\r\n }\r\n\r\n public static getPreviousWeek() {\r\n const today = new Date().getTime()\r\n const week = ((3600 * 24) * 7) * 1000\r\n return today - week\r\n }\r\n\r\n public static getDayNum(date: Date | number): number {\r\n return getDate(date)\r\n }\r\n\r\n public static getDayName(date: Date | number): string {\r\n return format(date, \"EEEE\", {locale: es})\r\n }\r\n\r\n public static getMonthName(date: Date | number): string {\r\n return format(date, \"MMMM\", {locale: es}).toUpperCase();\r\n }\r\n\r\n public static getYear(date: Date | number): string {\r\n return format(date, \"yyyy\")\r\n }\r\n\r\n public static GetNextPayment(time: number, provider: string) {\r\n let week = 0\r\n if (provider == eProvider.Conekta) {\r\n week = (((3600 * 24) * 7))\r\n } else if (provider == eProvider.DynamiCore) {\r\n week = (((3600 * 24) * 7) * 1000)\r\n }\r\n return this.getLocalTimeFromLong(time + week, provider)\r\n }\r\n\r\n public static getLocalTimeFromLong(time: number, provider: string) {\r\n if (time <= 0) return \"\"\r\n let factor = this.GetFactor(provider)\r\n let dateTime = time * factor\r\n let parsedDate = format(new Date(dateTime), dateFormat, {\r\n locale: es\r\n })\r\n return parsedDate\r\n }\r\n\r\n public static DelayPaymentLast(\r\n lastPayment: number, provider: string, injector: Injector\r\n ): boolean {\r\n let factor = this.GetFactor(provider)\r\n let now = new Date().getTime()\r\n let last = 0\r\n\r\n if (provider == eProvider.Conekta)\r\n last = ((((3600 * 24) * 7)) + lastPayment) * factor\r\n else if (provider == eProvider.DynamiCore)\r\n last = ((((3600 * 24) * 7) * 1000) + lastPayment) * factor\r\n\r\n runInInjectionContext(injector, () => {\r\n const idb = inject(IndexedDbService)\r\n // const observable = inject(ObservablesService)\r\n idb.setLocalStorage(expiredPayment, String(now > last))\r\n // observable.isLate.next(now > last)\r\n })\r\n // 1751091565767\r\n // 1751557440\r\n return now > last\r\n }\r\n\r\n public static GetFactor(provider: string) {\r\n let factor = 1\r\n if (provider == eProvider.Conekta)\r\n factor = 1000\r\n return factor\r\n }\r\n\r\n public static GetEpochFromFormatedDate(date: string): number {\r\n if (date == \"\") return 0\r\n\r\n const _date = new Date(date)\r\n if (isNaN(_date.getTime())) return 0\r\n return _date.getTime()\r\n }\r\n\r\n public static GetTimeFromString(date: string) {\r\n return format(new Date(date), timeFormat, {\r\n locale: es\r\n })\r\n }\r\n\r\n public static GetDateFromString(date: string) {\r\n return format(new Date(date), dateCompleteFormat, {\r\n locale: es\r\n })\r\n }\r\n\r\n // Quick sort\r\n public static SortingByTime(payments: IDCTxnRow[]): IDCTxnRow[] {\r\n if (payments.length <= 1) return payments\r\n\r\n const pivot = payments[payments.length - 1]\r\n const pivotDate = new Date(pivot.created).getTime()\r\n const left: IDCTxnRow[] = []\r\n const right: IDCTxnRow[] = []\r\n\r\n for (let i = 0; i < payments.length - 1; i++) {\r\n const actualDate = new Date(payments[i].created).getTime()\r\n if (actualDate > pivotDate) left.push(payments[i])\r\n else right.push(payments[i])\r\n }\r\n\r\n return [...this.SortingByTime(left), pivot, ...this.SortingByTime(right)]\r\n }\r\n\r\n public static SortingByTimeConekta(payments: oConektaOrder []): oConektaOrder[] {\r\n if (payments.length <= 1) return payments;\r\n\r\n const pivot = payments[payments.length - 1]\r\n let pivotDate = 0;\r\n if (pivot.charges.data == undefined) return payments\r\n\r\n if (pivot.charges.data[0].paid_at != undefined) {\r\n pivotDate = pivot.charges.data[0].paid_at\r\n } else {\r\n pivot.charges.data[0].created_at\r\n }\r\n\r\n if (pivotDate <= 0) return payments;\r\n\r\n const left: oConektaOrder[] = []\r\n const right: oConektaOrder [] = []\r\n\r\n for (let i = 0; i < payments.length - 1; i++) {\r\n const actual = payments[i].charges.data[0].paid_at;\r\n if (actual <= 0) continue\r\n if (actual > pivotDate) left.push(payments[i])\r\n else right.push(payments[i])\r\n }\r\n\r\n return [...this.SortingByTimeConekta(left), pivot, ...this.SortingByTimeConekta(right)]\r\n }\r\n}\r\n","import {oContractMetrics} from '../objects/oGlobal';\n\nexport const cContractMetrics: oContractMetrics = {\n total: 0,\n activated: 0,\n paused: 0,\n completed: 0,\n canceled: 0,\n late: 0,\n conektaCount: 0,\n dynamicCount: 0,\n passportCount: 0,\n rateTotal: 0,\n rateActive: 0,\n ratePaused: 0,\n rateComplete: 0,\n rateCanceled: 0,\n rateLate: 0\n}\n","import {oContract} from '../objects/oContract';\r\nimport {oClient} from '../objects/oClient';\r\nimport {ePassportTypes, iGlobalPassport} from '../objects/oPassport';\r\n\r\nexport class FactoryPassport {\r\n public static CreatePassportReference(\r\n client: oClient,\r\n contract: oContract,\r\n dateTime?: number\r\n ): iGlobalPassport {\r\n const o = {\r\n passport: {\r\n type: ePassportTypes.CREATE,\r\n data: {\r\n name: client.name,\r\n email: client.email,\r\n amount: contract.financial.weeklyPayment,\r\n expirationDate: \"\",\r\n additional: {\r\n client: client.name,\r\n clientID: client.id,\r\n credit: client.status\r\n }\r\n }\r\n },\r\n contract: contract,\r\n date: dateTime\r\n }\r\n if (dateTime != undefined) o.date = dateTime\r\n return o\r\n }\r\n}\r\n","import {oConektaRes} from '../objects/oConekta';\r\nimport {IDCTxnRow} from './UtilDynamiCore';\r\nimport {eProvider} from './UtilContract';\r\n\r\nexport interface oPaymentGlobal {\r\n conektaPayment?: oConektaRes,\r\n dynamicPayment?: IDCTxnRow[],\r\n}\r\n\r\nexport class FactoryPayment {\r\n public static CreatePayment(data: oConektaRes | IDCTxnRow[], provider: eProvider): oPaymentGlobal {\r\n const o: oPaymentGlobal = {}\r\n\r\n if (provider == eProvider.DynamiCore)\r\n o.dynamicPayment = data as IDCTxnRow[];\r\n\r\n if (provider == eProvider.Conekta)\r\n o.conektaPayment = data as oConektaRes\r\n\r\n return o\r\n }\r\n}\r\n","import {oContract} from '../../v1/objects/oContract';\nimport {oCompany} from './oCompany';\nimport {oAsset} from './oAsset';\n\nexport enum eContractStatus {\n APPROVED = 'APPROVED',\n DENIED = 'DENIED',\n CANCELED = 'CANCELED',\n PENDING = 'PENDING',\n CHECKING = 'CHECKING',\n}\n\nexport interface oContractV2 extends oContract {\n company: oCompany\n status: eContractStatus\n asset: oAsset // new entity to represent a user device\n}\n","import {oScoreNoHit, oScoreReference} from './oClient';\r\nimport {oCatalog} from './oCatalog';\r\nimport {oDevice} from '../../v1/objects/oDevice';\r\n\r\nexport interface oAssetCategory {\r\n name: string\r\n id: string\r\n createAt: number\r\n}\r\n\r\nexport interface oAssetBrand{\r\n name: string\r\n id: string\r\n description: string\r\n}\r\n\r\nexport interface oAssetOffer {\r\n name: string\r\n id: string\r\n createAt: number\r\n description: string\r\n}\r\n\r\nexport enum eAssetPeriod {\r\n MONTH = \"MONTH\",\r\n WEEK = \"WEEK\",\r\n}\r\n\r\nexport interface oPaymentOption {\r\n deadline: number,\r\n score: oScoreNoHit\r\n period: eAssetPeriod,\r\n}\r\n\r\nexport interface oAsset {\r\n name: string\r\n id: string\r\n createAt: number\r\n category: oAssetCategory\r\n brand: oAssetBrand\r\n price: number\r\n model: string\r\n imageUrl: string []\r\n paymentOption: oPaymentOption[]\r\n catalog: oCatalog\r\n offers: oAssetOffer[]\r\n score: oScoreReference\r\n IMEI: string\r\n}\r\n","/*\r\n * Public API Surface of ravcredit-lib\r\n */\r\n\r\nexport * from './lib/ravcredit-lib.service';\r\nexport * from './lib/ravcredit-lib.component';\r\nexport * from './lib/v1/objects/oAddress';\r\nexport * from './lib/v1/objects/oBusiness';\r\nexport * from './lib/v1/objects/oClient';\r\nexport * from './lib/v1/objects/oConekta';\r\nexport * from './lib/v1/objects/oContract';\r\nexport * from './lib/v1/objects/oContractAll';\r\nexport * from './lib/v1/objects/oCustomer';\r\nexport * from './lib/v1/objects/oDevice';\r\nexport * from './lib/v1/objects/oFinancial';\r\nexport * from './lib/v1/objects/oGlobal';\r\nexport * from './lib/v1/objects/oLogIn';\r\nexport * from './lib/v1/objects/oNewPayment';\r\nexport * from './lib/v1/objects/oNotification';\r\nexport * from './lib/v1/objects/oPassport';\r\nexport * from './lib/v1/objects/oUser';\r\nexport * from './lib/v1/objects/oVerification';\r\n\r\nexport * from './lib/v1/util/UtilClient';\r\nexport * from './lib/v1/util/UtilsHttp'\r\nexport * from './lib/v1/util/UtilBusiness';\r\nexport * from './lib/v1/util/UtilDynamiCore';\r\nexport * from './lib/v1/util/UtilContract';\r\nexport * from './lib/v1/util/UtilConekta';\r\nexport * from './lib/v1/util/UtilNotification';\r\nexport * from './lib/v1/util/UtilTime';\r\nexport * from './lib/v1/util/UtilDashboard';\r\nexport * from './lib/v1/util/UtilPassport';\r\nexport * from './lib/v1/util/UtilPayment';\r\n\r\nexport * from './lib/v1/idb/indexed-db.service';\r\nexport * from './lib/v1/const/constants';\r\n\r\nexport * from './lib/v2/objects/oAws';\r\nexport * from './lib/v2/objects/oCatalog';\r\nexport * from './lib/v2/objects/oContract';\r\nexport * from './lib/v2/objects/oAsset';\r\nexport * from './lib/v2/objects/oCompany';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ravcredit-lib.mjs","sources":["../../../projects/ravcredit-lib/src/lib/ravcredit-lib.service.ts","../../../projects/ravcredit-lib/src/lib/ravcredit-lib.component.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oAddress.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oConekta.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oCustomer.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilClient.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilBusiness.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilContract.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oGlobal.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oLogIn.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oNotification.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oPassport.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oVerification.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilsHttp.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilDynamiCore.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilConekta.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilNotification.ts","../../../projects/ravcredit-lib/src/lib/v1/const/constants.ts","../../../projects/ravcredit-lib/src/lib/v1/idb/indexed-db.service.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilTime.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilDashboard.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilPassport.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilPayment.ts","../../../projects/ravcredit-lib/src/lib/v2/objects/oContract.ts","../../../projects/ravcredit-lib/src/lib/v2/objects/oAsset.ts","../../../projects/ravcredit-lib/src/public-api.ts","../../../projects/ravcredit-lib/src/ravcredit-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RavcreditLibService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-ravcredit-lib',\r\n standalone: true,\r\n imports: [],\r\n template: `\r\n <p>\r\n ravcredit-lib works!\r\n </p>\r\n `,\r\n styles: ``\r\n})\r\nexport class RavcreditLibComponent {\r\n\r\n}\r\n","export interface oAddress {\n street: string,\n city: string,\n neighbor: string,\n zip: string,\n ext: string,\n int: string,\n state: string,\n}\n\nexport const cAddress: oAddress = {\n street: \"\",\n city: \"\",\n neighbor: \"\",\n zip: \"\",\n ext: \"\",\n int: \"\",\n state: \"\"\n}\n","export enum eConektaRes {\r\n CUSTOMER_CREATED = 'customer.created',\r\n ORDER_PENDING_PAYMENT = 'order.pending_payment',\r\n ORDER_CREATED = 'order.created',\r\n CHARGE_CREATED = 'charge.created',\r\n ORDER_PAID = 'order.paid',\r\n CHARGE_PAID = 'charge.paid',\r\n}\r\n\r\nexport enum eConektaOrderStatus {\r\n expired = 'expired',\r\n paid = 'paid',\r\n pending_payment = 'pending_payment',\r\n}\r\n\r\nexport interface oConektaResObjChargePaid {\r\n id: string,\r\n livemode: boolean\r\n created_at: number\r\n currency: string\r\n payment_method: any\r\n object: string\r\n description: string\r\n status: string\r\n amount: number\r\n paid_at: number\r\n fee: number\r\n customer_id: string\r\n order_id: string\r\n}\r\n\r\nexport interface oConektaCustomerInfo {\r\n email: string;\r\n phone: string | null;\r\n name: string;\r\n corporate: boolean;\r\n customer_id: string;\r\n object: string;\r\n customer_custom_reference: string | null;\r\n}\r\n\r\nexport interface oConektaChannel {\r\n segment: string;\r\n checkout_request_id: string;\r\n checkout_request_type: string;\r\n id: string;\r\n}\r\n\r\nexport interface oConektaCheckout {\r\n id: string;\r\n name: string;\r\n livemode: boolean;\r\n emails_sent: number;\r\n success_url: string;\r\n failure_url: string;\r\n payments_limit_count: number | null;\r\n paid_payments_count: number;\r\n status: string;\r\n type: string;\r\n recurrent: boolean;\r\n starts_at: number;\r\n expires_at: number;\r\n allowed_payment_methods: string[];\r\n needs_shipping_contact: boolean;\r\n redirection_time: number | null;\r\n metadata: object;\r\n can_not_expire: boolean;\r\n object: string;\r\n is_redirect_on_failure: boolean;\r\n slug: string;\r\n url: string;\r\n}\r\n\r\nexport interface oConektaLineItem {\r\n name: string;\r\n description: string | null;\r\n unit_price: number;\r\n quantity: number;\r\n sku: string | null;\r\n tags: string[] | null;\r\n brand: string | null;\r\n type: string | null;\r\n object: string;\r\n id: string;\r\n parent_id: string;\r\n metadata: object;\r\n antifraud_info: object;\r\n}\r\n\r\nexport interface oConektaLineItems {\r\n object: string;\r\n has_more: boolean;\r\n total: number;\r\n data: oConektaLineItem[];\r\n}\r\n\r\nexport interface oConektaCharges {\r\n object: string;\r\n has_more: boolean;\r\n total: number;\r\n data: oConektaChargeData[];\r\n}\r\n\r\nexport interface oConektaPaymentMethod {\r\n service_name: string;\r\n barcode_url: string;\r\n store: string;\r\n auth_code: number;\r\n object: string;\r\n type: string;\r\n expires_at: number;\r\n store_name: string;\r\n reference: string;\r\n cashier_id: string;\r\n}\r\n\r\nexport interface oConektaChargeData {\r\n id: string;\r\n livemode: boolean;\r\n created_at: number;\r\n currency: string;\r\n failure_code: string | null;\r\n failure_message: string | null;\r\n channel: oConektaChannel;\r\n payment_method: oConektaPaymentMethod;\r\n object: string;\r\n device_fingerprint: string;\r\n description: string;\r\n is_refundable: boolean;\r\n reference_id: string | null;\r\n status: string;\r\n amount: number;\r\n paid_at: number;\r\n customer_id: string;\r\n order_id: string;\r\n is_button_premia: boolean;\r\n refunds: string | null;\r\n}\r\n\r\nexport interface oConektaResObjOrderPaid {\r\n livemode: boolean\r\n amount: number\r\n currency: string\r\n payment_status: string\r\n amount_refunded: number\r\n customer_info: oConektaCustomerInfo,\r\n object: string\r\n id: string\r\n metadata: any\r\n is_refundable: boolean\r\n created_at: number\r\n updated_at: number\r\n line_items: any\r\n charges: any\r\n}\r\n\r\nexport interface oConektaCustomerInfo {\r\n email: string;\r\n phone: string | null;\r\n name: string;\r\n corporate: boolean;\r\n customer_id: string;\r\n object: string;\r\n customer_custom_reference: string | null;\r\n}\r\n\r\nexport interface oConektaOrder {\r\n livemode: boolean;\r\n amount: number;\r\n currency: string;\r\n payment_status: string;\r\n amount_refunded: number;\r\n customer_info: oConektaCustomerInfo;\r\n shipping_contact: string | null;\r\n channel: oConektaChannel;\r\n fiscal_entity: string | null;\r\n object: string;\r\n id: string;\r\n metadata: object;\r\n is_refundable: boolean;\r\n created_at: number;\r\n updated_at: number;\r\n checkout: oConektaCheckout;\r\n is_button_premia: boolean;\r\n line_items: oConektaLineItems;\r\n shipping_lines: string | null;\r\n tax_lines: string | null;\r\n discount_lines: string | null;\r\n charges: oConektaCharges;\r\n}\r\n\r\nexport interface oConektaOrdersResponse {\r\n next_page_url: string | null;\r\n previous_page_url: string | null;\r\n has_more: boolean;\r\n object: string;\r\n data: oConektaOrder[];\r\n}\r\n\r\n/******************************************************* Order Create */\r\nexport interface oConektaNewOrderCustomerInfo {\r\n customer_id: string;\r\n}\r\n\r\nexport interface oConektaNewOrderPymMethod {\r\n expires_at: number;\r\n type: string;\r\n}\r\n\r\nexport interface oConektaNewOrderCharge {\r\n payment_method: oConektaNewOrderPymMethod;\r\n amount: number;\r\n}\r\n\r\nexport interface oConektaNewOrderAntifraudInfo {\r\n newKey: string;\r\n}\r\n\r\nexport interface oConektaNewOrderLineItem {\r\n antifraud_info: oConektaNewOrderAntifraudInfo;\r\n name: string;\r\n quantity: number;\r\n unit_price: number;\r\n}\r\n\r\nexport interface oConektaOrderCreate {\r\n customer_info: oConektaNewOrderCustomerInfo;\r\n charges: oConektaNewOrderCharge[];\r\n currency: string;\r\n line_items: oConektaNewOrderLineItem[];\r\n}\r\n\r\nexport interface oConektaNewOrder {\r\n data: oConektaOrderCreate;\r\n date?: number,\r\n id: string\r\n}\r\n\r\n/* ****************************************************************************** */\r\n\r\nexport interface oConektaResPrevAttr {\r\n status: string\r\n}\r\n\r\nexport interface oConektaResData {\r\n object: oConektaResObjChargePaid | oConektaResObjOrderPaid\r\n previous_attributes: oConektaResPrevAttr\r\n}\r\n\r\nexport interface iConektaResObjChargePaidMethod {\r\n barcode_url: string\r\n expires_at: number\r\n object: string\r\n reference: string\r\n service_name: string\r\n store: string\r\n type: string\r\n}\r\n\r\nexport interface iConektaResObjChargePaid {\r\n id: string,\r\n livemode: boolean\r\n created_at: number\r\n currency: string\r\n payment_method: iConektaResObjChargePaidMethod\r\n object: string\r\n description: string\r\n status: string\r\n amount: number\r\n paid_at: number\r\n fee: number\r\n customer_id: string\r\n order_id: string\r\n}\r\n\r\nexport interface iConektaResPrevAttr {\r\n status: string;\r\n}\r\n\r\nexport interface iConektaResData {\r\n object: iConektaResObjChargePaid;\r\n previous_attributes: iConektaResPrevAttr;\r\n}\r\n\r\nexport interface oConektaRes {\r\n client_id?: string\r\n data: iConektaResData\r\n livemode: false,\r\n webhook_status: string\r\n webhook_logs: any[],\r\n id: string\r\n object: string\r\n type: eConektaRes\r\n created_at: number\r\n}\r\n\r\n/******************************************************* New reference res */\r\nexport interface iConektaSources {\r\n type: string,\r\n expires_at?: number\r\n}\r\n\r\nexport interface iOxxorecurrentSourcesData {\r\n id: string,\r\n object: string,\r\n type: string,\r\n provider: string,\r\n reference: string,\r\n barcode: string,\r\n barcode_url: string,\r\n expires_at: number,\r\n created_at: number,\r\n parent_id: string\r\n}\r\n\r\nexport interface iOxxoRecurrentSources {\r\n object: string,\r\n has_more: boolean,\r\n total: number,\r\n data: iOxxorecurrentSourcesData[]\r\n}\r\n\r\nexport interface iConektaRecurrent {\r\n corporate: boolean,\r\n created_at: number,\r\n customer_reference?: string\r\n email: string\r\n id: string\r\n livemode: boolean,\r\n name: string\r\n phone: string\r\n object: string\r\n custom_id: string,\r\n payment_sources: iOxxoRecurrentSources\r\n}\r\n\r\n/******************************************************* New reference constant */\r\nexport const cOxxorecurrentSourcesData: iOxxorecurrentSourcesData = {\r\n id: \"\",\r\n object: \"\",\r\n type: \"\",\r\n provider: \"\",\r\n reference: \"\",\r\n barcode: \"\",\r\n barcode_url: \"\",\r\n expires_at: 0,\r\n created_at: 0,\r\n parent_id: \"\"\r\n}\r\n\r\nexport const cOxxoRecurrentSources: iOxxoRecurrentSources = {\r\n object: \"\",\r\n has_more: false,\r\n total: 0,\r\n data: []\r\n}\r\n\r\nexport const cConektaRecurrent: iConektaRecurrent = {\r\n livemode: false,\r\n name: \"\",\r\n email: \"\",\r\n phone: \"\",\r\n id: \"\",\r\n object: \"\",\r\n created_at: 0,\r\n corporate: false,\r\n custom_id: \"\",\r\n payment_sources: cOxxoRecurrentSources\r\n}\r\n\r\n//\r\n// {\r\n// data: {\r\n// object: {\r\n// id: '66bf1b25e341ed00158a169a',\r\n// livemode: false,\r\n// created_at: 1723800357,\r\n// currency: 'MXN',\r\n// payment_method: [Object],\r\n// object: 'charge',\r\n// description: 'Payment from order',\r\n// status: 'paid',\r\n// amount: 28125,\r\n// paid_at: 1723800396,\r\n// fee: 1273,\r\n// customer_id: '',\r\n// order_id: 'ord_2wTWbvyFgywHDvTZg'\r\n// },\r\n// previous_attributes: { status: 'pending_payment' }\r\n// },\r\n// livemode: false,\r\n// webhook_status: 'pending',\r\n// webhook_logs: [\r\n// {\r\n// id: 'webhl_2wTWcRE8ThHpvG1QQ',\r\n// url: 'https://b1b6-2806-230-2610-b3ed-dcbe-6d32-758f-17c6.ngrok-free.app/api/v1/webhook',\r\n// failed_attempts: 0,\r\n// last_http_response_status: -1,\r\n// response_data: null,\r\n// object: 'webhook_log',\r\n// last_attempted_at: 0\r\n// }\r\n// ],\r\n// id: '66bf1b4c2973ff0001dff653',\r\n// object: 'event',\r\n// type: 'charge.paid',\r\n// created_at: 1723800396\r\n// }\r\n","export interface oCustomer {\n livemode: boolean\n name: string\n email: string\n phone: string\n id: string\n object: string\n created_at: number\n corporate: boolean\n custom_reference: string\n}\n\n\nexport interface oCustomerInfo {\n customer_id: string\n name?: string\n email?: string\n phone?: string\n}\n\n//\n// export interface iCustomerInfo = Pick<iCustomer, email | id | name | phone> {\n//\n// customer_id:string\n// }\n// {\n// livemode: false,\n// name: Vicente Mendoza,\n// email: vicente.mendoza@conekta.com,\n// phone: 5566982093,\n// id: cus_2wHtqBNsSggaYdfXu,\n// object: customer,\n// created_at: 1721258796,\n// corporate: false,\n// custom_reference:\n// }\n","import {oClient, oUserReference} from '../objects/oClient';\nimport {cConektaRecurrent, iConektaRecurrent, iConektaSources} from '../objects/oConekta';\nimport {oContract} from '../objects/oContract';\nimport {cContract} from './UtilContract';\nimport {eClientStatus, tyClientContract} from '../objects/oGlobal';\nimport {IDCAccount, IDCClient} from './UtilDynamiCore';\nimport {oFinancial} from '../objects/oFinancial';\n\nexport const cClient: oClient = {\n id: \"\",\n name: \"\",\n username: \"\",\n email: \"\",\n phone: \"\",\n curp: \"\",\n contract_temporary: \"\",\n conekta_id: \"\",\n userReferences: [],\n status: \"\"\n}\n\nexport interface oClientConekta {\n ravcredit: oClient;\n conekta: iConektaRecurrent;\n}\n\nexport const cUserReference: oUserReference = {\n name: \"\",\n phone: \"\",\n relationship: \"\"\n}\n\nexport const cClientConekta: oClientConekta = {\n conekta: cConektaRecurrent,\n ravcredit: cClient\n}\n\nexport interface iClientContract {\n client: oClient;\n contract: oContract;\n}\n\nexport const cClientContract: iClientContract = {\n client: cClient,\n contract: cContract,\n}\n\nexport class FactoryClient {\n\n public static CreateClientToConektaObj(data: oClient) {\n const o: any = {}\n if (data.name && data.name.length > 0) o.name = data.name;\n if (data.username && data.name.length > 0) o.username = data.username;\n if (data.email && data.email.length > 0) o.email = data.email;\n if (data.phone && data.phone.length > 0) o.phone = String(data.phone);\n if (data.curp && data.curp.length > 0) o.curp = data.curp;\n if (data.userReferences && data.userReferences.length > 0) o.userReferences = data.userReferences;\n if (data.contract) o.contract = data.contract;\n if (data.createdAt) o.createdAt = data.createdAt;\n if (data.lastLogin) o.lastLogin = data.lastLogin;\n if (data.conekta_id) o.conekta_id = data.conekta_id;\n\n return o\n }\n\n public static CreateClientFromFormObj(data: any, client?: oClient): oClient {\n const o: oClient = {\n id: \"\",\n name: data[\"client\"][0].name,\n username: data[\"auth\"][0].username,\n password: data[\"auth\"][0].password,\n email: data[\"client\"][0].email,\n phone: String(data[\"client\"][0].phone),\n curp: data[\"client\"][0].curp,\n userReferences: data[\"client\"][0].userReferences,\n status: eClientStatus.ACTIVE\n }\n\n if (client != undefined) {\n if (client.dynamic_id) o.dynamic_id = client.dynamic_id;\n if (client.dynamic_account) o.dynamic_account = client.dynamic_account;\n if (client.conekta_id) o.conekta_id = client.conekta_id;\n }\n\n return o\n }\n\n public static CreateClientConektaObj(data: oClient, finalDate: number) {\n const sources: iConektaSources = {\n type: \"oxxo_recurrent\",\n expires_at: finalDate\n }\n return {\n name: data.name,\n email: data.email,\n phone: data.phone,\n contract: data.contract_temporary,\n client_id: data.id,\n payment_sources: [sources]\n }\n }\n\n public static MapperConektaClient(\n client: oClient,\n conekta: iConektaRecurrent,\n ): iClientContract {\n const o: oClient = client\n\n o.name = conekta.name\n o.email = conekta.email\n o.phone = conekta.phone\n o.conekta_id = conekta.id\n\n return {\n client: o,\n contract: cContract\n }\n }\n\n public static MapperTypeContCli_Client(_client: tyClientContract): oClient {\n const client: oClient = {\n id: _client.id,\n name: _client.name,\n username: _client.username,\n email: _client.email,\n phone: _client.phone,\n curp: _client.curp,\n userReferences: _client.userReferences,\n status: _client.status,\n contract: _client.contract,\n reference: _client.reference,\n references: _client.references,\n conekta_id: _client.conekta_id,\n dynamic_account: _client.dynamic_account,\n token: _client.token,\n contract_temporary: _client.contract_temporary,\n lastLogin: _client.lastLogin,\n dynamic_id: _client.dynamic_id,\n createdAt: _client.createdAt,\n payments: _client.payments,\n password: _client.password,\n contractUrl: _client.contractUrl,\n dynamic_ref: _client.dynamic_ref,\n exists: _client.exists,\n passport_id: _client.passport_id,\n }\n\n return client\n }\n\n public static MapperDynamicClient(\n dynamic: IDCClient,\n client: oClient,\n contract: oContract,\n clientDyn?: IDCClient,\n account?: IDCAccount,\n ): iClientContract {\n // const o: tyClientContract = cTyClientContract\n\n /* Client ------------------------------------------------------ */\n client.username = `${dynamic.pii.name} ${dynamic.pii.motherlastname} ${dynamic.pii.lastname}`\n client.phone = dynamic.pii.phone as string\n client.dynamic_id = dynamic.id\n client.curp = dynamic.pii.curp\n client.email = dynamic.pii.email\n\n if (account)\n client.dynamic_account = account.id\n\n /* Auth ---------------------------------------------------------- */\n\n\n /* Device -------------------------------------------------------- */\n contract.device.IMEI = clientDyn!.pii.imei\n contract.device.device = clientDyn!.pii.model\n\n /* Contract ------------------------------------------------------ */\n contract.by = clientDyn!.pii.seller_name\n\n if (clientDyn!.pii.fotografia_del_cliente_con_el_equipo != undefined) {\n const oPhoto = clientDyn!.pii.fotografia_del_cliente_con_el_equipo!\n if (oPhoto != \"\") {\n const _photo = JSON.parse(oPhoto)\n if (_photo)\n contract.photo = _photo[0].url\n }\n }\n\n contract.address.state = dynamic.pii.state\n contract.address.city = dynamic.pii.city\n contract.address.street = dynamic.pii.street\n contract.address.ext = dynamic.pii.num_ext as string\n contract.address.zip = dynamic.pii.zipcode as string\n contract.address.neighbor = dynamic.pii.colony\n\n /* Financial ------------------------------------------------------ */\n contract.dynamicAccount = Number(account?.id)\n\n if (account?.config.installments) {\n contract.financial.deadlines = {\n weeks: account.config.installments,\n interest: 0\n }\n }\n\n if (account?.properties.expected_disbursed)\n contract.financial.total = account?.properties.expected_disbursed\n\n if (account?.properties.principal_disbursed)\n contract.financial.financed = account?.properties.principal_disbursed\n\n if (account?.properties.amount_commission_opening) {\n contract.financial.initial = account?.properties.amount_commission_opening\n contract.financial.amount_commission_opening = account?.properties.amount_commission_opening\n }\n\n contract.financial.interest_rate = Number(clientDyn!.pii.interest_rate)\n contract.financial.interest_arrears = account?.config.interest_arrears\n contract.financial.commission_opening = account?.config.commission_opening\n contract.financial.credit_type = account?.config.credit_type\n\n contract.financial.principal_disbursed = account?.properties.principal_disbursed\n contract.financial.expected_disbursed = account?.properties.expected_disbursed\n\n contract.financial.weeklyPayment = Number(clientDyn!.pii.amount_by_period)\n\n return {\n client: client,\n contract: contract,\n }\n }\n\n public static MapperFinancialContract(\n contract: oContract,\n account: IDCAccount,\n ): oFinancial {\n\n contract.dynamicAccount = Number(account.id)\n\n if (account.config.installments) {\n contract.financial.deadlines = {\n weeks: account.config.installments,\n interest: 0\n }\n }\n\n const total =\n account.config.financed_amount != undefined ? account.config.financed_amount : 0\n\n if (total > 0)\n contract.financial.total = total\n\n // if (account.properties.expected_disbursed)\n const expected_disbursed =\n account.properties.expected_disbursed != undefined ? account.properties.expected_disbursed : 0\n\n if (expected_disbursed > 0) contract.financial.total = expected_disbursed\n contract.financial.expected_disbursed = expected_disbursed\n\n contract.financial.interest_rate = account.config.interest_rate\n contract.financial.interest_arrears = account.config.interest_arrears\n\n // if (account.properties.principal_disbursed)\n if (account.properties.principal_disbursed > 0)\n contract.financial.financed = account.properties.principal_disbursed\n\n contract.financial.principal_disbursed = account.properties.principal_disbursed\n\n const amount_commission_opening =\n account.properties.amount_commission_opening != undefined ? account.properties.amount_commission_opening : 0\n\n if (amount_commission_opening > 0)\n contract.financial.initial = amount_commission_opening\n\n contract.financial.amount_commission_opening = amount_commission_opening\n\n contract.financial.interest_arrears = account.config.interest_arrears\n contract.financial.commission_opening = account.config.commission_opening\n contract.financial.credit_type = account.config.credit_type\n\n contract.financial.clabe = String(account.properties.clabe!)\n\n return contract.financial\n }\n}\n","import {UntypedFormArray, UntypedFormControl, Validators} from \"@angular/forms\";\nimport {\n oBusinessConfig,\n oBusinessDeadlines,\n oBusinessInfo,\n oSchedule,\n oTmpBusinessConfig,\n weekSchedule\n} from \"../objects/oBusiness\";\nimport {cAddress, oAddress} from '../objects/oAddress';\n\nexport const cSchedule: oSchedule = {\n day: \"\",\n open: 0,\n close: 0,\n}\n\nexport const cEmptyDay: oSchedule = {\n close: 0, open: 0, day: \"\"\n}\n\nexport const week: string[] = [\n \"monday\", \"tuesday\", \"wednesday\", \"thursday\", \"friday\", \"saturday\", \"sunday\"\n]\n\nexport const cDefinedSchedule: oSchedule[] = [\n {close: 0, open: 0, day: \"monday\"},\n {close: 0, open: 0, day: \"tuesday\"},\n {close: 0, open: 0, day: \"wednesday\"},\n {close: 0, open: 0, day: \"thursday\"},\n {close: 0, open: 0, day: \"friday\"},\n {close: 0, open: 0, day: \"saturday\"},\n {close: 0, open: 0, day: \"sunday\"},\n]\n\nexport const cBusinessInfo: oBusinessInfo = {\n version: \"v2024\",\n name: \"\",\n address: cAddress,\n phones: [],\n email: \"\",\n}\n\nexport const cBusinessDeadlines: oBusinessDeadlines = {\n weeks: 0,\n interest: 0\n}\n\nexport const cBusinessConfig: oBusinessConfig = {\n version: \"\",\n apiVersion: \"\",\n adminVersion: \"\",\n mobileVersion: \"\",\n mobileVersionPrev: \"\",\n deadlines: [],\n downloadsClient: false,\n passportPaymentReference: false,\n conektaPaymentReference: false,\n conektaPaymentLink: false,\n dynamicPaymentReference: false,\n apkUrl: \"https://firebasestorage.googleapis.com/v0/b/ravcredit-2b079.appspot.com/o/mobile-app%2Fapp-release.apk?alt=media&token=ae05f332-a39a-46ad-8a64-312ae1487496\"\n}\n\n\n\nexport class FactoryBusiness {\n\n public static FormBusinessInfo(info?: oBusinessInfo) {\n let data = cBusinessInfo\n\n if (info) data = info\n\n if (!info?.address) data.address = cAddress\n\n return {\n name: new UntypedFormControl(data.name, Validators.required),\n email: new UntypedFormControl(data.email, [Validators.required, Validators.email]),\n desc: new UntypedFormControl(data.desc, [Validators.required, Validators.email]),\n street: new UntypedFormControl(data.address.street, Validators.required),\n neighbor: new UntypedFormControl(data.address.neighbor, Validators.required),\n cp: new UntypedFormControl(data.address.zip, Validators.required),\n ext: new UntypedFormControl(data.address.ext, Validators.required),\n int: new UntypedFormControl(data.address.int),\n city: new UntypedFormControl(data.address.city, Validators.required),\n state: new UntypedFormControl(data.address.state, Validators.required),\n phones: new UntypedFormControl(data.phones),\n mondayOpen: new UntypedFormControl(data.schedule?.monday.open),\n mondayClose: new UntypedFormControl(data.schedule?.monday.close),\n tuesdayOpen: new UntypedFormControl(data.schedule?.tuesday.open),\n tuesdayClose: new UntypedFormControl(data.schedule?.tuesday.close),\n wednesdayOpen: new UntypedFormControl(data.schedule?.wednesday.open),\n wednesdayClose: new UntypedFormControl(data.schedule?.wednesday.close),\n thursdayOpen: new UntypedFormControl(data.schedule?.thursday.open),\n thursdayClose: new UntypedFormControl(data.schedule?.thursday.close),\n fridayOpen: new UntypedFormControl(data.schedule?.friday.open),\n fridayClose: new UntypedFormControl(data.schedule?.friday.close),\n saturdayOpen: new UntypedFormControl(data.schedule?.saturday.open),\n saturdayClose: new UntypedFormControl(data.schedule?.saturday.close),\n sundayOpen: new UntypedFormControl(data.schedule?.sunday.open),\n sundayClose: new UntypedFormControl(data.schedule?.sunday.close),\n }\n\n }\n\n public static CreateBusinessInfoObj(data: oTmpBusinessConfig) {\n const address: oAddress = cAddress\n const schedule: weekSchedule = {\n monday: {},\n tuesday: {},\n wednesday: {},\n thursday: {},\n friday: {},\n saturday: {},\n sunday: {}\n }\n\n if (data.street) address.street = data.street\n if (data.state) address.state = data.state\n if (data.neighbor) address.neighbor = data.neighbor\n if (data.city) address.city = data.city\n if (data.ext) address.ext = data.ext\n if (data.int) address.int = data.int\n if (data.cp) address.zip = data.cp\n\n if (data.mondayOpen) schedule.monday.open = data.mondayOpen\n if (data.mondayClose) schedule.monday.close = data.mondayClose\n\n if (data.tuesdayOpen) schedule.tuesday.open = data.tuesdayOpen\n if (data.tuesdayClose) schedule.tuesday.close = data.tuesdayClose\n\n if (data.wednesdayOpen) schedule.wednesday.open = data.wednesdayOpen\n if (data.wednesdayClose) schedule.wednesday.close = data.wednesdayClose\n\n if (data.thursdayOpen) schedule.thursday.open = data.thursdayOpen\n if (data.thursdayClose) schedule.thursday.close = data.thursdayClose\n\n if (data.fridayOpen) schedule.friday.open = data.fridayOpen\n if (data.fridayClose) schedule.friday.close = data.fridayClose\n\n if (data.saturdayOpen) schedule.saturday.open = data.saturdayOpen\n if (data.saturdayClose) schedule.saturday.close = data.saturdayClose\n\n if (data.sundayOpen) schedule.sunday.open = data.sundayOpen\n if (data.sundayClose) schedule.sunday.close = data.sundayClose\n\n const info: oBusinessInfo = {\n version: \"v2024\",\n name: data.name ? data.name : \"\",\n address: address,\n phones: data.phones ? data.phones : [],\n email: data.email ? data.email : \"\",\n schedule: schedule,\n desc: data.desc ? data.desc : \"\"\n }\n\n return info\n }\n\n public static FormDeadlineConfig(data: oBusinessDeadlines) {\n // if (!data) data = cBusinessDeadlines\n\n return {\n weeks: new UntypedFormControl(data.weeks),\n interest: new UntypedFormControl(data.interest),\n }\n }\n\n\n public static FormBusinessConfig(config?: oBusinessConfig) {\n let data = cBusinessConfig\n if (config) data = config\n\n return {\n downloadsClient: new UntypedFormControl(data.downloadsClient),\n passportPaymentReference: new UntypedFormControl(data.passportPaymentReference),\n conektaPaymentReference: new UntypedFormControl(data.conektaPaymentReference),\n conektaPaymentLink: new UntypedFormControl(data.conektaPaymentLink),\n dynamicPaymentReference: new UntypedFormControl(data.dynamicPaymentReference),\n deadlines: new UntypedFormArray([])\n }\n }\n\n public static testBusiness(message: string) {\n return `Message ${message}`\n }\n}\n","import {UntypedFormArray, UntypedFormControl, Validators} from \"@angular/forms\";\nimport {cClient, cUserReference} from \"./UtilClient\";\n// import {TaskState} from \"firebase/storage\";\nimport {cBusinessDeadlines} from \"./UtilBusiness\";\nimport {IDCAccount} from \"./UtilDynamiCore\";\nimport {oDevice} from '../objects/oDevice';\nimport {oFinancial} from '../objects/oFinancial';\nimport {cAddress, oAddress} from '../objects/oAddress';\nimport {oContract} from '../objects/oContract';\nimport {oClient, oUserReference} from '../objects/oClient';\nimport {tyClientContract} from '../objects/oGlobal';\nimport {oAsset, oAssetBrand, oAssetCategory} from '../../v2/objects/oAsset';\nimport {oCatalog} from '../../v2/objects/oCatalog';\nimport {oScore, oScoreReference} from '../../v2/objects/oClient';\n\nexport enum eProvider {\n none = \"\",\n Conekta = \"Conekta\",\n Passport = \"Passport\",\n DynamiCore = \"DynamiCore\",\n}\n\n// export type ProgressTaskStatus = TaskState | \"uploading\" | \"idle\" | \"generating\" | \"unauthorized\"\n\nexport const cDevice: oDevice = {\n device: \"\",\n IMEI: \"\"\n}\n\nexport const cFinancial: oFinancial = {\n total: 0,\n initial: 0,\n deadlines: cBusinessDeadlines,\n initDate: 0,\n weeklyPayment: 0,\n pendingOf: [],\n progress: [],\n interest: 0,\n provider: eProvider.DynamiCore,\n financed: 0,\n nextPayment: 0,\n amount_commission_opening: 0,\n principal_disbursed: 0,\n expected_disbursed: 0, // ---------\n credit_type: 'Arrendamiento',\n interest_rate: 0,\n commission_opening: 0,\n interest_arrears: 0,\n}\n\nexport const cContract: oContract = {\n id: \"\",\n client: \"\",\n address: cAddress,\n device: cDevice,\n financial: cFinancial,\n by: \"\",\n active: true\n}\n\nexport class FactoryContract {\n\n public static FormClient(client?: oClient) {\n let data = cClient\n\n if (client) data = client\n\n return {\n name: new UntypedFormControl(data.name, [Validators.required, Validators.minLength(10)]),\n email: new UntypedFormControl(data.username, [Validators.required, Validators.email]),\n phone: new UntypedFormControl(data.phone, [Validators.required, Validators.min(10)]),\n curp: new UntypedFormControl(data.curp, [Validators.required, Validators.minLength(16)]),\n userReferences: new UntypedFormArray([])\n }\n }\n\n public static CreateUserReferenceFormObj(user: oUserReference) {\n let data = cUserReference\n\n if (user.name != \"\") data = user\n\n return {\n name: new UntypedFormControl(data.name, [Validators.required, Validators.minLength(10)]),\n phone: new UntypedFormControl(data.phone, [Validators.required]),\n relationship: new UntypedFormControl(data.relationship, [Validators.required]),\n }\n }\n\n public static FormAddress(address?: oAddress) {\n let data = cAddress\n\n if (address) data = address\n\n return {\n street: new UntypedFormControl(data.street, Validators.required),\n neighbor: new UntypedFormControl(data.neighbor, Validators.required),\n cp: new UntypedFormControl(data.zip, Validators.required),\n ext: new UntypedFormControl(data.ext, Validators.required),\n int: new UntypedFormControl(data.int),\n city: new UntypedFormControl(data.city, Validators.required),\n state: new UntypedFormControl(data.state, Validators.required),\n }\n }\n\n public static FormDevice(device?: oDevice) {\n let data = cDevice\n\n if (device) data = device\n\n return {\n model: new UntypedFormControl(data.device, Validators.required),\n IMEI: new UntypedFormControl(data.IMEI, Validators.required),\n ID: new UntypedFormControl(data.id),\n }\n }\n\n public static FormFinancial(financial?: oFinancial) {\n let data = cFinancial\n\n if (financial) data = financial\n\n data.credit_type = \"Arrendamiento\"\n // data.deadlines.weeks = cBusinessDeadlines\n\n return {\n total: new UntypedFormControl(data.total, [Validators.required, Validators.min(1)]),\n initial: new UntypedFormControl(data.initial, [Validators.required]),\n financed: new UntypedFormControl(data.financed, Validators.min(1)),\n weeklyPayment: new UntypedFormControl(data.weeklyPayment, [Validators.required, Validators.min(1)]),\n deadlines: new UntypedFormControl(data.deadlines, [Validators.required]),\n initDate: new UntypedFormControl(data.initDate),\n provider: new UntypedFormControl(data.provider),\n\n credit_type: new UntypedFormControl(data.credit_type ? data.credit_type : 0),\n interest_rate: new UntypedFormControl(data.interest_rate ? data.interest_rate : 0), // interes credit dynamic\n commission_opening: new UntypedFormControl(data.commission_opening ? data.commission_opening : 0),\n interest_arrears: new UntypedFormControl(data.interest_arrears ? data.interest_arrears : 0), // intereses moratorios dynamic\n\n amount_commission_opening: new UntypedFormControl(data.amount_commission_opening), // comision por apertura dynamic\n principal_disbursed: new UntypedFormControl(data.principal_disbursed),\n expected_disbursed: new UntypedFormControl(data.expected_disbursed)\n }\n }\n\n public static CreateContractFromFormObj(data: any, finalPay: number) {\n const date = new Date()\n\n const device: oDevice = {\n device: data[\"device\"][0].model,\n id: data[\"device\"][0].ID,\n IMEI: data[\"device\"][0].IMEI\n }\n const address: oAddress = {\n street: data[\"address\"][0].street,\n city: data[\"address\"][0].city,\n neighbor: data[\"address\"][0].neighbor,\n zip: data[\"address\"][0].cp,\n ext: data[\"address\"][0].ext,\n int: data[\"address\"][0].int,\n state: data[\"address\"][0].state\n }\n\n const financial: oFinancial = {\n total: Number(data[\"financial\"][0].total),\n initial: data[\"financial\"][0].initial,\n deadlines: data[\"financial\"][0].deadlines,\n progress: [],\n pendingOf: [],\n weeklyPayment: data[\"financial\"][0].weeklyPayment,\n interest: data[\"financial\"][0].interest_rate,\n finalDate: date.getTime() + (data[\"financial\"][0].deadlines.weeks * (604800 * 1000)),\n initDate: date.getDate(),\n dayCut: date.getDate(),\n provider: data[\"financial\"][0].provider,\n finalPayment: finalPay,\n financed: data[\"financial\"][0].financed,\n nextPayment: data[\"financial\"][0].nextPayment\n }\n if (data[\"financial\"][0].provider == eProvider.DynamiCore) {\n financial.initial = data[\"financial\"][0].amount_commission_opening ? Number(data[\"financial\"][0].amount_commission_opening) : 0\n financial.expected_disbursed = data[\"financial\"][0].expected_disbursed ? Number(data[\"financial\"][0].expected_disbursed) : 0\n financial.principal_disbursed = data[\"financial\"][0].principal_disbursed ? Number(data[\"financial\"][0].principal_disbursed) : 0\n financial.interest_arrears = data[\"financial\"][0].interest_rate ? Number(data[\"financial\"][0].interest_rate) : 0\n financial.commission_opening = data[\"financial\"][0].commission_opening ? Number(data[\"financial\"][0].commission_opening) : 0\n financial.credit_type = data[\"financial\"][0].credit_type ? data[\"financial\"][0].credit_type : \"\"\n financial.clabe = data[\"financial\"][0].clabe ? data[\"financial\"][0].clabe : \"\"\n }\n\n if (data[\"financial\"][0].amount_commission_opening != undefined) {\n if (Number(data[\"financial\"][0].amount_commission_opening) > 0)\n financial.initial = Number(data[\"financial\"][0].amount_commission_opening)\n else\n financial.initial = Number(data[\"financial\"][0].initial)\n }\n\n if (Number(data[\"financial\"][0].amount_commission_opening) > 0)\n financial.amount_commission_opening = Number(data[\"financial\"][0].amount_commission_opening)\n else\n financial.amount_commission_opening = financial.initial\n\n if (financial.nextPayment == undefined) financial.nextPayment = 0\n\n const contract: oContract = {\n id: \"\",\n client: \"\",\n address: address,\n device: device,\n financial: financial,\n by: \"\",\n active: true,\n lastPayment: date.getTime(),\n createdAt: date.getTime()\n }\n return contract\n }\n\n public static CreateContractToConektaObj(data: oContract, monthlyPay: number, finalPay: number) {\n const o: any = {}\n const score: oScoreReference = {\n name: \"\",\n score: 0\n }\n const catalog: oCatalog = {\n name: \"\",\n description: \"\",\n id: \"\",\n createdAt: 0\n }\n const brand : oAssetBrand = {\n name: \"\",\n id: \"\",\n description: \"\"\n }\n const category : oAssetCategory = {\n name: \"\",\n id: \"\",\n createAt: 0\n }\n const deviceV2: oAsset = {\n name: \"\",\n id: \"\",\n createAt: new Date().getTime(),\n category: category,\n brand: brand,\n price: 0,\n model: \"\",\n imageUrl: [],\n paymentOption: [],\n catalog: catalog,\n offers: [],\n score: score,\n IMEI: \"\"\n }\n\n const device: oDevice = {\n device: data.device.device,\n id: data.device.id,\n IMEI: data.device.IMEI\n }\n const address: oAddress = {\n street: data.address.street,\n city: data.address.city,\n neighbor: data.address.neighbor,\n zip: data.address.zip,\n ext: data.address.ext,\n int: data.address.int,\n state: data.address.state\n }\n const financial: oFinancial = {\n total: data.financial.total,\n initial: data.financial.initial,\n deadlines: data.financial.deadlines,\n progress: data.financial.progress,\n pendingOf: data.financial.pendingOf,\n weeklyPayment: data.financial.weeklyPayment,\n interest: data.financial.interest,\n finalDate: data.financial.finalDate,\n initDate: data.financial.initDate,\n dayCut: data.financial.dayCut,\n provider: data.financial.provider,\n finalPayment: data.financial.finalPayment,\n financed: data.financial.financed,\n nextPayment: data.financial.nextPayment\n }\n const contract: oContract = {\n id: \"\",\n client: \"\",\n address: address,\n device: device,\n financial: financial,\n by: \"\",\n active: true\n }\n return contract\n }\n\n public static CreateAuthForm(username: string, curp: string) {\n const password: string = this.createPassword(curp)\n return {\n username: new UntypedFormControl(username, Validators.required),\n password: new UntypedFormControl(password, Validators.required),\n }\n }\n\n public static createPassword(curp: string): string {\n const _curp = curp.split(\"\")\n let password = \"\"\n const limit = 7\n\n if (_curp.length < 16) return \"\"\n\n password += _curp[0].toLowerCase()\n\n for (let i = 1; i <= limit; i++)\n password += _curp[i].toUpperCase()\n\n password += `*`\n return password\n }\n\n public static MapperTypeContCli_Contract(_contract: tyClientContract): oContract {\n const contract: oContract = {\n id: _contract.contract!,\n client: _contract.client,\n address: _contract.address,\n device: _contract.device,\n financial: _contract.financial,\n by: _contract.by,\n active: _contract.active,\n lastPayment: _contract.lastPayment,\n createdAt: _contract.createdAt,\n dynamicAccount: _contract.dynamicAccount,\n }\n\n return contract\n }\n\n public static MapperSyncContractDynamic(base: oContract, account: IDCAccount): oContract {\n let nContract = base\n let _financial = base.financial\n let _device = base.device\n\n\n const financial: oFinancial = {\n total: _financial.total,\n initial: account.properties.amount_commission_opening ? account.properties.amount_commission_opening : _financial.initial,\n deadlines: _financial.deadlines,\n progress: _financial.progress ? _financial.progress : [],\n pendingOf: _financial.pendingOf ? _financial.pendingOf : [],\n weeklyPayment: _financial.weeklyPayment,\n interest: _financial.interest,\n finalDate: _financial.finalDate,\n initDate: _financial.initDate,\n dayCut: _financial.dayCut,\n provider: _financial.provider,\n finalPayment: _financial.finalPayment,\n financed: _financial.financed,\n nextPayment: _financial.nextPayment ? _financial.nextPayment : 0,\n\n amount_commission_opening:\n account.properties.amount_commission_opening,\n\n expected_disbursed:\n account.properties.expected_disbursed ?\n Number(account.properties.expected_disbursed) :\n Number(_financial.expected_disbursed),\n\n principal_disbursed:\n account.properties.principal_disbursed ?\n account.properties.principal_disbursed :\n _financial.principal_disbursed,\n\n commission_opening:\n account.config.commission_opening ?\n Number(account.config.commission_opening) :\n Number(_financial.commission_opening),\n\n credit_type:\n account.config.credit_type ? account.config.credit_type : _financial.credit_type,\n\n clabe:\n String(account.properties.clabe ? account.properties.clabe : _financial.clabe)\n }\n\n const interestArrears = account.config.interest_arrears\n const prevInterestArrears = _financial.interest_arrears\n if (interestArrears != undefined) {\n financial.interest_arrears = interestArrears\n } else if (prevInterestArrears != undefined) {\n financial.interest_arrears = prevInterestArrears\n } else {\n financial.interest_arrears = 0\n }\n\n const interest = account.config.interest_rate\n const prevInterest = _financial.interest\n if (interest != undefined) {\n financial.interest = interest\n } else if (prevInterest != undefined) {\n financial.interest = prevInterest\n } else {\n financial.interest = 0\n }\n\n if (account.properties.amount_commission_opening != undefined) {\n if (Number(account.properties.amount_commission_opening) > 0) {\n financial.initial = Number(account.properties.amount_commission_opening)\n financial.amount_commission_opening = Number(account.properties.amount_commission_opening)\n } else {\n financial.initial = Number(_financial.initial)\n financial.amount_commission_opening = financial.initial\n }\n }\n\n const seller: string | undefined = account.properties.seller_name\n nContract.by = seller != null ? seller : \"\"\n\n nContract.device.id = _device.id ? _device.id : \"\"\n\n nContract.financial = financial\n return nContract\n }\n}\n\n","import {oUser} from \"./oUser\";\r\nimport {oBusinessInfo, oSchedule} from \"./oBusiness\";\r\nimport {oClient} from \"./oClient\";\r\nimport {oDevice} from \"./oDevice\";\r\nimport {oAddress} from \"./oAddress\";\r\nimport {oFinancial} from \"./oFinancial\";\r\nimport {MatSnackBarConfig} from \"@angular/material/snack-bar\";\r\nimport {oContract} from \"./oContract\";\r\nimport {oNotification} from \"./oNotification\";\r\nimport {cContract} from '../util/UtilContract';\r\nimport {cClient} from '../util/UtilClient';\r\n\r\nexport enum eRoles { Administrator = \"Administrator\", Seller = \"Seller\", Consultant = \"Consultant\" }\r\n\r\nexport enum eProcessStatus {\r\n IDLE = \"IDLE\",\r\n ERROR = \"ERROR\",\r\n CANCELED = \"CANCELED\",\r\n COMPLETE = \"COMPLETE\",\r\n PROCESSING = \"PROCESSING\",\r\n WAITING = \"WAITING\",\r\n}\r\n\r\nexport enum eLoginStatus {\r\n IDLE = \"IDLE\",\r\n ERROR = \"ERROR\",\r\n AUTHORIZED = \"AUTHORIZED\",\r\n CHECKING = \"CHECKING\",\r\n NOAUTHORIZED = \"NOAUTHORIZED\",\r\n NOTFOUND = \"NOTFOUND\",\r\n ERRORPASSWORD = \"ERRORPASSWORD\"\r\n}\r\n\r\nexport enum eClientStatus {\r\n ACTIVE = \"active\",\r\n COMPLETED = \"completed\",\r\n PAUSED = \"paused\",\r\n CANCELED = \"canceled\",\r\n LATE = \"late\"\r\n}\r\n\r\nexport const cSingleOptionClientStatus: iOptionsSelect = {\r\n viewValue: \"\",\r\n value: \"\"\r\n}\r\nexport const cOptionsClientStatus: iOptionsSelect[] = [\r\n {\r\n value: eClientStatus.ACTIVE,\r\n viewValue: \"Activar\"\r\n }, {\r\n value: eClientStatus.COMPLETED,\r\n viewValue: \"Completar\"\r\n }, {\r\n value: eClientStatus.PAUSED,\r\n viewValue: \"Pausar\"\r\n }, {\r\n value: eClientStatus.LATE,\r\n viewValue: \"Marcar con atraso\"\r\n }, {\r\n value: eClientStatus.CANCELED,\r\n viewValue: \"Cancelar\"\r\n }\r\n]\r\n\r\nexport interface iOptionsSelect {\r\n viewValue: String\r\n value: String\r\n}\r\n\r\nexport interface iSelect {\r\n viewValue: eRoles\r\n value: eRoles\r\n}\r\n\r\nexport const eRolesSelect: iSelect[] = [\r\n {\r\n value: eRoles.Administrator,\r\n viewValue: eRoles.Administrator\r\n },\r\n {\r\n value: eRoles.Consultant,\r\n viewValue: eRoles.Consultant\r\n },\r\n {\r\n value: eRoles.Seller,\r\n viewValue: eRoles.Seller\r\n },\r\n]\r\n\r\nexport interface iConfigUUID {\r\n client_uuid?: string;\r\n contract_uuid: string;\r\n}\r\n\r\nexport interface iPaymentDelay {\r\n today: number;\r\n nextPayment: number;\r\n daysDelay: number\r\n late: boolean\r\n}\r\n\r\nexport const cPaymentDalay: iPaymentDelay = {\r\n today: 0,\r\n nextPayment: 0,\r\n daysDelay: 0,\r\n late: false,\r\n}\r\n\r\n//Used for communicate response through services\r\nexport interface oResponse {\r\n error?: string;\r\n data: oUser | oUser[] | oBusinessInfo | oAddress |\r\n oSchedule | oFinancial | string | iPaymentDelay |\r\n oClient | oDevice | iConfigUUID | Response | oNotification;\r\n}\r\n\r\n//Used for global interceptor to handle standard response\r\nexport interface gResponse {\r\n status?: boolean; // indicates whether resource required was returned\r\n path: string;\r\n statusCode: number;\r\n error?: string;\r\n epochTime: number;\r\n data: any; // att with resources required [Optional]\r\n}\r\n\r\nexport interface gResponseFuncEmail {\r\n success: boolean,\r\n message: any\r\n}\r\n\r\nexport const snackBarConfigAction: MatSnackBarConfig = {\r\n horizontalPosition: \"start\"\r\n}\r\nexport const snackBarConfigNoAction: MatSnackBarConfig = {\r\n duration: 4000,\r\n horizontalPosition: \"start\"\r\n}\r\n\r\nexport interface iInformativeDialog {\r\n message: string,\r\n title: string,\r\n cancel: string,\r\n continue: string\r\n}\r\n\r\nexport interface iSnackBarMessage {\r\n message: string,\r\n action: string,\r\n config: MatSnackBarConfig\r\n}\r\n\r\n//\r\n// export interface iClientContract extends oClient, oContract {\r\n// }\r\n\r\nexport type tyClientContract = oClient & oContract\r\n\r\nexport const cTyClientContract = {...cClient, ...cContract}\r\n\r\nexport interface oContractMetrics {\r\n total: number\r\n activated: number\r\n paused: number\r\n completed: number\r\n canceled: number\r\n late: number\r\n dynamicCount: number\r\n passportCount: number\r\n conektaCount: number\r\n rateTotal: number\r\n rateActive: number\r\n ratePaused: number\r\n rateComplete: number\r\n rateCanceled: number\r\n rateLate: number\r\n}\r\n\r\nexport interface HasUnsavedChanges {\r\n hasUnsavedChanges(): boolean;\r\n}\r\n\r\nexport interface oPaymentDates {\r\n week: number\r\n date: number\r\n}\r\n","import {WritableSignal} from \"@angular/core\";\n\nexport enum eAuthActions {\n delete = \"delete\",\n auth = \"auth\"\n}\n\nexport enum eAuthType {\n auth = \"auth\",\n login = \"login\",\n idle = \"\"\n}\n\nexport interface iAuthConfig {\n title: string;\n desc: string;\n data: boolean;\n}\n\nexport const cAuthConfig: iAuthConfig = {\n title: \"\",\n desc: \"\",\n data: true,\n}\n\nexport interface ISignIn {\n username: WritableSignal<string>\n password: WritableSignal<string>\n\n login(credentials: oAuth, destination: string): Promise<void>\n\n success(): void\n}\n\nexport interface oAuth {\n username: string,\n password: string\n}\n\nexport interface oAuthRes {\n status: number\n data: {}\n}\n","export const cTopic = \"RavCreditClients\"\r\n\r\nexport enum eNotificationType { GLOBAL = \"global\", USER = \"user\", PAYMENT = \"payment\" }\r\n\r\nexport interface oNotificationResponses {\r\n successCount: number,\r\n failureCount: number,\r\n}\r\n\r\nexport interface oNotification {\r\n ids?: string[];\r\n type?: string,\r\n tokens?: string[],\r\n topic?: string,\r\n notification: {\r\n title: string,\r\n body: string\r\n },\r\n data: any,\r\n notification_id?: number,\r\n recipient?: string,\r\n responses?: oNotificationResponses\r\n}\r\n\r\nexport const cNotification: oNotification = {\r\n notification: {\r\n title: \"\",\r\n body: \"\"\r\n },\r\n data: {\r\n route: \"\"\r\n }\r\n}\r\n\r\n","import {oContract} from \"./oContract\";\r\n\r\nexport enum ePassportTypes {\r\n CREATE = \"create_references\",\r\n SEND = \"send_references\"\r\n}\r\n\r\n/** *********************************************************************************/\r\nexport interface iPassportAdditional {\r\n client?: string;\r\n clientID?: string;\r\n credit?: string;\r\n}\r\n\r\nexport interface iPassportReferenceData {\r\n name: string;\r\n email: string;\r\n amount: number;\r\n expirationDate: string;\r\n additional: iPassportAdditional;\r\n}\r\n\r\n/** Passport request interface base */\r\nexport interface iPassportReference {\r\n type: string;\r\n data: iPassportReferenceData;\r\n}\r\n\r\n/** Global passport reference aPI */\r\nexport interface iGlobalPassport {\r\n passport: iPassportReference;\r\n contract: oContract\r\n date?: number\r\n}\r\n\r\n/** ******************************** */\r\nexport interface iPassportResponseData {\r\n name: string;\r\n email: string;\r\n amount: number;\r\n expirationDate: string;\r\n additional: iPassportAdditional;\r\n}\r\n\r\nexport interface iPassportReferenceCenters {\r\n name: string;\r\n logo: string;\r\n}\r\n\r\nexport interface iPassportReferenceRes {\r\n reference: string\r\n centers: iPassportReferenceCenters[],\r\n centerId: number,\r\n barcode: string\r\n}\r\n\r\n/** Passport response interface base */\r\nexport interface iPassportResponse {\r\n type: string;\r\n data: iPassportResponseData;\r\n message: string;\r\n references: iPassportReference[];\r\n}\r\n\r\n/** ******************************** */\r\n","// export enum oGenVerificationProvider {\r\n// pending, approved, expired\r\n// }\r\n//\r\n// export interface oVerificationLookup {\r\n// carrier: any[]\r\n// }\r\n//\r\n// export interface oVerificationSenCodeAttempt {\r\n// attempt_sid: any[],\r\n// channel: any[],\r\n// time: any[]\r\n// }\r\n//\r\n// export interface oGenVerification {\r\n// Sid: string\r\n// ServiceSid: string,\r\n// AccountSid: string,\r\n// To: string,\r\n// Channel: any,\r\n// Status: oGenVerificationProvider,\r\n// Valid: boolean,\r\n// Lookup: oVerificationLookup,\r\n// SendCodeAttempts: oVerificationSenCodeAttempt[],\r\n// DateCreated: string,\r\n// DateUpdated: string,\r\n// Url: string\r\n// }\r\n//\r\n// export interface oVerification {\r\n// Sid : string,\r\n// ServiceSid : string,\r\n// AccountSid : string,\r\n// To : string,\r\n// Channel : any,\r\n// Status : oGenVerificationProvider,\r\n// Valid : boolean,\r\n// DateCreated : string,\r\n// DateUpdated : string\r\n// }\r\n\r\nexport enum eVerificationStep {\r\n IDLE = \"IDLE\",\r\n ERROR = \"ERROR\",\r\n COMPLETED = \"COMPLETED\",\r\n IN_PROGRESS = \"IN_PROGRESS\",\r\n INVALID = \"INVALID\",\r\n SUSPENDED = \"SUSPENDED\",\r\n CANCELLED = \"CANCELLED\",\r\n}\r\n\r\nexport enum eVerificationStatus {\r\n APPROVED = \"approved\",\r\n CANCELLED = \"cancelled\",\r\n}\r\n\r\nexport enum eVerificationChannel {\r\n SMS = \"sms\",\r\n WHATSAPP = \"whatsapp\",\r\n CALL = \"call\",\r\n EMAIL = \"email\",\r\n SNA = \"sna\",\r\n}\r\n\r\nexport interface ISendCodeAttempt {\r\n time: string\r\n channel: eVerificationChannel,\r\n attemptSid : string,\r\n}\r\n\r\nexport interface IBaseVerification {\r\n sid: string\r\n service_sid:string\r\n account_sid:string\r\n to:string\r\n channel: eVerificationChannel\r\n status: eVerificationStatus\r\n valid: boolean,\r\n date_created: string\r\n date_updated: string\r\n amount: any,\r\n payee: any,\r\n}\r\n\r\nexport interface IVerificationSms extends IBaseVerification {\r\n lookup: any,\r\n send_code_attempts: ISendCodeAttempt[],\r\n sna: any,\r\n url: string\r\n}\r\n\r\nexport interface IVerificationCheckSms\r\n{\r\n sna_attempts_error_codes: any[],\r\n}\r\n\r\nexport interface IVerificationData {\r\n Phone?: string\r\n VerificationCode?: string\r\n}\r\n","export class UtilsHttp {\n\n public static CreateHeadersApi(token: string) {\n return {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Access-Control-Allow-Headers': 'Content-Type',\n 'Authorization': `Bearer ${token}`\n }\n }\n\n public static CreateSimpleHeadersApi() {\n return {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Access-Control-Allow-Headers': 'Content-Type',\n }\n }\n}\n","import {UntypedFormControl, Validators} from \"@angular/forms\";\r\nimport {oClient} from '../objects/oClient';\r\nimport {oContract} from '../objects/oContract';\r\n\r\nexport enum eReferenceStatusRav {\r\n \"Disponible\" = \"Disponible\",\r\n \"Active\" = \"Activo con credito vigente\",\r\n \"ActiveEnded\" = \"Activo sin credito vigente\",\r\n \"Registered\" = \"Registrado\",\r\n \"NonRegistered\" = \"No registrado\",\r\n \"NonVerified\" = \"No verificado\",\r\n \"Rejected\" = \"Rechazado\",\r\n \"Pending\" = \"Pendiente\"\r\n}\r\n\r\nexport enum eAccountDynamicStatus {\r\n \"OK\" = \"Con cuenta activa\",\r\n \"NOK\" = \"Sin cuenta activa\",\r\n}\r\n\r\n//\r\n// export enum eAccountDynamicRegister {\r\n// \"Active\" = \"Activo\", // Ok\r\n// \"NonAuthorized\" = \"No autorizado\",\r\n// \"Authorized\" = \"Autorizado\", // Non ref\r\n// \"Accepted\" = \"Aceptado\", // Non ref\r\n// \"Rejected\" = \"Rechazado\", // Non ref\r\n// \"Pending\" = \"Pendiente\", // Non ref\r\n// \"NotFound\" = \"No registrado\"\r\n// }\r\n\r\nexport enum eClientDynamicStatus {\r\n \"Active\" = \"Active\",\r\n \"Pending\" = \"Pending\",\r\n \"Accepted\" = \"Accepted\",\r\n \"Rejected\" = \"Rejected\",\r\n \"approved\" = \"Aprobado\",\r\n}\r\n\r\nexport const cClientDynamicStatus = {\r\n Active: {\r\n value: \"Active\",\r\n viewValue: \"Activo\"\r\n },\r\n Pending: {\r\n value: \"Pending\",\r\n viewValue: \"Pendiente\"\r\n },\r\n Accepted: {\r\n value: \"Accepted\",\r\n viewValue: \"Pre autorizado\"\r\n },\r\n Rejected: {\r\n value: \"Rejected\",\r\n viewValue: \"Rechazado\"\r\n },\r\n Idle: {\r\n value: \"Idle\",\r\n viewValue: \"\"\r\n },\r\n}\r\n\r\nexport enum eContractSteps {\r\n \"idle\" = \"idle\",\r\n \"general\" = \"General\",\r\n \"address\" = \"Address\",\r\n \"device\" = \"Device\",\r\n \"financial\" = \"Financial\",\r\n \"app\" = \"App\",\r\n}\r\n\r\nexport type partialIDCData = Pick<IDCClient, \"pii\" | \"client_type\">\r\n\r\nexport interface IDCCharge {\r\n barcode_url: string;\r\n currency: string;\r\n expires_at: number;\r\n object: string;\r\n quantity: number;\r\n reference: string;\r\n service_name: string;\r\n store_name: string;\r\n type: string;\r\n unit_price: number;\r\n}\r\n\r\nexport interface IDCGeneratedReference {\r\n account: number;\r\n active: number;\r\n amount: number;\r\n channel: string;\r\n charge: IDCCharge;\r\n company: number;\r\n config?: any;\r\n id: string;\r\n operation: number;\r\n}\r\n\r\nexport const cIDCDataPii: IDCDataPii = {\r\n icc: \"\",\r\n rfc: \"\",\r\n sex: \"\",\r\n city: \"\",\r\n curp: \"\",\r\n days: \"\",\r\n imei: \"\",\r\n name: \"\",\r\n step: \"\",\r\n term: \"\",\r\n brand: \"\",\r\n email: \"\",\r\n model: \"\",\r\n phone: \"\",\r\n score: \"\",\r\n state: \"\",\r\n amount: \"\",\r\n colony: \"\",\r\n period: \"\",\r\n street: \"\",\r\n ticket: \"\",\r\n num_ext: \"\",\r\n num_int: \"\",\r\n zipcode: \"\",\r\n evidence: \"\",\r\n financed: \"\",\r\n house_is: \"\",\r\n lastname: \"\",\r\n type_job: \"\",\r\n birthdate: \"\",\r\n birthstate: \"\",\r\n dicio_data: \"\",\r\n dicio_step: \"\",\r\n secondname: \"\",\r\n nationality: \"\",\r\n seller_name: \"\",\r\n down_payment: \"\",\r\n municipality: \"\",\r\n score_no_hit: \"\",\r\n study_degree: \"\",\r\n branch_office: \"\",\r\n identity_data: \"\",\r\n interest_rate: \"\",\r\n score_interno: \"\",\r\n marital_status: \"\",\r\n monthly_income: \"\",\r\n motherlastname: \"\",\r\n score_rcc_fico: \"\",\r\n identity_selfie: \"\",\r\n amount_by_period: \"\",\r\n identity_id_back: \"\",\r\n proof_of_address: \"\",\r\n identity_id_front: \"\",\r\n economic_dependents: \"\",\r\n identity_id_request: \"\",\r\n identity_verification: \"\",\r\n is_address_ine_currently_live: \"\",\r\n fotografia_del_cliente_con_el_equipo: \"\",\r\n estado: \"\",\r\n gender: \"\"\r\n}\r\n\r\n/**\r\n * Base customer for create customer with DynamiCore provider\r\n * */\r\nexport const cIDCCustomer: partialIDCData = {\r\n pii: cIDCDataPii,\r\n client_type: 662\r\n}\r\n\r\nexport interface IDCDataPii {\r\n icc: string,\r\n rfc: string,\r\n city: string,\r\n curp: string,\r\n sex: string,\r\n days: string,\r\n step: string,\r\n ticket: string,\r\n evidence: string,\r\n proof_of_address: string,\r\n score_interno: string,\r\n imei: string,\r\n name: string,\r\n term: string,\r\n brand: string,\r\n email: string,\r\n model: string,\r\n phone: string,\r\n score: any,\r\n state: string,\r\n amount: string,\r\n colony: string,\r\n estado: any,\r\n gender: string,\r\n period: string,\r\n street: string,\r\n num_ext: string,\r\n num_int: string,\r\n zipcode: string,\r\n financed: string,\r\n house_is: string,\r\n lastname: string,\r\n type_job: string,\r\n birthdate: string,\r\n birthstate: string,\r\n dicio_data: string,\r\n dicio_step: any,\r\n secondname: string,\r\n nationality: string,\r\n seller_name: string,\r\n down_payment: string,\r\n municipality: string,\r\n score_no_hit: string,\r\n study_degree: string,\r\n branch_office: string,\r\n identity_data: any,\r\n interest_rate: string,\r\n marital_status: string,\r\n monthly_income: string,\r\n motherlastname: string,\r\n score_rcc_fico: string,\r\n identity_selfie: any,\r\n amount_by_period: string,\r\n identity_id_back: any,\r\n identity_id_front: any,\r\n economic_dependents: string,\r\n identity_id_request: any,\r\n identity_verification: any,\r\n is_address_ine_currently_live: string,\r\n fotografia_del_cliente_con_el_equipo?: string\r\n}\r\n\r\nexport interface IDCAccountProps {\r\n clabe: string | number,\r\n pagaqui: string | number,\r\n start_date: string,\r\n expected_disbursed: number,\r\n reference_pagaaqui: string,\r\n principal_disbursed: number,\r\n amount_commission_opening: number,\r\n seller_name?: string\r\n}\r\n\r\nexport interface IDCAccountConfig {\r\n contract: string,\r\n credit_type: string,\r\n periodicity: string,\r\n installments: number,\r\n interest_base: string,\r\n interest_rate: number,\r\n interest_arrears: number,\r\n commission_opening: number,\r\n financed_amount?: number\r\n}\r\n\r\nexport interface IDCAccount {\r\n id: number,\r\n group: number,\r\n company: number,\r\n client: number,\r\n created_at: string,\r\n currency: string | number,\r\n status: string,\r\n properties: IDCAccountProps,\r\n product: number,\r\n enabled: string | number,\r\n config: IDCAccountConfig,\r\n amount: number,\r\n type: string,\r\n identifier: string,\r\n start_at: string,\r\n el: any,\r\n client_id: string | number\r\n}\r\n\r\nexport interface IDCTxnRowExtras {\r\n reference: string,\r\n transaction: string\r\n}\r\n\r\nexport interface IDCTxnRow {\r\n id: string,\r\n created_at: string,\r\n seq: number,\r\n created: string,\r\n last4: string,\r\n response: any,\r\n transaction_id: string,\r\n contrapart: string,\r\n reference: string,\r\n external_reference: any,\r\n extras: IDCTxnRowExtras,\r\n name: string,\r\n debit: number,\r\n credit: number,\r\n amount: number\r\n}\r\n\r\nexport interface IDCTxnHeader {\r\n name: string,\r\n type: string,\r\n label?: string,\r\n money?: string,\r\n format?: string\r\n}\r\n\r\nexport interface IDCTxn {\r\n rows: IDCTxnRow[],\r\n headers: IDCTxnHeader[]\r\n}\r\n\r\nexport interface IDCMntryCycle {\r\n date: string,\r\n late: number,\r\n paid: number,\r\n past: string | boolean,\r\n cycle: string | number,\r\n amount: number,\r\n detail: any,\r\n status: string\r\n}\r\n\r\nexport interface IDCMntryPymtAllPaidTotal {\r\n amount: string,\r\n cycles: string\r\n}\r\n\r\nexport interface IDCMntryPymtAll {\r\n late: number,\r\n total: number,\r\n va_cp: number,\r\n actual: number,\r\n cycles: IDCMntryCycle[],\r\n vencido: number,\r\n paid_total: IDCMntryPymtAllPaidTotal,\r\n total_amount: number\r\n}\r\n\r\nexport interface IDCMntryPymtDue {\r\n total: number,\r\n cycles: IDCMntryCycle[],\r\n new_cycle: IDCMntryCycle,\r\n old_cycle: IDCMntryCycle,\r\n total_amount: number\r\n}\r\n\r\nexport interface IDCMntryPymtOpen extends IDCMntryPymtDue {\r\n}\r\n\r\nexport interface IDCMntryPymtPaid {\r\n total: number,\r\n cycles: IDCMntryCycle[] | any[],\r\n new_cycle: any,\r\n old_cycle: any,\r\n total_amount: number\r\n}\r\n\r\nexport interface IDCMntryPymtDueTax {\r\n expected: number;\r\n}\r\n\r\nexport interface IDCMntryPymtPymt {\r\n paid: number,\r\n expected: number\r\n}\r\n\r\nexport interface IDCMntryPymtCal {\r\n due: IDCMntryPymtDue,\r\n date: string,\r\n past: string,\r\n cycle: number,\r\n balance: number,\r\n due_tax: IDCMntryPymtDueTax,\r\n payment: IDCMntryPymtPymt,\r\n interest: IDCMntryPymtPymt,\r\n principal: IDCMntryPymtPymt,\r\n payment_tax: IDCMntryPymtPymt,\r\n interest_tax: IDCMntryPymtPymt,\r\n final_balance: number,\r\n payment_total: IDCMntryPymtPymt,\r\n principal_tax: IDCMntryPymtPymt\r\n}\r\n\r\nexport interface IDCMntryPymt {\r\n all: IDCMntryPymtAll,\r\n due: IDCMntryPymtDue,\r\n open: IDCMntryPymtOpen,\r\n paid: IDCMntryPymtPaid,\r\n payment_calendar: IDCMntryPymtCal[]\r\n}\r\n\r\nexport interface IDCClient {\r\n id: number,\r\n company: number,\r\n status: string,\r\n external_id: string,\r\n pii: IDCDataPii,\r\n client_type: number,\r\n created_at: string,\r\n pd: number,\r\n username: string,\r\n group: number\r\n}\r\n\r\nexport interface IDCMsg {\r\n code: number,\r\n total: number,\r\n data: IDCClient[] | IDCAccount[] | IDCTxn[] | IDCTxn | IDCMntryPymt | IDCCredit[] | IDCTransaction[],\r\n transaction?: string\r\n}\r\n\r\nexport interface IDynamiCore {\r\n status: string,\r\n message: IDCMsg\r\n}\r\n\r\n/**\r\n * Interfaces for request (base)\r\n * */\r\nexport interface IDCClientObjFilter {\r\n name: string,\r\n filter: string[] | number[],\r\n type: string,\r\n sort: string\r\n}\r\n\r\nexport interface IDCClientQuery {\r\n filters: IDCClientObjFilter[];\r\n}\r\n\r\nexport interface IDCClientPiiFilter {\r\n limit: number,\r\n page: number,\r\n query: IDCClientQuery\r\n}\r\n\r\n/**\r\n * DynamiCore Reference Interface\r\n * */\r\n\r\nexport interface IDCRefCustInfo {\r\n name: string,\r\n email: string,\r\n phone: string | number\r\n}\r\n\r\nexport interface IDCOxxoRefItem {\r\n name: string,\r\n unit_price: number,\r\n quantity: number\r\n}\r\n\r\nexport interface IDCOxxoRefPymtMth {\r\n type: string;\r\n}\r\n\r\nexport interface IDCOxxoRef {\r\n account: number,\r\n operation: number,\r\n customer_info: IDCRefCustInfo,\r\n items: IDCOxxoRefItem,\r\n payment_method: IDCOxxoRefPymtMth\r\n}\r\n\r\n/**\r\n * DynamiCore Reference\r\n * */\r\nexport interface IDCRefCustInfo {\r\n name: string,\r\n email: string,\r\n phone: string | number\r\n}\r\n\r\nexport interface IDCRefItems {\r\n name: string,\r\n unit_price: number,\r\n quantity: number\r\n}\r\n\r\nexport interface IDCRefPymtMethod {\r\n type: string;\r\n}\r\n\r\nexport interface IDCNewReference {\r\n id: string,\r\n data: IDCReference,\r\n date?: number\r\n}\r\n\r\nexport interface IDCReference {\r\n account: number,\r\n operation: number,\r\n customer_info: IDCRefCustInfo,\r\n items: IDCRefItems,\r\n payment_method: IDCRefPymtMethod\r\n}\r\n\r\n/**\r\n * Interfaces to Credits\r\n * */\r\nexport interface IDCCreditProperties {\r\n start_date: string;\r\n principal_disbursed: number;\r\n expected_disbursed: number;\r\n amount_commission_opening: number;\r\n}\r\n\r\nexport interface IDCCreditConfig {\r\n contract: string;\r\n credit_type: string;\r\n interest_rate: number;\r\n installments: number;\r\n periodicity: string;\r\n interest_base: string;\r\n commission_opening: number;\r\n financed_amount: number;\r\n interest_arrears: number;\r\n}\r\n\r\nexport interface IDCCredit {\r\n id: number;\r\n group: number;\r\n company: number;\r\n client: number;\r\n created_at: string;\r\n currency: string;\r\n status: string;\r\n properties: IDCCreditProperties;\r\n product: number;\r\n enabled: string;\r\n config: IDCCreditConfig;\r\n amount: number;\r\n type: string;\r\n identifier: null | string;\r\n start_at: null | string;\r\n}\r\n\r\n/**\r\n * Payments\r\n * */\r\nexport interface IDCPayment {\r\n operation: number;\r\n account: string;\r\n date: string;\r\n amount: number;\r\n external_id?: string;\r\n dst_account: string;\r\n extras?: object;\r\n reference: string;\r\n}\r\n\r\nexport const cIDCPayment: IDCPayment = {\r\n operation: 98,\r\n account: \"\",\r\n date: \"\",\r\n amount: 0,\r\n dst_account: \"\",\r\n reference: \"\"\r\n}\r\n\r\n/**\r\n * Transactions\r\n * */\r\nexport interface IDCTransaction {\r\n data: [number, { transaction: string }];\r\n}\r\n\r\nexport const cIDCCharge: IDCCharge = {\r\n barcode_url: \"\",\r\n currency: \"\",\r\n expires_at: 0,\r\n object: \"\",\r\n quantity: 0,\r\n reference: \"\",\r\n service_name: \"\",\r\n store_name: \"\",\r\n type: \"\",\r\n unit_price: 0\r\n}\r\n\r\nexport const cIDCGeneratedReference: IDCGeneratedReference = {\r\n account: 0,\r\n active: 0,\r\n amount: 0,\r\n channel: \"\",\r\n charge: cIDCCharge,\r\n company: 0,\r\n id: \"\",\r\n operation: 0\r\n}\r\n\r\n/**\r\n * Common Factory Dynamic\r\n * */\r\nexport class FactoryDynamiCore {\r\n\r\n public static CreateReferenceBody(\r\n client: oClient,\r\n contract: oContract,\r\n dateTime?: number\r\n ): IDCNewReference | null {\r\n\r\n const customerInfo: IDCRefCustInfo = {\r\n name: client.name,\r\n email: client.email,\r\n phone: client.phone,\r\n }\r\n\r\n const customerItems: IDCRefItems = {\r\n name: \"Referencia Oxxo\",\r\n unit_price: contract.financial.weeklyPayment,\r\n quantity: 1\r\n }\r\n\r\n const paymentMethod: IDCRefPymtMethod = {\r\n type: \"oxxo_cash\"\r\n }\r\n\r\n if (!client.dynamic_account) return null\r\n\r\n const body: IDCNewReference = {\r\n id: client.id,\r\n data: {\r\n account: Number(client.dynamic_account),\r\n operation: 98,\r\n customer_info: customerInfo,\r\n items: customerItems,\r\n payment_method: paymentMethod\r\n }\r\n }\r\n\r\n if (dateTime != undefined) body.date = dateTime\r\n\r\n return body\r\n }\r\n\r\n public static CreateEmptyCustomer(): partialIDCData {\r\n return cIDCCustomer\r\n }\r\n\r\n public static CreateCustomerFromOClient(client: oClient, contract: oContract): partialIDCData {\r\n const o: partialIDCData = cIDCCustomer\r\n\r\n o.pii.email = client.email\r\n o.pii.name = client.name\r\n o.pii.curp = client.curp\r\n o.pii.phone = client.phone\r\n o.pii.amount = String(contract.financial.total)\r\n o.pii.financed = String(contract.financial.financed)\r\n o.pii.amount_by_period = String(contract.financial.weeklyPayment)\r\n\r\n o.pii.zipcode = contract.address.zip\r\n o.pii.street = contract.address.street\r\n o.pii.city = contract.address.city\r\n o.pii.state = contract.address.state\r\n o.pii.colony = contract.address.neighbor\r\n o.pii.num_ext = contract.address.ext\r\n\r\n return o\r\n }\r\n\r\n public static CreateDynamicCredit(\r\n client: oClient,\r\n contract: oContract,\r\n clientDynamic: IDCClient,\r\n ): Partial<IDCCredit> | null {\r\n const properties: IDCCreditProperties = {\r\n start_date: \"\",\r\n principal_disbursed: 0,\r\n expected_disbursed: 0,\r\n amount_commission_opening: 0\r\n }\r\n\r\n const config: IDCCreditConfig = {\r\n contract: `FP-${client.name}`,\r\n credit_type: \"Arrendamiento\",\r\n interest_rate: 528,\r\n installments: 0,\r\n periodicity: \"WEEK\",\r\n interest_base: \"ACT/ACT\",\r\n commission_opening: 40,\r\n financed_amount: contract.financial.financed,\r\n interest_arrears: 0\r\n }\r\n\r\n if (!client.dynamic_account) return null\r\n\r\n return {\r\n id: Number(client.dynamic_account),\r\n group: clientDynamic.group,\r\n company: clientDynamic.company,\r\n client: clientDynamic.id,\r\n created_at: \"\",\r\n currency: \"484\",\r\n status: \"pending\",\r\n properties: properties,\r\n product: 1756,\r\n enabled: \"1\",\r\n config: config,\r\n amount: 0,\r\n type: \"liabilities\",\r\n identifier: null,\r\n start_at: null\r\n }\r\n }\r\n\r\n public static CreatePayment(\r\n contract: oContract,\r\n clientDynamic: IDCAccount,\r\n ): IDCPayment {\r\n return {\r\n account: String(clientDynamic.id),\r\n amount: contract.financial.weeklyPayment,\r\n date: \"\",\r\n dst_account: String(clientDynamic.id),\r\n external_id: \"\",\r\n extras: {},\r\n operation: 98,\r\n reference: \"\"\r\n }\r\n }\r\n\r\n public static getNextDateTime(): string {\r\n const now = new Date();\r\n const nextDateTime = new Date(now.getTime() + 1000); // Add 1 second as an example\r\n\r\n const year = nextDateTime.getFullYear();\r\n const month = String(nextDateTime.getMonth() + 1).padStart(2, '0');\r\n const day = String(nextDateTime.getDate()).padStart(2, '0');\r\n const hours = String(nextDateTime.getHours()).padStart(2, '0');\r\n const minutes = String(nextDateTime.getMinutes()).padStart(2, '0');\r\n const seconds = String(nextDateTime.getSeconds()).padStart(2, '0');\r\n\r\n return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}`;\r\n }\r\n\r\n public static getIsoDate(): string {\r\n const now = new Date();\r\n return now.toISOString();\r\n }\r\n\r\n public static FormPayment(\r\n contract: oContract,\r\n account: IDCAccount) {\r\n\r\n let data = FactoryDynamiCore.CreatePayment(contract, account)\r\n\r\n return {\r\n amount: new UntypedFormControl(data.amount, [Validators.required, Validators.min(0)]),\r\n }\r\n }\r\n}\r\n","import {oContract} from '../objects/oContract';\r\nimport {oClient} from '../objects/oClient';\r\nimport {\r\n oConektaNewOrder, oConektaNewOrderAntifraudInfo,\r\n oConektaNewOrderCharge,\r\n oConektaNewOrderCustomerInfo, oConektaNewOrderLineItem,\r\n oConektaNewOrderPymMethod, oConektaOrderCreate\r\n} from '../objects/oConekta';\r\n\r\nexport enum ePaymentType {\r\n OXXO = \"OXXO\",\r\n ALTERNA = \"ALTERNA\",\r\n OXXO_RECURRENT = 'oxxo_recurrent'\r\n}\r\n\r\nexport class FactoryConekta {\r\n public static createOrder(\r\n client: oClient,\r\n contract: oContract,\r\n dateTime?: number\r\n ): oConektaNewOrder {\r\n\r\n if (client.conekta_id == undefined) return {\r\n data: {\r\n charges: [],\r\n currency: \"\",\r\n customer_info: {customer_id: \"\"},\r\n line_items: []\r\n },\r\n id: \"\"\r\n }\r\n\r\n const customer_info: oConektaNewOrderCustomerInfo = {\r\n customer_id: client.conekta_id\r\n }\r\n const week = ((3600 * 24) * 30) * 1000\r\n let next = new Date().getTime() + week\r\n next = Math.floor(next / 1000)\r\n\r\n const method: oConektaNewOrderPymMethod = {\r\n type: \"cash\",\r\n expires_at: next,\r\n }\r\n const charge: oConektaNewOrderCharge = {\r\n amount: contract.financial.weeklyPayment * 100,\r\n payment_method: method\r\n }\r\n const charges = [charge]\r\n\r\n const antifraud_info: oConektaNewOrderAntifraudInfo = {\r\n newKey: \"Key\"\r\n }\r\n\r\n const lineItem: oConektaNewOrderLineItem = {\r\n antifraud_info: antifraud_info,\r\n name: `Referencia credito ${client.name}`,\r\n quantity: 1,\r\n unit_price: contract.financial.weeklyPayment * 100,\r\n }\r\n\r\n const lineItems: oConektaNewOrderLineItem[] = [lineItem]\r\n\r\n const orderData: oConektaOrderCreate = {\r\n customer_info: customer_info,\r\n charges: charges,\r\n currency: \"MXN\",\r\n line_items: lineItems\r\n }\r\n\r\n const order: oConektaNewOrder = {\r\n data: orderData,\r\n id: client.id\r\n }\r\n\r\n if (dateTime != undefined) order.date = dateTime\r\n\r\n return order\r\n }\r\n}\r\n\r\n// '\r\n// {\r\n// \"customer_info\": {\r\n// \"name\": \"DevTest\",\r\n// \"email\": \"test@femsa.com\",\r\n// \"phone\": \"5522997233\"\r\n// },\r\n// \"currency\": \"MXN\",\r\n// \"line_items\": [\r\n// {\r\n// \"name\": \"Box of Cohiba S1s\",\r\n// \"quantity\": 1,\r\n// \"unit_price\": 20000\r\n// }\r\n// ]\r\n// }\r\n// '\r\n","import {cNotification, oNotification} from '../objects/oNotification';\r\nimport {UntypedFormControl, Validators} from '@angular/forms';\r\n\r\nexport const ROUTE_NOTIFICATIONS = \"notifications\"\r\nexport const ROUTE_GLOBAL_REFERENCE2 = \"/contract-reference\"\r\n\r\nconst prodFunction = \"https://us-central1-ravcredit-2b079.cloudfunctions.net/CustomerNotification\"\r\nconst prodFunction2 = \"https://customernotification-2imgfxveka-uc.a.run.app\"\r\nconst localTest = \"http://127.0.0.1:5001/ravcredit-2b079/us-central1/CustomerNotification\"\r\nexport const ravCreditFunctions = prodFunction\r\n\r\nexport class FactoryNotification {\r\n\r\n public static FormNotification(notification?: oNotification) {\r\n let data = cNotification\r\n\r\n if (notification) data = notification\r\n\r\n return {\r\n title: new UntypedFormControl(data.notification.title, [Validators.required, Validators.min(1)]),\r\n body: new UntypedFormControl(data.notification.body, [Validators.required, Validators.min(1)]),\r\n }\r\n }\r\n\r\n public static CreateGlobalNotificationObj(data: oNotification) {\r\n const o: any = {}\r\n\r\n if (data.notification) {\r\n const not: any = {}\r\n if (data.notification.body) not[\"body\"] = data.notification.body\r\n if (data.notification.title) not[\"title\"] = data.notification.title\r\n\r\n if (data.ids) not[\"ids\"] = data.ids\r\n\r\n if (data.tokens) not[\"tokens\"] = data.tokens\r\n\r\n if (data.type) not[\"type\"] = data.type\r\n\r\n if (data.data) if (data.data.route) not[\"route\"] = data.data.route\r\n\r\n o[\"data\"] = not\r\n }\r\n return o\r\n }\r\n\r\n}\r\n","export const keyUserID: string = \"rc_uid\"\r\nexport const dbVersion: number = 1\r\nexport const dbName: string = \"RavCreditDB\"\r\nexport const keyPathId: string = \"id\"\r\n\r\nexport const dbAuthStore: string = \"authStore\"\r\nexport const dbUsersStore: string = \"usersStore\"\r\nexport const dbContractsStore: string = \"contractsStore\"\r\nexport const dbClientsStore: string = \"clientsStore\"\r\nexport const dbBusinessInfo: string = \"businessInfo\"\r\nexport const dbBusinessConfig: string = \"businessConfig\"\r\nexport const dbConektaClientsStore: string = \"conektaClientsStore\"\r\nexport const dbConektaReferencesStore: string = \"conektaReferencesStore\"\r\nexport const dbPassportReferencesStore: string = \"passportReferencesStore\"\r\nexport const dbDynamicReferencesStore: string = \"dynamicReferencesStore\"\r\nexport const dbDynamicAccountStore: string = \"dynamicAccountStore\"\r\nexport const dbNotificationsStore: string = \"notificationsStore\"\r\nexport const dbPaymentsStore: string = \"paymentsStore\"\r\n\r\nexport const dbIndexAuth: string = \"iAuth\"\r\nexport const dbIndexUsers: string = \"iUsers\"\r\nexport const dbIndexContracts: string = \"iContracts\"\r\nexport const dbIndexClients: string = \"iClients\"\r\nexport const dbIndexBusiness: string = \"iBusiness\"\r\nexport const dbIndexConektaClients: string = \"iConecktaClients\"\r\nexport const dbIndexConektaClientsRef: string = \"iConecktaClientsRef\"\r\nexport const dbIndexPassportClientsRef: string = \"iPassportClientsRef\"\r\nexport const dbIndexNotification: string = \"iNotification\"\r\nexport const dbIndexPayments: string = \"iNotification\"\r\n\r\nexport const dateFormat = \"EEEE, dd MMM yyyy\"\r\nexport const dateCompleteFormat = \"EEEE, dd MMM yyyy hh:mm aaaa\"\r\nexport const timeFormat = \"hh:mm aaaa\"\r\n\r\nexport const expiredPayment = \"expiredPayment\"\r\n","import { Injectable } from '@angular/core';\r\nimport { oUser } from '../objects/oUser';\r\nimport {IDBPDatabase, openDB} from 'idb';\r\nimport {\r\n dbAuthStore, dbBusinessConfig, dbBusinessInfo,\r\n dbClientsStore,\r\n dbConektaClientsStore, dbConektaReferencesStore,\r\n dbContractsStore, dbDynamicReferencesStore,\r\n dbName, dbNotificationsStore, dbPassportReferencesStore,\r\n dbVersion,\r\n keyPathId,\r\n keyUserID\r\n} from '../const/constants';\r\nimport {oClient} from '../objects/oClient';\r\nimport {tyClientContract} from '../objects/oGlobal';\r\nimport {oContract} from '../objects/oContract';\r\nimport {eProvider} from '../util/UtilContract';\r\nimport {oBusinessConfig, oBusinessInfo} from '../objects/oBusiness';\r\nimport {oNotification} from '../objects/oNotification';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IndexedDbService {\r\n\r\n indexDbStatus = false\r\n iDb!: IDBPDatabase<unknown>\r\n\r\n constructor() {\r\n }\r\n\r\n // async dbAuthorization() {\r\n // // const k = this.getLocalUser()\r\n // // if (k == null) return false\r\n // //\r\n // // const db = await openDB(dbName, dbVersion)\r\n // // // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n // // const auth = await db.get(dbAuthStore, k)\r\n // // // utils auth = await store.get(k)\r\n // // db.close()\r\n //\r\n // let auth: any = null\r\n // return auth;\r\n //\r\n // }\r\n\r\n /****************** SIMPLE Transactional - CRUD *************************************/\r\n\r\n async dbGetObject<T>(store: string, data: any): Promise<T> {\r\n if (!data) return data\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.get(store, data) as T\r\n }\r\n\r\n async dbGetAllByStore<T>(store: string, index?: string) {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.getAll(store) as T\r\n }\r\n\r\n async dbAddObject<T>(store: string, data: any): Promise<boolean> {\r\n try {\r\n const db = await openDB(dbName, dbVersion)\r\n await db.put(store, data)\r\n return true\r\n } catch (e) {\r\n return false\r\n }\r\n }\r\n\r\n async dbRemoveObject<T>(store: string, data: any): Promise<T> {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.delete(store, data) as T\r\n }\r\n\r\n /************************************* AUTH **************************************/\r\n\r\n async dbSignIn(store: string, data: any) {\r\n await this.iDb.put(store, data)\r\n const _data = data as oUser\r\n this.setLocalStorage(keyUserID, _data.id)\r\n }\r\n\r\n async dbSignOut() {\r\n\r\n const k = this.getLocalUser()\r\n if (!k) return\r\n\r\n await this.iDb.delete(dbAuthStore, k)\r\n this.removeLocalStorage(keyUserID)\r\n }\r\n\r\n async dbAuthorization() {\r\n const k = this.getLocalUser()\r\n if (k == null) return false\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n const auth = await db.get(dbAuthStore, k)\r\n // utils auth = await store.get(k)\r\n db.close()\r\n\r\n if (!auth) return false\r\n else return true\r\n }\r\n\r\n async dbGetToken() {\r\n const k = this.getLocalUser()\r\n if (k == null) return \"\"\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n const auth = await db.get(dbAuthStore, k) as oUser\r\n // utils auth = await store.get(k)\r\n\r\n db.close()\r\n return auth.access_token != \"\" ? auth.access_token : \"\"\r\n }\r\n\r\n /******************************** Local Storage *************************************/\r\n\r\n setLocalStorage(k: string, v: string) {\r\n localStorage.setItem(k, v)\r\n }\r\n\r\n getLocalStorage<T>(k: string) {\r\n return localStorage.getItem(k) as T\r\n }\r\n\r\n removeLocalStorage(k: string) {\r\n return localStorage.removeItem(k)\r\n }\r\n\r\n getLocalUser(): string | null {\r\n const k = localStorage.getItem(keyUserID)\r\n return (k)\r\n }\r\n\r\n /********************************************************************************* **/\r\n\r\n async getPlatformUser() {\r\n const k = this.getLocalStorage<string>(keyUserID) as string\r\n if (k == null) return \"\"\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n const auth = await db.get(dbAuthStore, k) as oUser\r\n // utils auth = await store.get(k)\r\n\r\n db.close()\r\n return auth.name != \"\" ? auth.name : \"\"\r\n }\r\n\r\n async getToken() {\r\n const k = this.getLocalUser()\r\n if (k == null) return \"\"\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n const auth = await db.get(dbAuthStore, k) as oUser\r\n // utils auth = await store.get(k)\r\n\r\n db.close()\r\n return auth.access_token != \"\" ? auth.access_token : \"\"\r\n }\r\n\r\n async addObject<T>(store: string, data: any): Promise<boolean> {\r\n try {\r\n const db = await openDB(dbName, dbVersion)\r\n await db.put(store, data)\r\n return true\r\n } catch (e) {\r\n return false\r\n }\r\n }\r\n\r\n async patchObject<T>(store: string, data: any): Promise<T> {\r\n try {\r\n const db = await openDB(dbName, dbVersion)\r\n const txn = db.transaction(store, \"readwrite\")\r\n const obj = txn.objectStore(store)\r\n // const index = obj.index(keyPathCurp)\r\n await obj.put(data)\r\n return data as T\r\n } catch (e) {\r\n console.error(e)\r\n return {} as T\r\n }\r\n }\r\n\r\n async updateObjectByID<T>(store: string, id: string, data: T): Promise<boolean> {\r\n try {\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n const res = await db.get(store, id) as oClient\r\n\r\n if (res != undefined) await this.removeObject(dbClientsStore, id)\r\n\r\n return await this.addObject(store, data)\r\n\r\n } catch (e) {\r\n console.error(\"updateObjectByID Catch Error:\", e)\r\n return false\r\n }\r\n }\r\n\r\n async upsertObjectById<T>(store: string, id: string, data: T) {\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n const res = await db.get(store, id)\r\n\r\n if (res) await this.removeObject<T>(store, id)\r\n\r\n return await db.add(store, data)\r\n }\r\n\r\n async removeObject<T>(store: string, data: any): Promise<T> {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.delete(store, data) as T\r\n }\r\n\r\n async deleteObjectByID<T>(store: string, id: string) {\r\n try {\r\n const db = await openDB(dbName, dbVersion)\r\n const txn = db.transaction(store, \"readwrite\")\r\n const obj = txn.objectStore(store)\r\n const index = obj.index(keyPathId)\r\n const va2 = index.openCursor(id)\r\n va2.then(async cursor => {\r\n while (cursor) {\r\n cursor.delete();\r\n cursor = await cursor.continue();\r\n }\r\n })\r\n return va2\r\n } catch (e) {\r\n console.error(e)\r\n return {} as T\r\n }\r\n }\r\n\r\n async cleanAll<T>(store: string) {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.clear(store)\r\n }\r\n\r\n async getObject<T>(store: string, data: any): Promise<T> {\r\n if (!data) return data\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.get(store, data) as T\r\n }\r\n\r\n async addBuildByStore(store: string, data: any[]) {\r\n for (const o of data) {\r\n const exists = await this.getObject(store, o[\"id\"])\r\n if (!exists) await this.addObject(store, o)\r\n else await this.updateObject(store, o)\r\n }\r\n }\r\n\r\n async updateObject<T>(store: string, data: any) {\r\n const db = await openDB(dbName, dbVersion)\r\n await db.put(store, data)\r\n }\r\n\r\n async getAllByStore<T>(store: string, index?: string) {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.getAll(store) as T\r\n }\r\n\r\n async getAuthUser() {\r\n const data = await this.getAllByStore<oUser[]>(dbAuthStore)\r\n return data[0]\r\n }\r\n\r\n async getAuthName() {\r\n const data = await this.getAuthUser()\r\n return data.name\r\n }\r\n\r\n async getAuthUsername() {\r\n const data = await this.getAuthUser()\r\n return data.username\r\n }\r\n\r\n async saveDataLocally<T>(\r\n contract: oContract,\r\n client: oClient,\r\n providerData: T,\r\n ): Promise<boolean> {\r\n try {\r\n await this.addObject(dbClientsStore, client)\r\n await this.addObject(dbContractsStore, contract)\r\n\r\n if (!providerData) return false\r\n\r\n if (contract.financial.provider === eProvider.Conekta) {\r\n await this.addObject(dbConektaClientsStore, providerData)\r\n await this.addObject(dbConektaReferencesStore, providerData)\r\n } else if (contract.financial.provider === eProvider.Passport) {\r\n await this.addObject(dbPassportReferencesStore, providerData)\r\n } else if (contract.financial.provider === eProvider.DynamiCore) {\r\n await this.addObject(dbDynamicReferencesStore, providerData)\r\n }\r\n return true\r\n } catch (e) {\r\n console.error(e)\r\n return false\r\n }\r\n }\r\n\r\n /******************** MERGE **************************************/\r\n async getAllClientContracts(): Promise<tyClientContract[]> {\r\n const clientContract: tyClientContract[] = []\r\n const clients = await this.getAllByStore<oClient[]>(dbClientsStore)\r\n if (clients.length == 0) return []\r\n\r\n for (let client of clients) {\r\n const contract = await this.getObject<oContract>(dbContractsStore, client.contract)\r\n const e = {...client, ...contract}\r\n // preserve the id value over concat models\r\n e.id = client.id\r\n e.status = client.status\r\n clientContract.push(e)\r\n }\r\n return clientContract\r\n }\r\n\r\n /******************** MERGE **************************************/\r\n\r\n async dbGetAllClientContracts(): Promise<tyClientContract[]> {\r\n const clientContract: tyClientContract[] = []\r\n const clients = await this.dbGetAllByStore<oClient[]>(dbClientsStore)\r\n if (clients.length == 0) return []\r\n\r\n for (let client of clients) {\r\n const contract = await this.dbGetObject<oContract>(dbContractsStore, client.contract)\r\n const e = {...client, ...contract}\r\n // preserve the id value over concat models\r\n e.id = client.id\r\n e.status = client.status\r\n clientContract.push(e)\r\n }\r\n return clientContract\r\n }\r\n\r\n /****************** BUSINESS INFO *************************************/\r\n\r\n async getBusinessInfo(): Promise<oBusinessInfo | null> {\r\n const config: oBusinessInfo[] = await this.dbGetAllByStore<oBusinessInfo[]>(dbBusinessInfo)\r\n\r\n if (!config) return null\r\n\r\n return config[0]\r\n }\r\n\r\n /****************** BUSINESS CONFIG ************************************/\r\n\r\n async getBusinessConfig(): Promise<oBusinessConfig | null> {\r\n const config: oBusinessConfig[] = await this.dbGetAllByStore<oBusinessConfig[]>(dbBusinessConfig)\r\n\r\n if (!config) return null\r\n\r\n return config[0]\r\n }\r\n\r\n async updateBusinessConfig(config: oBusinessConfig) {\r\n\r\n // config.version = \"1.0\"\r\n await this.dbRemoveObject(dbBusinessConfig, \"1.0\")\r\n await this.dbAddObject(dbBusinessConfig, config)\r\n }\r\n\r\n async updateBusinessInfo(config: oBusinessInfo) {\r\n\r\n config.version = \"v2024\"\r\n await this.dbRemoveObject(dbBusinessInfo, \"v2024\")\r\n await this.dbAddObject(dbBusinessInfo, config)\r\n }\r\n\r\n /**************** NOTIFICATIONS *********************************/\r\n\r\n async getLocalNotifications(): Promise<oNotification[] | null> {\r\n const notifications: oNotification[] = await this.dbGetAllByStore<oNotification[]>(dbNotificationsStore)\r\n if (!notifications) return null\r\n return notifications\r\n }\r\n\r\n async updateNotifications(notifications: oNotification[]) {\r\n for (const o of notifications) {\r\n const exists = await this.dbGetObject(dbNotificationsStore, o.notification_id)\r\n if (!exists) {\r\n await this.dbAddObject(dbNotificationsStore, o)\r\n }\r\n }\r\n }\r\n}\r\n","import {add, format, getDate} from \"date-fns\";\r\nimport {es} from 'date-fns/locale/es';\r\nimport {eProvider} from './UtilContract';\r\nimport {inject, Injector, runInInjectionContext} from '@angular/core';\r\nimport {IDCTxnRow} from './UtilDynamiCore';\r\nimport {oPaymentDates} from '../objects/oGlobal';\r\nimport {oConektaOrder} from '../objects/oConekta';\r\nimport {dateCompleteFormat, dateFormat, expiredPayment, timeFormat} from '../const/constants';\r\nimport {IndexedDbService} from '../idb/indexed-db.service';\r\n\r\nexport class UtilTime {\r\n private localeFns = es\r\n\r\n public static IsExpired(time: number): boolean {\r\n const dateInit = new Date(time)\r\n const dayInit = dateInit.getDate()\r\n const monthInit = dateInit.getMonth() + 1\r\n\r\n const dateActual = new Date()\r\n const dayActual = dateActual.getDate()\r\n const monthActual = dateActual.getMonth() + 1\r\n\r\n if (monthActual > monthInit) return true\r\n\r\n return dayActual > dayInit;\r\n }\r\n\r\n public static getDates(initial: number, weeks: number): oPaymentDates[] {\r\n const dates: oPaymentDates[] = []\r\n let prev = initial\r\n for (let i = 0; i < weeks; i++) {\r\n const date = add(prev, {weeks: 1})\r\n dates.push(\r\n {\r\n week: i + 1,\r\n date: date.getTime()\r\n }\r\n )\r\n prev = date.getTime()\r\n }\r\n return dates\r\n }\r\n\r\n public static getPreviousWeek() {\r\n const today = new Date().getTime()\r\n const week = ((3600 * 24) * 7) * 1000\r\n return today - week\r\n }\r\n\r\n public static getDayNum(date: Date | number): number {\r\n return getDate(date)\r\n }\r\n\r\n public static getDayName(date: Date | number): string {\r\n return format(date, \"EEEE\", {locale: es})\r\n }\r\n\r\n public static getMonthName(date: Date | number): string {\r\n return format(date, \"MMMM\", {locale: es}).toUpperCase();\r\n }\r\n\r\n public static getYear(date: Date | number): string {\r\n return format(date, \"yyyy\")\r\n }\r\n\r\n public static GetNextPayment(time: number, provider: string) {\r\n let week = 0\r\n if (provider == eProvider.Conekta) {\r\n week = (((3600 * 24) * 7))\r\n } else if (provider == eProvider.DynamiCore) {\r\n week = (((3600 * 24) * 7) * 1000)\r\n }\r\n return this.getLocalTimeFromLong(time + week, provider)\r\n }\r\n\r\n public static getLocalTimeFromLong(time: number, provider: string) {\r\n if (time <= 0) return \"\"\r\n let factor = this.GetFactor(provider)\r\n let dateTime = time * factor\r\n let parsedDate = format(new Date(dateTime), dateFormat, {\r\n locale: es\r\n })\r\n return parsedDate\r\n }\r\n\r\n public static DelayPaymentLast(\r\n lastPayment: number, provider: string, injector: Injector\r\n ): boolean {\r\n let factor = this.GetFactor(provider)\r\n let now = new Date().getTime()\r\n let last = 0\r\n\r\n if (provider == eProvider.Conekta)\r\n last = ((((3600 * 24) * 7)) + lastPayment) * factor\r\n else if (provider == eProvider.DynamiCore)\r\n last = ((((3600 * 24) * 7) * 1000) + lastPayment) * factor\r\n\r\n runInInjectionContext(injector, () => {\r\n const idb = inject(IndexedDbService)\r\n // const observable = inject(ObservablesService)\r\n idb.setLocalStorage(expiredPayment, String(now > last))\r\n // observable.isLate.next(now > last)\r\n })\r\n // 1751091565767\r\n // 1751557440\r\n return now > last\r\n }\r\n\r\n public static GetFactor(provider: string) {\r\n let factor = 1\r\n if (provider == eProvider.Conekta)\r\n factor = 1000\r\n return factor\r\n }\r\n\r\n public static GetEpochFromFormatedDate(date: string): number {\r\n if (date == \"\") return 0\r\n\r\n const _date = new Date(date)\r\n if (isNaN(_date.getTime())) return 0\r\n return _date.getTime()\r\n }\r\n\r\n public static GetTimeFromString(date: string) {\r\n return format(new Date(date), timeFormat, {\r\n locale: es\r\n })\r\n }\r\n\r\n public static GetDateFromString(date: string) {\r\n return format(new Date(date), dateCompleteFormat, {\r\n locale: es\r\n })\r\n }\r\n\r\n // Quick sort\r\n public static SortingByTime(payments: IDCTxnRow[]): IDCTxnRow[] {\r\n if (payments.length <= 1) return payments\r\n\r\n const pivot = payments[payments.length - 1]\r\n const pivotDate = new Date(pivot.created).getTime()\r\n const left: IDCTxnRow[] = []\r\n const right: IDCTxnRow[] = []\r\n\r\n for (let i = 0; i < payments.length - 1; i++) {\r\n const actualDate = new Date(payments[i].created).getTime()\r\n if (actualDate > pivotDate) left.push(payments[i])\r\n else right.push(payments[i])\r\n }\r\n\r\n return [...this.SortingByTime(left), pivot, ...this.SortingByTime(right)]\r\n }\r\n\r\n public static SortingByTimeConekta(payments: oConektaOrder []): oConektaOrder[] {\r\n if (payments.length <= 1) return payments;\r\n\r\n const pivot = payments[payments.length - 1]\r\n let pivotDate = 0;\r\n if (pivot.charges.data == undefined) return payments\r\n\r\n if (pivot.charges.data[0].paid_at != undefined) {\r\n pivotDate = pivot.charges.data[0].paid_at\r\n } else {\r\n pivot.charges.data[0].created_at\r\n }\r\n\r\n if (pivotDate <= 0) return payments;\r\n\r\n const left: oConektaOrder[] = []\r\n const right: oConektaOrder [] = []\r\n\r\n for (let i = 0; i < payments.length - 1; i++) {\r\n const actual = payments[i].charges.data[0].paid_at;\r\n if (actual <= 0) continue\r\n if (actual > pivotDate) left.push(payments[i])\r\n else right.push(payments[i])\r\n }\r\n\r\n return [...this.SortingByTimeConekta(left), pivot, ...this.SortingByTimeConekta(right)]\r\n }\r\n}\r\n","import {oContractMetrics} from '../objects/oGlobal';\n\nexport const cContractMetrics: oContractMetrics = {\n total: 0,\n activated: 0,\n paused: 0,\n completed: 0,\n canceled: 0,\n late: 0,\n conektaCount: 0,\n dynamicCount: 0,\n passportCount: 0,\n rateTotal: 0,\n rateActive: 0,\n ratePaused: 0,\n rateComplete: 0,\n rateCanceled: 0,\n rateLate: 0\n}\n","import {oContract} from '../objects/oContract';\r\nimport {oClient} from '../objects/oClient';\r\nimport {ePassportTypes, iGlobalPassport} from '../objects/oPassport';\r\n\r\nexport class FactoryPassport {\r\n public static CreatePassportReference(\r\n client: oClient,\r\n contract: oContract,\r\n dateTime?: number\r\n ): iGlobalPassport {\r\n const o = {\r\n passport: {\r\n type: ePassportTypes.CREATE,\r\n data: {\r\n name: client.name,\r\n email: client.email,\r\n amount: contract.financial.weeklyPayment,\r\n expirationDate: \"\",\r\n additional: {\r\n client: client.name,\r\n clientID: client.id,\r\n credit: client.status\r\n }\r\n }\r\n },\r\n contract: contract,\r\n date: dateTime\r\n }\r\n if (dateTime != undefined) o.date = dateTime\r\n return o\r\n }\r\n}\r\n","import {oConektaRes} from '../objects/oConekta';\r\nimport {IDCTxnRow} from './UtilDynamiCore';\r\nimport {eProvider} from './UtilContract';\r\n\r\nexport interface oPaymentGlobal {\r\n conektaPayment?: oConektaRes,\r\n dynamicPayment?: IDCTxnRow[],\r\n}\r\n\r\nexport class FactoryPayment {\r\n public static CreatePayment(data: oConektaRes | IDCTxnRow[], provider: eProvider): oPaymentGlobal {\r\n const o: oPaymentGlobal = {}\r\n\r\n if (provider == eProvider.DynamiCore)\r\n o.dynamicPayment = data as IDCTxnRow[];\r\n\r\n if (provider == eProvider.Conekta)\r\n o.conektaPayment = data as oConektaRes\r\n\r\n return o\r\n }\r\n}\r\n","import {oContract} from '../../v1/objects/oContract';\nimport {oCompany} from './oCompany';\nimport {oAsset} from './oAsset';\n\nexport enum eContractStatus {\n APPROVED = 'APPROVED',\n DENIED = 'DENIED',\n CANCELED = 'CANCELED',\n PENDING = 'PENDING',\n CHECKING = 'CHECKING',\n}\n\nexport interface oContractV2 extends oContract {\n company: oCompany\n status: eContractStatus\n asset: oAsset // new entity to represent a user device\n}\n","import {oScoreNoHit, oScoreReference} from './oClient';\r\nimport {oCatalog} from './oCatalog';\r\nimport {oDevice} from '../../v1/objects/oDevice';\r\n\r\nexport interface oAssetCategory {\r\n name: string\r\n id: string\r\n createAt: number\r\n}\r\n\r\nexport interface oAssetBrand{\r\n name: string\r\n id: string\r\n description: string\r\n}\r\n\r\nexport interface oAssetOffer {\r\n name: string\r\n id: string\r\n createAt: number\r\n description: string\r\n}\r\n\r\nexport enum eAssetPeriod {\r\n MONTH = \"MONTH\",\r\n WEEK = \"WEEK\",\r\n}\r\n\r\nexport interface oPaymentOption {\r\n deadline: number,\r\n score: oScoreNoHit\r\n period: eAssetPeriod,\r\n}\r\n\r\nexport interface oAsset {\r\n name: string\r\n id: string\r\n createAt: number\r\n category: oAssetCategory\r\n brand: oAssetBrand\r\n price: number\r\n model: string\r\n imageUrl: string []\r\n paymentOption: oPaymentOption[]\r\n catalog: oCatalog\r\n offers: oAssetOffer[]\r\n score: oScoreReference\r\n IMEI: string\r\n}\r\n","/*\r\n * Public API Surface of ravcredit-lib\r\n */\r\n\r\nexport * from './lib/ravcredit-lib.service';\r\nexport * from './lib/ravcredit-lib.component';\r\nexport * from './lib/v1/objects/oAddress';\r\nexport * from './lib/v1/objects/oBusiness';\r\nexport * from './lib/v1/objects/oClient';\r\nexport * from './lib/v1/objects/oConekta';\r\nexport * from './lib/v1/objects/oContract';\r\nexport * from './lib/v1/objects/oContractAll';\r\nexport * from './lib/v1/objects/oCustomer';\r\nexport * from './lib/v1/objects/oDevice';\r\nexport * from './lib/v1/objects/oFinancial';\r\nexport * from './lib/v1/objects/oGlobal';\r\nexport * from './lib/v1/objects/oLogIn';\r\nexport * from './lib/v1/objects/oNewPayment';\r\nexport * from './lib/v1/objects/oNotification';\r\nexport * from './lib/v1/objects/oPassport';\r\nexport * from './lib/v1/objects/oUser';\r\nexport * from './lib/v1/objects/oVerification';\r\n\r\nexport * from './lib/v1/util/UtilClient';\r\nexport * from './lib/v1/util/UtilsHttp'\r\nexport * from './lib/v1/util/UtilBusiness';\r\nexport * from './lib/v1/util/UtilDynamiCore';\r\nexport * from './lib/v1/util/UtilContract';\r\nexport * from './lib/v1/util/UtilConekta';\r\nexport * from './lib/v1/util/UtilNotification';\r\nexport * from './lib/v1/util/UtilTime';\r\nexport * from './lib/v1/util/UtilDashboard';\r\nexport * from './lib/v1/util/UtilPassport';\r\nexport * from './lib/v1/util/UtilPayment';\r\n\r\nexport * from './lib/v1/idb/indexed-db.service';\r\nexport * from './lib/v1/const/constants';\r\n\r\nexport * from './lib/v2/objects/oAws';\r\nexport * from './lib/v2/objects/oCatalog';\r\nexport * from './lib/v2/objects/oContract';\r\nexport * from './lib/v2/objects/oAsset';\r\nexport * from './lib/v2/objects/oCompany';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1352,6 +1352,10 @@ interface IVerificationSms extends IBaseVerification {
|
|
|
1352
1352
|
interface IVerificationCheckSms {
|
|
1353
1353
|
sna_attempts_error_codes: any[];
|
|
1354
1354
|
}
|
|
1355
|
+
interface IVerificationData {
|
|
1356
|
+
Phone?: string;
|
|
1357
|
+
VerificationCode?: string;
|
|
1358
|
+
}
|
|
1355
1359
|
|
|
1356
1360
|
declare const cClient: oClient;
|
|
1357
1361
|
interface oClientConekta {
|
|
@@ -1652,8 +1656,8 @@ declare const expiredPayment = "expiredPayment";
|
|
|
1652
1656
|
|
|
1653
1657
|
interface ILambdaResponse {
|
|
1654
1658
|
StatusCode: number;
|
|
1655
|
-
VerificationSms
|
|
1656
|
-
VerificationCheckSms
|
|
1659
|
+
VerificationSms?: IVerificationSms;
|
|
1660
|
+
VerificationCheckSms?: IVerificationCheckSms;
|
|
1657
1661
|
Error: string;
|
|
1658
1662
|
}
|
|
1659
1663
|
|
|
@@ -1738,4 +1742,4 @@ interface oContractV2 extends oContract {
|
|
|
1738
1742
|
}
|
|
1739
1743
|
|
|
1740
1744
|
export { FactoryBusiness, FactoryClient, FactoryConekta, FactoryContract, FactoryDynamiCore, FactoryNotification, FactoryPassport, FactoryPayment, IndexedDbService, ROUTE_GLOBAL_REFERENCE2, ROUTE_NOTIFICATIONS, RavcreditLibComponent, RavcreditLibService, UtilTime, UtilsHttp, cAddress, cAuthConfig, cBusinessConfig, cBusinessDeadlines, cBusinessInfo, cClient, cClientConekta, cClientContract, cClientDynamicStatus, cConektaRecurrent, cContract, cContractMetrics, cDefinedSchedule, cDevice, cEmptyDay, cFinancial, cIDCCharge, cIDCCustomer, cIDCDataPii, cIDCGeneratedReference, cIDCPayment, cNotification, cOptionsClientStatus, cOxxoRecurrentSources, cOxxorecurrentSourcesData, cPaymentDalay, cSchedule, cSingleOptionClientStatus, cTopic, cTyClientContract, cUserReference, dateCompleteFormat, dateFormat, dbAuthStore, dbBusinessConfig, dbBusinessInfo, dbClientsStore, dbConektaClientsStore, dbConektaReferencesStore, dbContractsStore, dbDynamicAccountStore, dbDynamicReferencesStore, dbIndexAuth, dbIndexBusiness, dbIndexClients, dbIndexConektaClients, dbIndexConektaClientsRef, dbIndexContracts, dbIndexNotification, dbIndexPassportClientsRef, dbIndexPayments, dbIndexUsers, dbName, dbNotificationsStore, dbPassportReferencesStore, dbPaymentsStore, dbUsersStore, dbVersion, eAccountDynamicStatus, eAssetPeriod, eAuthActions, eAuthType, eClientDynamicStatus, eClientStatus, eConektaOrderStatus, eConektaRes, eContractStatus, eContractSteps, eLoginStatus, eNotificationType, ePassportTypes, ePaymentType, eProcessStatus, eProvider, eReferenceStatusRav, eRoles, eRolesSelect, eVerificationChannel, eVerificationStatus, eVerificationStep, expiredPayment, keyPathId, keyUserID, ravCreditFunctions, snackBarConfigAction, snackBarConfigNoAction, timeFormat, week };
|
|
1741
|
-
export type { HasUnsavedChanges, IBaseVerification, IDCAccount, IDCAccountConfig, IDCAccountProps, IDCCharge, IDCClient, IDCClientObjFilter, IDCClientPiiFilter, IDCClientQuery, IDCCredit, IDCCreditConfig, IDCCreditProperties, IDCDataPii, IDCGeneratedReference, IDCMntryCycle, IDCMntryPymt, IDCMntryPymtAll, IDCMntryPymtAllPaidTotal, IDCMntryPymtCal, IDCMntryPymtDue, IDCMntryPymtDueTax, IDCMntryPymtOpen, IDCMntryPymtPaid, IDCMntryPymtPymt, IDCMsg, IDCNewReference, IDCOxxoRef, IDCOxxoRefItem, IDCOxxoRefPymtMth, IDCPayment, IDCRefCustInfo, IDCRefItems, IDCRefPymtMethod, IDCReference, IDCTransaction, IDCTxn, IDCTxnHeader, IDCTxnRow, IDCTxnRowExtras, IDynamiCore, ILambdaResponse, ISendCodeAttempt, ISignIn, IVerificationCheckSms, IVerificationSms, gResponse, gResponseFuncEmail, iAuthConfig, iBusinessInfo, iClientContract, iConektaRecurrent, iConektaResData, iConektaResObjChargePaid, iConektaResObjChargePaidMethod, iConektaResPrevAttr, iConektaSources, iConfigUUID, iContract, iContractAll, iGlobalPassport, iInformativeDialog, iNewPayment, iOptionsSelect, iOxxoRecurrentSources, iOxxorecurrentSourcesData, iPassportAdditional, iPassportReference, iPassportReferenceCenters, iPassportReferenceData, iPassportReferenceRes, iPassportResponse, iPassportResponseData, iPaymentDelay, iSelect, iServiceUser, iSnackBarMessage, iUser, oAddress, oAsset, oAssetBrand, oAssetCategory, oAssetOffer, oAuth, oAuthRes, oBusinessConfig, oBusinessDeadlines, oBusinessInfo, oCatalog, oClient, oClientConekta, oClientPayments, oClientReferences, oCompany, oConektaChannel, oConektaChargeData, oConektaCharges, oConektaCheckout, oConektaCustomerInfo, oConektaLineItem, oConektaLineItems, oConektaNewOrder, oConektaNewOrderAntifraudInfo, oConektaNewOrderCharge, oConektaNewOrderCustomerInfo, oConektaNewOrderLineItem, oConektaNewOrderPymMethod, oConektaOrder, oConektaOrderCreate, oConektaOrdersResponse, oConektaPaymentMethod, oConektaRes, oConektaResData, oConektaResObjChargePaid, oConektaResObjOrderPaid, oConektaResPrevAttr, oContract, oContractMetrics, oContractV2, oCustomer, oCustomerInfo, oDevice, oFinancial, oFinancialProgress, oNotification, oNotificationResponses, oPaymentDates, oPaymentGlobal, oPaymentOption, oResponse, oSchedule, oTmpBusinessConfig, oUser, oUserReference, partialIDCData, tyClientContract, weekSchedule };
|
|
1745
|
+
export type { HasUnsavedChanges, IBaseVerification, IDCAccount, IDCAccountConfig, IDCAccountProps, IDCCharge, IDCClient, IDCClientObjFilter, IDCClientPiiFilter, IDCClientQuery, IDCCredit, IDCCreditConfig, IDCCreditProperties, IDCDataPii, IDCGeneratedReference, IDCMntryCycle, IDCMntryPymt, IDCMntryPymtAll, IDCMntryPymtAllPaidTotal, IDCMntryPymtCal, IDCMntryPymtDue, IDCMntryPymtDueTax, IDCMntryPymtOpen, IDCMntryPymtPaid, IDCMntryPymtPymt, IDCMsg, IDCNewReference, IDCOxxoRef, IDCOxxoRefItem, IDCOxxoRefPymtMth, IDCPayment, IDCRefCustInfo, IDCRefItems, IDCRefPymtMethod, IDCReference, IDCTransaction, IDCTxn, IDCTxnHeader, IDCTxnRow, IDCTxnRowExtras, IDynamiCore, ILambdaResponse, ISendCodeAttempt, ISignIn, IVerificationCheckSms, IVerificationData, IVerificationSms, gResponse, gResponseFuncEmail, iAuthConfig, iBusinessInfo, iClientContract, iConektaRecurrent, iConektaResData, iConektaResObjChargePaid, iConektaResObjChargePaidMethod, iConektaResPrevAttr, iConektaSources, iConfigUUID, iContract, iContractAll, iGlobalPassport, iInformativeDialog, iNewPayment, iOptionsSelect, iOxxoRecurrentSources, iOxxorecurrentSourcesData, iPassportAdditional, iPassportReference, iPassportReferenceCenters, iPassportReferenceData, iPassportReferenceRes, iPassportResponse, iPassportResponseData, iPaymentDelay, iSelect, iServiceUser, iSnackBarMessage, iUser, oAddress, oAsset, oAssetBrand, oAssetCategory, oAssetOffer, oAuth, oAuthRes, oBusinessConfig, oBusinessDeadlines, oBusinessInfo, oCatalog, oClient, oClientConekta, oClientPayments, oClientReferences, oCompany, oConektaChannel, oConektaChargeData, oConektaCharges, oConektaCheckout, oConektaCustomerInfo, oConektaLineItem, oConektaLineItems, oConektaNewOrder, oConektaNewOrderAntifraudInfo, oConektaNewOrderCharge, oConektaNewOrderCustomerInfo, oConektaNewOrderLineItem, oConektaNewOrderPymMethod, oConektaOrder, oConektaOrderCreate, oConektaOrdersResponse, oConektaPaymentMethod, oConektaRes, oConektaResData, oConektaResObjChargePaid, oConektaResObjOrderPaid, oConektaResPrevAttr, oContract, oContractMetrics, oContractV2, oCustomer, oCustomerInfo, oDevice, oFinancial, oFinancialProgress, oNotification, oNotificationResponses, oPaymentDates, oPaymentGlobal, oPaymentOption, oResponse, oSchedule, oTmpBusinessConfig, oUser, oUserReference, partialIDCData, tyClientContract, weekSchedule };
|