ravcredit-lib 0.0.3 → 0.0.5

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.
Files changed (49) hide show
  1. package/fesm2022/ravcredit-lib.mjs +551 -24
  2. package/fesm2022/ravcredit-lib.mjs.map +1 -1
  3. package/index.d.ts +1516 -4
  4. package/package.json +3 -4
  5. package/esm2022/lib/ravcredit-lib.component.mjs +0 -19
  6. package/esm2022/lib/ravcredit-lib.service.mjs +0 -14
  7. package/esm2022/lib/v1/objects/oAddress.mjs +0 -2
  8. package/esm2022/lib/v1/objects/oBusiness.mjs +0 -2
  9. package/esm2022/lib/v1/objects/oClient.mjs +0 -2
  10. package/esm2022/lib/v1/objects/oConekta.mjs +0 -85
  11. package/esm2022/lib/v1/objects/oContract.mjs +0 -2
  12. package/esm2022/lib/v1/objects/oContractAll.mjs +0 -2
  13. package/esm2022/lib/v1/objects/oCustomer.mjs +0 -18
  14. package/esm2022/lib/v1/objects/oDevice.mjs +0 -2
  15. package/esm2022/lib/v1/objects/oFinancial.mjs +0 -2
  16. package/esm2022/lib/v1/objects/oGlobal.mjs +0 -86
  17. package/esm2022/lib/v1/objects/oLogIn.mjs +0 -17
  18. package/esm2022/lib/v1/objects/oNewPayment.mjs +0 -2
  19. package/esm2022/lib/v1/objects/oNotification.mjs +0 -17
  20. package/esm2022/lib/v1/objects/oPassport.mjs +0 -7
  21. package/esm2022/lib/v1/objects/oUser.mjs +0 -2
  22. package/esm2022/lib/v1/util/UtilBusiness.mjs +0 -181
  23. package/esm2022/lib/v1/util/UtilClient.mjs +0 -221
  24. package/esm2022/lib/v1/util/UtilContract.mjs +0 -339
  25. package/esm2022/lib/v1/util/UtilDynamiCore.mjs +0 -292
  26. package/esm2022/public-api.mjs +0 -21
  27. package/esm2022/ravcredit-lib.mjs +0 -5
  28. package/lib/ravcredit-lib.component.d.ts +0 -5
  29. package/lib/ravcredit-lib.service.d.ts +0 -6
  30. package/lib/v1/objects/oAddress.d.ts +0 -9
  31. package/lib/v1/objects/oBusiness.d.ts +0 -101
  32. package/lib/v1/objects/oClient.d.ts +0 -43
  33. package/lib/v1/objects/oConekta.d.ts +0 -305
  34. package/lib/v1/objects/oContract.d.ts +0 -23
  35. package/lib/v1/objects/oContractAll.d.ts +0 -21
  36. package/lib/v1/objects/oCustomer.d.ts +0 -17
  37. package/lib/v1/objects/oDevice.d.ts +0 -5
  38. package/lib/v1/objects/oFinancial.d.ts +0 -30
  39. package/lib/v1/objects/oGlobal.d.ts +0 -149
  40. package/lib/v1/objects/oLogIn.d.ts +0 -30
  41. package/lib/v1/objects/oNewPayment.d.ts +0 -11
  42. package/lib/v1/objects/oNotification.d.ts +0 -25
  43. package/lib/v1/objects/oPassport.d.ts +0 -55
  44. package/lib/v1/objects/oUser.d.ts +0 -25
  45. package/lib/v1/util/UtilBusiness.d.ts +0 -54
  46. package/lib/v1/util/UtilClient.d.ts +0 -34
  47. package/lib/v1/util/UtilContract.d.ts +0 -71
  48. package/lib/v1/util/UtilDynamiCore.d.ts +0 -453
  49. package/public-api.d.ts +0 -17
@@ -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/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/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 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 {oAddress} from '../objects/oAddress';\n\n// TODO **************************************** DELETE\nexport const cAddress: oAddress = {\n street: \"\",\n city: \"\",\n neighbor: \"\",\n zip: \"\",\n ext: \"\",\n int: \"\",\n state: \"\"\n}\n// TODO **************************************** DELETE\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 {oAddress} from '../objects/oAddress';\nimport {oContract} from '../objects/oContract';\nimport {oClient, oUserReference} from '../objects/oClient';\nimport {tyClientContract} from '../objects/oGlobal';\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 cAddress: oAddress = {\n street: \"\",\n city: \"\",\n neighbor: \"\",\n zip: \"\",\n ext: \"\",\n int: \"\",\n state: \"\"\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\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","/*\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\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["cAddress"],"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/util/UtilDynamiCore.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/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';\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\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","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","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,\r\n dbClientsStore,\r\n dbConektaClientsStore, dbConektaReferencesStore,\r\n dbContractsStore, dbDynamicReferencesStore,\r\n dbName, 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\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\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 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 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 deleteLocalStorage<T>(k: string) {\r\n return localStorage.removeItem(k) as T\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 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","/*\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\n\r\nexport * from './lib/v1/util/UtilClient';\r\nexport * from './lib/v1/util/UtilBusiness';\r\nexport * from './lib/v1/util/UtilDynamiCore';\r\nexport * from './lib/v1/util/UtilContract';\r\n\r\nexport * from './lib/v1/idb/indexed-db.service';\r\nexport * from './lib/v1/const/constants';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}