ravcredit-lib 0.0.56 → 0.0.58

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.
@@ -51,6 +51,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
51
51
  // custom_reference:
52
52
  // }
53
53
 
54
+ var eDestinationType;
55
+ (function (eDestinationType) {
56
+ eDestinationType["auth"] = "auth";
57
+ eDestinationType["login"] = "login";
58
+ eDestinationType["idle"] = "";
59
+ })(eDestinationType || (eDestinationType = {}));
60
+
54
61
  const cTopic = "RavCreditClients";
55
62
  const cNotification = {
56
63
  notification: {
@@ -2242,5 +2249,5 @@ var eVerificationChannel;
2242
2249
  * Generated bundle index. Do not edit.
2243
2250
  */
2244
2251
 
2245
- export { EnumDynamicClientStatus, ErrorMessages, FactoryBusiness, FactoryClient, FactoryConekta, FactoryContract, FactoryDynamiCore, FactoryNotification, FactoryPassport, FactoryPayment, IndexedDbService, ROLES_KEY, ROUTE_GLOBAL_REFERENCE2, ROUTE_NOTIFICATIONS, RavcreditLibComponent, RavcreditLibService, TIME_FORMAT_TABLE, UtilGeneral, UtilTime, UtilsHttp, cAddress, cAuthConfig, cBusinessConfig, cBusinessDeadlines, cBusinessInfo, cClient, cClientConekta, cClientContract, cClientDynamicStatus, cConektaRecurrent, cContract, cContractMetrics, cDaySchedule, cDefinedSchedule, cDevice, cEmptyDay, cFinancial, cIDCCharge, cIDCCustomer, cIDCDataPii, cIDCGeneratedReference, cIDCPayment, cNotification, cOptionsClientStatus, cOxxoRecurrentSources, cOxxoRecurrentSourcesData, cPaymentDelay, cResponse, cSchedule, cSingleOptionClientStatus, cTopic, cTyClientContract, cUserReference, dateCompleteFormat, dateFormat, dateFormatSimple, dbAuthStore, dbBusinessConfig, dbBusinessInfo, dbClientsStore, dbConektaClientsStore, dbConektaReferencesStore, dbConektaSpeiStore, dbContractsStore, dbDynamicAccountStore, dbDynamicReferencesStore, dbIndexAuth, dbIndexBusiness, dbIndexClients, dbIndexConektaClients, dbIndexConektaClientsRef, dbIndexContracts, dbIndexNotification, dbIndexPassportClientsRef, dbIndexPayments, dbIndexUsers, dbName, dbNotificationsStore, dbPassportReferencesStore, dbPaymentsStore, dbUsersStore, dbVersion, eAccountDynamicStatus, eAssetPeriod, eAuthActions, eAuthType, eAuthType2, eClientDynamicStatus, eClientStatus, eConektaOrderStatus, eConektaOrderType, eConektaRes, eContractStatus, eContractSteps, eGCActions, eIdentityTypes, eLoginStatus, eNotificationType, eOrderType, ePassportTypes, ePaymentType, eProcessStatus, eProvider, eReferenceStatusRav, eRequestVerb, eRoles, eRolesSelect, eVerificationChannel, eVerificationStatus, eVerificationStep, expiredPayment, keyPathId, keyUserID, ravCreditFunctions, snackBarConfigAction, snackBarConfigNoAction, snackBarConfigNoActionLong, timeFormat, timeFormatTable, week };
2252
+ export { EnumDynamicClientStatus, ErrorMessages, FactoryBusiness, FactoryClient, FactoryConekta, FactoryContract, FactoryDynamiCore, FactoryNotification, FactoryPassport, FactoryPayment, IndexedDbService, ROLES_KEY, ROUTE_GLOBAL_REFERENCE2, ROUTE_NOTIFICATIONS, RavcreditLibComponent, RavcreditLibService, TIME_FORMAT_TABLE, UtilGeneral, UtilTime, UtilsHttp, cAddress, cAuthConfig, cBusinessConfig, cBusinessDeadlines, cBusinessInfo, cClient, cClientConekta, cClientContract, cClientDynamicStatus, cConektaRecurrent, cContract, cContractMetrics, cDaySchedule, cDefinedSchedule, cDevice, cEmptyDay, cFinancial, cIDCCharge, cIDCCustomer, cIDCDataPii, cIDCGeneratedReference, cIDCPayment, cNotification, cOptionsClientStatus, cOxxoRecurrentSources, cOxxoRecurrentSourcesData, cPaymentDelay, cResponse, cSchedule, cSingleOptionClientStatus, cTopic, cTyClientContract, cUserReference, dateCompleteFormat, dateFormat, dateFormatSimple, dbAuthStore, dbBusinessConfig, dbBusinessInfo, dbClientsStore, dbConektaClientsStore, dbConektaReferencesStore, dbConektaSpeiStore, dbContractsStore, dbDynamicAccountStore, dbDynamicReferencesStore, dbIndexAuth, dbIndexBusiness, dbIndexClients, dbIndexConektaClients, dbIndexConektaClientsRef, dbIndexContracts, dbIndexNotification, dbIndexPassportClientsRef, dbIndexPayments, dbIndexUsers, dbName, dbNotificationsStore, dbPassportReferencesStore, dbPaymentsStore, dbUsersStore, dbVersion, eAccountDynamicStatus, eAssetPeriod, eAuthActions, eAuthType, eAuthType2, eClientDynamicStatus, eClientStatus, eConektaOrderStatus, eConektaOrderType, eConektaRes, eContractStatus, eContractSteps, eDestinationType, eGCActions, eIdentityTypes, eLoginStatus, eNotificationType, eOrderType, ePassportTypes, ePaymentType, eProcessStatus, eProvider, eReferenceStatusRav, eRequestVerb, eRoles, eRolesSelect, eVerificationChannel, eVerificationStatus, eVerificationStep, expiredPayment, keyPathId, keyUserID, ravCreditFunctions, snackBarConfigAction, snackBarConfigNoAction, snackBarConfigNoActionLong, timeFormat, timeFormatTable, week };
2246
2253
  //# sourceMappingURL=ravcredit-lib.mjs.map
@@ -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/oCustomer.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oNotification.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oPassport.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oVerification.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumClient.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumRoles.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumHttpStatus.ts","../../../projects/ravcredit-lib/src/lib/v2/constant/constants.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/util/UtilClient.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilsHttp.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilDynamiCore.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilConekta.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilNotification.ts","../../../projects/ravcredit-lib/src/lib/v1/const/constants.ts","../../../projects/ravcredit-lib/src/lib/v1/idb/indexed-db.service.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilTime.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilDashboard.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumPassport.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilPassport.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilPayment.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilGeneral.ts","../../../projects/ravcredit-lib/src/lib/v2/constant/messages.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumAsset.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumAuth.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumConekta.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumDynamic.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumNotification.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumUtil.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumVerification.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 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","export const cTopic = \"RavCreditClients\"\r\n\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\n/** *********************************************************************************/\r\nexport interface iPassportAdditional {\r\n client?: string;\r\n clientID?: string;\r\n credit?: string;\r\n}\r\n\r\nexport interface iPassportReferenceData {\r\n name: string;\r\n email: string;\r\n amount: number;\r\n expirationDate: string;\r\n additional: iPassportAdditional;\r\n}\r\n\r\n/** Passport request interface base */\r\nexport interface iPassportReference {\r\n type: string;\r\n data: iPassportReferenceData;\r\n}\r\n\r\n/** Global passport reference aPI */\r\nexport interface iGlobalPassport {\r\n passport: iPassportReference;\r\n contract: oContract\r\n date?: number\r\n}\r\n\r\n/** ******************************** */\r\nexport interface iPassportResponseData {\r\n name: string;\r\n email: string;\r\n amount: number;\r\n expirationDate: string;\r\n additional: iPassportAdditional;\r\n}\r\n\r\nexport interface iPassportReferenceCenters {\r\n name: string;\r\n logo: string;\r\n}\r\n\r\nexport interface iPassportReferenceRes {\r\n reference: string\r\n centers: iPassportReferenceCenters[],\r\n centerId: number,\r\n barcode: string\r\n}\r\n\r\n/** Passport response interface base */\r\nexport interface iPassportResponse {\r\n type: string;\r\n data: iPassportResponseData;\r\n message: string;\r\n references: iPassportReference[];\r\n}\r\n\r\n/** ******************************** */\r\n","// export enum oGenVerificationProvider {\r\n// pending, approved, expired\r\n// }\r\n//\r\n// export interface oVerificationLookup {\r\n// carrier: any[]\r\n// }\r\n//\r\n// export interface oVerificationSenCodeAttempt {\r\n// attempt_sid: any[],\r\n// channel: any[],\r\n// time: any[]\r\n// }\r\n//\r\n// export interface oGenVerification {\r\n// Sid: string\r\n// ServiceSid: string,\r\n// AccountSid: string,\r\n// To: string,\r\n// Channel: any,\r\n// Status: oGenVerificationProvider,\r\n// Valid: boolean,\r\n// Lookup: oVerificationLookup,\r\n// SendCodeAttempts: oVerificationSenCodeAttempt[],\r\n// DateCreated: string,\r\n// DateUpdated: string,\r\n// Url: string\r\n// }\r\n//\r\n// export interface oVerification {\r\n// Sid : string,\r\n// ServiceSid : string,\r\n// AccountSid : string,\r\n// To : string,\r\n// Channel : any,\r\n// Status : oGenVerificationProvider,\r\n// Valid : boolean,\r\n// DateCreated : string,\r\n// DateUpdated : string\r\n// }\r\n\r\nimport {eVerificationChannel, eVerificationStatus} from '../../v2/enum/EnumVerification';\r\n\r\nexport interface ISendCodeAttempt {\r\n time: string\r\n channel: eVerificationChannel,\r\n attemptSid : string,\r\n}\r\n\r\nexport interface IBaseVerification {\r\n sid: string\r\n service_sid:string\r\n account_sid:string\r\n to:string\r\n channel: eVerificationChannel\r\n status: eVerificationStatus\r\n valid: boolean,\r\n date_created: string\r\n date_updated: string\r\n amount: any,\r\n payee: any,\r\n}\r\n\r\nexport interface IVerificationSms extends IBaseVerification {\r\n lookup: any,\r\n send_code_attempts: ISendCodeAttempt[],\r\n sna: any,\r\n url: string\r\n}\r\n\r\nexport interface IVerificationCheckSms\r\n{\r\n sna_attempts_error_codes: any[],\r\n}\r\n\r\nexport interface IVerificationData {\r\n Phone?: string\r\n VerificationCode?: string\r\n}\r\n","export 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","export enum eRoles {\r\n Administrator = \"Administrator\",\r\n Seller = \"Seller\",\r\n Consultant = \"Consultant\",\r\n Client = 'Client',\r\n User = 'User',\r\n}\r\n","export enum HttpStatus {\r\n CONTINUE = 100,\r\n SWITCHING_PROTOCOLS = 101,\r\n PROCESSING = 102,\r\n EARLYHINTS = 103,\r\n OK = 200,\r\n CREATED = 201,\r\n ACCEPTED = 202,\r\n NON_AUTHORITATIVE_INFORMATION = 203,\r\n NO_CONTENT = 204,\r\n RESET_CONTENT = 205,\r\n PARTIAL_CONTENT = 206,\r\n AMBIGUOUS = 300,\r\n MOVED_PERMANENTLY = 301,\r\n FOUND = 302,\r\n SEE_OTHER = 303,\r\n NOT_MODIFIED = 304,\r\n TEMPORARY_REDIRECT = 307,\r\n PERMANENT_REDIRECT = 308,\r\n BAD_REQUEST = 400,\r\n UNAUTHORIZED = 401,\r\n PAYMENT_REQUIRED = 402,\r\n FORBIDDEN = 403,\r\n NOT_FOUND = 404,\r\n METHOD_NOT_ALLOWED = 405,\r\n NOT_ACCEPTABLE = 406,\r\n PROXY_AUTHENTICATION_REQUIRED = 407,\r\n REQUEST_TIMEOUT = 408,\r\n CONFLICT = 409,\r\n GONE = 410,\r\n LENGTH_REQUIRED = 411,\r\n PRECONDITION_FAILED = 412,\r\n PAYLOAD_TOO_LARGE = 413,\r\n URI_TOO_LONG = 414,\r\n UNSUPPORTED_MEDIA_TYPE = 415,\r\n REQUESTED_RANGE_NOT_SATISFIABLE = 416,\r\n EXPECTATION_FAILED = 417,\r\n I_AM_A_TEAPOT = 418,\r\n MISDIRECTED = 421,\r\n UNPROCESSABLE_ENTITY = 422,\r\n FAILED_DEPENDENCY = 424,\r\n PRECONDITION_REQUIRED = 428,\r\n TOO_MANY_REQUESTS = 429,\r\n INTERNAL_SERVER_ERROR = 500,\r\n NOT_IMPLEMENTED = 501,\r\n BAD_GATEWAY = 502,\r\n SERVICE_UNAVAILABLE = 503,\r\n GATEWAY_TIMEOUT = 504,\r\n HTTP_VERSION_NOT_SUPPORTED = 505\r\n}\r\n","import {iOptionsSelect, iPaymentDelay, iSelect} from '../objects/oUtil';\r\nimport {MatSnackBarConfig} from '@angular/material/snack-bar';\r\nimport {cContract} from '../../v1/util/UtilContract';\r\nimport {cClient} from '../../v1/util/UtilClient';\r\nimport {oAddress} from '../../v1/objects/oAddress';\r\nimport {iConektaRecurrent, iOxxoRecurrentSources, iOxxorecurrentSourcesData} from \"../../v1/objects/oConekta\";\r\nimport {iAuthConfig} from '../../v1/objects/oLogIn';\r\nimport {eClientStatus} from '../enum/EnumClient';\r\nimport { eRoles } from \"../enum/EnumRoles\";\r\nimport {oDaySchedule} from '../../v1/objects/oBusiness';\r\nimport {oResponse} from '../objects/oHttp';\r\nimport {HttpStatus} from '../enum/EnumHttpStatus';\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 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 const cPaymentDelay: iPaymentDelay = {\r\n today: 0,\r\n nextPayment: 0,\r\n daysDelay: 0,\r\n late: false,\r\n}\r\n\r\nexport const snackBarConfigAction: MatSnackBarConfig = {\r\n horizontalPosition: \"start\"\r\n}\r\n\r\nexport const snackBarConfigNoAction: MatSnackBarConfig = {\r\n duration: 4000,\r\n horizontalPosition: \"start\"\r\n}\r\n\r\nexport const snackBarConfigNoActionLong: MatSnackBarConfig = {\r\n duration: 8000,\r\n horizontalPosition: \"start\"\r\n}\r\n\r\nexport const cTyClientContract = {...cClient, ...cContract}\r\n\r\nexport const cAddress: oAddress = {\r\n street: \"\",\r\n city: \"\",\r\n neighbor: \"\",\r\n zip: \"\",\r\n ext: \"\",\r\n int: \"\",\r\n state: \"\"\r\n}\r\n\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\nexport const cAuthConfig: iAuthConfig = {\r\n title: \"\",\r\n desc: \"\",\r\n data: true,\r\n}\r\n\r\nexport const cDaySchedule: oDaySchedule = {\r\n open: 0,\r\n close: 0\r\n}\r\n\r\nexport const cResponse: oResponse = {\r\n path: '',\r\n statusCode: HttpStatus.CONTINUE,\r\n epochTime: new Date().getTime(),\r\n data: null,\r\n};\r\n\r\n","import {UntypedFormArray, UntypedFormControl, Validators} from \"@angular/forms\";\nimport {\n oBusinessConfig,\n oBusinessDeadlines,\n oBusinessInfo, oDaySchedule,\n oSchedule,\n oTmpBusinessConfig,\n oWeekSchedule\n} from \"../objects/oBusiness\";\nimport {oAddress} from '../objects/oAddress';\nimport {cAddress, cDaySchedule} from \"../../v2/constant/constants\";\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\n const schedule: oWeekSchedule = {\n monday: cDaySchedule,\n tuesday: cDaySchedule,\n wednesday: cDaySchedule,\n thursday: cDaySchedule,\n friday: cDaySchedule,\n saturday: cDaySchedule,\n sunday: cDaySchedule\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 = Number(data.mondayOpen)\n if (data.mondayClose) schedule.monday.close = Number(data.mondayClose)\n\n if (data.tuesdayOpen) schedule.tuesday.open = Number(data.tuesdayOpen)\n if (data.tuesdayClose) schedule.tuesday.close = Number(data.tuesdayClose)\n\n if (data.wednesdayOpen) schedule.wednesday.open = Number(data.wednesdayOpen)\n if (data.wednesdayClose) schedule.wednesday.close = Number(data.wednesdayClose)\n\n if (data.thursdayOpen) schedule.thursday.open = Number(data.thursdayOpen)\n if (data.thursdayClose) schedule.thursday.close = Number(data.thursdayClose)\n\n if (data.fridayOpen) schedule.friday.open = Number(data.fridayOpen)\n if (data.fridayClose) schedule.friday.close = Number(data.fridayClose)\n\n if (data.saturdayOpen) schedule.saturday.open = Number(data.saturdayOpen)\n if (data.saturdayClose) schedule.saturday.close = Number(data.saturdayClose)\n\n if (data.sundayOpen) schedule.sunday.open = Number(data.sundayOpen)\n if (data.sundayClose) schedule.sunday.close = Number(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 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 {oAsset, oAssetBrand, oAssetCategory} from '../../v2/objects/oAsset';\nimport {oCatalog} from '../../v2/objects/oCatalog';\nimport {oScoreReference} from '../../v2/objects/oScoreDto';\nimport {tyClientContract} from '../../v2/objects/oUtil';\nimport {cAddress} from '../../v2/constant/constants';\n\nexport enum eProvider {\n none = \"\",\n Conekta = \"Conekta\",\n Passport = \"Passport\",\n DynamiCore = \"DynamiCore\",\n}\n\nexport const cDevice: oDevice = {\n device: \"\",\n IMEI: \"\"\n}\n\nexport const cFinancial: oFinancial = {\n total: 0,\n initial: 0,\n deadlines: cBusinessDeadlines,\n initDate: 0,\n weeklyPayment: 0,\n pendingOf: [],\n progress: [],\n interest: 0,\n provider: eProvider.DynamiCore,\n financed: 0,\n nextPayment: 0,\n amount_commission_opening: 0,\n principal_disbursed: 0,\n expected_disbursed: 0, // ---------\n credit_type: 'Arrendamiento',\n interest_rate: 0,\n commission_opening: 0,\n interest_arrears: 0,\n}\n\nexport const cContract: oContract = {\n id: \"\",\n client: \"\",\n address: cAddress,\n device: cDevice,\n financial: cFinancial,\n by: \"\",\n active: true\n}\n\nexport class FactoryContract {\n\n public static FormClient(client?: oClient) {\n let data = cClient\n\n if (client) data = client\n\n return {\n name: new UntypedFormControl(data.name, [Validators.required, Validators.minLength(10)]),\n email: new UntypedFormControl(data.username, [Validators.required, Validators.email]),\n phone: new UntypedFormControl(data.phone, [Validators.required, Validators.min(10)]),\n curp: new UntypedFormControl(data.curp, [Validators.required, Validators.minLength(16)]),\n userReferences: new UntypedFormArray([])\n }\n }\n\n public static CreateUserReferenceFormObj(user: oUserReference) {\n let data = cUserReference\n\n if (user.name != \"\") data = user\n\n return {\n name: new UntypedFormControl(data.name, [Validators.required, Validators.minLength(10)]),\n phone: new UntypedFormControl(data.phone, [Validators.required]),\n relationship: new UntypedFormControl(data.relationship, [Validators.required]),\n }\n }\n\n public static FormAddress(address?: oAddress) {\n let data = cAddress\n\n if (address) data = address\n\n return {\n street: new UntypedFormControl(data.street, Validators.required),\n neighbor: new UntypedFormControl(data.neighbor, Validators.required),\n cp: new UntypedFormControl(data.zip, Validators.required),\n ext: new UntypedFormControl(data.ext, Validators.required),\n int: new UntypedFormControl(data.int),\n city: new UntypedFormControl(data.city, Validators.required),\n state: new UntypedFormControl(data.state, Validators.required),\n }\n }\n\n public static FormDevice(device?: oDevice) {\n let data = cDevice\n\n if (device) data = device\n\n return {\n model: new UntypedFormControl(data.device, Validators.required),\n IMEI: new UntypedFormControl(data.IMEI, Validators.required),\n ID: new UntypedFormControl(data.id),\n }\n }\n\n public static FormFinancial(financial?: oFinancial) {\n let data = cFinancial\n\n if (financial) data = financial\n\n data.credit_type = \"Arrendamiento\"\n // data.deadlines.weeks = cBusinessDeadlines\n\n return {\n total: new UntypedFormControl(data.total, [Validators.required, Validators.min(1)]),\n initial: new UntypedFormControl(data.initial, [Validators.required]),\n financed: new UntypedFormControl(data.financed, Validators.min(1)),\n weeklyPayment: new UntypedFormControl(data.weeklyPayment, [Validators.required, Validators.min(1)]),\n deadlines: new UntypedFormControl(data.deadlines, [Validators.required]),\n initDate: new UntypedFormControl(data.initDate),\n provider: new UntypedFormControl(data.provider),\n\n credit_type: new UntypedFormControl(data.credit_type ? data.credit_type : 0),\n interest_rate: new UntypedFormControl(data.interest_rate ? data.interest_rate : 0), // interes credit dynamic\n commission_opening: new UntypedFormControl(data.commission_opening ? data.commission_opening : 0),\n interest_arrears: new UntypedFormControl(data.interest_arrears ? data.interest_arrears : 0), // intereses moratorios dynamic\n\n amount_commission_opening: new UntypedFormControl(data.amount_commission_opening), // comision por apertura dynamic\n principal_disbursed: new UntypedFormControl(data.principal_disbursed),\n expected_disbursed: new UntypedFormControl(data.expected_disbursed)\n }\n }\n\n public static CreateContractFromFormObj(data: any, finalPay: number) {\n const date = new Date()\n\n const device: oDevice = {\n device: data[\"device\"][0].model,\n id: data[\"device\"][0].ID,\n IMEI: data[\"device\"][0].IMEI\n }\n const address: oAddress = {\n street: data[\"address\"][0].street,\n city: data[\"address\"][0].city,\n neighbor: data[\"address\"][0].neighbor,\n zip: data[\"address\"][0].cp,\n ext: data[\"address\"][0].ext,\n int: data[\"address\"][0].int,\n state: data[\"address\"][0].state\n }\n\n const financial: oFinancial = {\n total: Number(data[\"financial\"][0].total),\n initial: data[\"financial\"][0].initial,\n deadlines: data[\"financial\"][0].deadlines,\n progress: [],\n pendingOf: [],\n weeklyPayment: data[\"financial\"][0].weeklyPayment,\n interest: data[\"financial\"][0].interest_rate,\n finalDate: date.getTime() + (data[\"financial\"][0].deadlines.weeks * (604800 * 1000)),\n initDate: date.getDate(),\n dayCut: date.getDate(),\n provider: data[\"financial\"][0].provider,\n finalPayment: finalPay,\n financed: data[\"financial\"][0].financed,\n nextPayment: data[\"financial\"][0].nextPayment\n }\n if (data[\"financial\"][0].provider == eProvider.DynamiCore) {\n financial.initial = data[\"financial\"][0].amount_commission_opening ? Number(data[\"financial\"][0].amount_commission_opening) : 0\n financial.expected_disbursed = data[\"financial\"][0].expected_disbursed ? Number(data[\"financial\"][0].expected_disbursed) : 0\n financial.principal_disbursed = data[\"financial\"][0].principal_disbursed ? Number(data[\"financial\"][0].principal_disbursed) : 0\n financial.interest_arrears = data[\"financial\"][0].interest_rate ? Number(data[\"financial\"][0].interest_rate) : 0\n financial.commission_opening = data[\"financial\"][0].commission_opening ? Number(data[\"financial\"][0].commission_opening) : 0\n financial.credit_type = data[\"financial\"][0].credit_type ? data[\"financial\"][0].credit_type : \"\"\n financial.clabe = data[\"financial\"][0].clabe ? data[\"financial\"][0].clabe : \"\"\n }\n\n if (data[\"financial\"][0].amount_commission_opening != undefined) {\n if (Number(data[\"financial\"][0].amount_commission_opening) > 0)\n financial.initial = Number(data[\"financial\"][0].amount_commission_opening)\n else\n financial.initial = Number(data[\"financial\"][0].initial)\n }\n\n if (Number(data[\"financial\"][0].amount_commission_opening) > 0)\n financial.amount_commission_opening = Number(data[\"financial\"][0].amount_commission_opening)\n else\n financial.amount_commission_opening = financial.initial\n\n if (financial.nextPayment == undefined) financial.nextPayment = 0\n\n const contract: oContract = {\n id: \"\",\n client: \"\",\n address: address,\n device: device,\n financial: financial,\n by: \"\",\n active: true,\n lastPayment: date.getTime(),\n createdAt: date.getTime()\n }\n return contract\n }\n\n public static CreateContractToConektaObj(data: oContract, monthlyPay: number, finalPay: number) {\n const o: any = {}\n const score: oScoreReference = {\n name: \"\",\n score: 0\n }\n const catalog: oCatalog = {\n name: \"\",\n description: \"\",\n id: \"\",\n createdAt: 0\n }\n const brand : oAssetBrand = {\n name: \"\",\n id: \"\",\n description: \"\"\n }\n const category : oAssetCategory = {\n name: \"\",\n id: \"\",\n createAt: 0\n }\n const deviceV2: oAsset = {\n name: \"\",\n id: \"\",\n createAt: new Date().getTime(),\n category: category,\n brand: brand,\n price: 0,\n model: \"\",\n imageUrl: [],\n paymentOption: [],\n catalog: catalog,\n offers: [],\n score: score,\n IMEI: \"\"\n }\n\n const device: oDevice = {\n device: data.device.device,\n id: data.device.id,\n IMEI: data.device.IMEI\n }\n const address: oAddress = {\n street: data.address.street,\n city: data.address.city,\n neighbor: data.address.neighbor,\n zip: data.address.zip,\n ext: data.address.ext,\n int: data.address.int,\n state: data.address.state\n }\n const financial: oFinancial = {\n total: data.financial.total,\n initial: data.financial.initial,\n deadlines: data.financial.deadlines,\n progress: data.financial.progress,\n pendingOf: data.financial.pendingOf,\n weeklyPayment: data.financial.weeklyPayment,\n interest: data.financial.interest,\n finalDate: data.financial.finalDate,\n initDate: data.financial.initDate,\n dayCut: data.financial.dayCut,\n provider: data.financial.provider,\n finalPayment: data.financial.finalPayment,\n financed: data.financial.financed,\n nextPayment: data.financial.nextPayment\n }\n const contract: oContract = {\n id: \"\",\n client: \"\",\n address: address,\n device: device,\n financial: financial,\n by: \"\",\n active: true\n }\n return contract\n }\n\n public static CreateAuthForm(username: string, curp: string) {\n const password: string = this.createPassword(curp)\n return {\n username: new UntypedFormControl(username, Validators.required),\n password: new UntypedFormControl(password, Validators.required),\n }\n }\n\n public static createPassword(curp: string): string {\n const _curp = curp.split(\"\")\n let password = \"\"\n const limit = 7\n\n if (_curp.length < 16) return \"\"\n\n password += _curp[0].toLowerCase()\n\n for (let i = 1; i <= limit; i++)\n password += _curp[i].toUpperCase()\n\n password += `*`\n return password\n }\n\n public static MapperTypeContCli_Contract(_contract: tyClientContract): oContract {\n const contract: oContract = {\n id: _contract.contract!,\n client: _contract.client,\n address: _contract.address,\n device: _contract.device,\n financial: _contract.financial,\n by: _contract.by,\n active: _contract.active,\n lastPayment: _contract.lastPayment,\n createdAt: _contract.createdAt,\n dynamicAccount: _contract.dynamicAccount,\n }\n\n return contract\n }\n\n public static MapperSyncContractDynamic(base: oContract, account: IDCAccount): oContract {\n let nContract = base\n let _financial = base.financial\n let _device = base.device\n\n\n const financial: oFinancial = {\n total: _financial.total,\n initial: account.properties.amount_commission_opening ? account.properties.amount_commission_opening : _financial.initial,\n deadlines: _financial.deadlines,\n progress: _financial.progress ? _financial.progress : [],\n pendingOf: _financial.pendingOf ? _financial.pendingOf : [],\n weeklyPayment: _financial.weeklyPayment,\n interest: _financial.interest,\n finalDate: _financial.finalDate,\n initDate: _financial.initDate,\n dayCut: _financial.dayCut,\n provider: _financial.provider,\n finalPayment: _financial.finalPayment,\n financed: _financial.financed,\n nextPayment: _financial.nextPayment ? _financial.nextPayment : 0,\n\n amount_commission_opening:\n account.properties.amount_commission_opening,\n\n expected_disbursed:\n account.properties.expected_disbursed ?\n Number(account.properties.expected_disbursed) :\n Number(_financial.expected_disbursed),\n\n principal_disbursed:\n account.properties.principal_disbursed ?\n account.properties.principal_disbursed :\n _financial.principal_disbursed,\n\n commission_opening:\n account.config.commission_opening ?\n Number(account.config.commission_opening) :\n Number(_financial.commission_opening),\n\n credit_type:\n account.config.credit_type ? account.config.credit_type : _financial.credit_type,\n\n clabe:\n String(account.properties.clabe ? account.properties.clabe : _financial.clabe)\n }\n\n const interestArrears = account.config.interest_arrears\n const prevInterestArrears = _financial.interest_arrears\n if (interestArrears != undefined) {\n financial.interest_arrears = interestArrears\n } else if (prevInterestArrears != undefined) {\n financial.interest_arrears = prevInterestArrears\n } else {\n financial.interest_arrears = 0\n }\n\n const interest = account.config.interest_rate\n const prevInterest = _financial.interest\n if (interest != undefined) {\n financial.interest = interest\n } else if (prevInterest != undefined) {\n financial.interest = prevInterest\n } else {\n financial.interest = 0\n }\n\n if (account.properties.amount_commission_opening != undefined) {\n if (Number(account.properties.amount_commission_opening) > 0) {\n financial.initial = Number(account.properties.amount_commission_opening)\n financial.amount_commission_opening = Number(account.properties.amount_commission_opening)\n } else {\n financial.initial = Number(_financial.initial)\n financial.amount_commission_opening = financial.initial\n }\n }\n\n const seller: string | undefined = account.properties.seller_name\n nContract.by = seller != null ? seller : \"\"\n\n nContract.device.id = _device.id ? _device.id : \"\"\n\n nContract.financial = financial\n return nContract\n }\n}\n\nexport enum eContractStatus {\n APPROVED = 'APPROVED',\n DENIED = 'DENIED',\n CANCELED = 'CANCELED',\n PENDING = 'PENDING',\n CHECKING = 'CHECKING',\n}\n","import {oClient, oUserReference} from '../objects/oClient';\nimport {iConektaRecurrent, iConektaSources} from '../objects/oConekta';\nimport {oContract} from '../objects/oContract';\nimport {cContract} from './UtilContract';\nimport {IDCAccount, IDCClient} from './UtilDynamiCore';\nimport {oFinancial} from '../objects/oFinancial';\nimport { tyClientContract } from \"../../v2/objects/oUtil\";\nimport {cConektaRecurrent} from '../../v2/constant/constants';\nimport {eClientStatus} from '../../v2/enum/EnumClient';\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 // constant 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 public static CheckEmail =\n (email: string): boolean => email.includes(\"@\") && email.endsWith(\".com\")\n}\n\nexport enum eIdentityTypes {\n SELFIE = 'SELFIE',\n IDENTITY_FRONT = 'IDENTITY_FRONT',\n IDENTITY_BACK = 'IDENTITY_BACK',\n PASSPORT_FRONT = 'PASSPORT_FRONT',\n PASSPORT_BACK = 'PASSPORT_BACK',\n SERVICE='SERVICE',\n WITH_DEVICE='WITH_DEVICE',\n}\n","export class UtilsHttp {\n\n public static CreateHeadersRavcreditApi(token: string) {\n return {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Access-Control-Allow-Headers': 'Content-Type',\n 'Authorization': `Bearer ${token}`\n }\n }\n\n public static CreateSimpleHeadersApi() {\n return {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Access-Control-Allow-Headers': 'Content-Type',\n }\n }\n\n public static CreateAwsHeadersApi() {\n return {\n 'Content-Type': 'application/json'\n }\n }\n}\n","import {UntypedFormControl, Validators} from \"@angular/forms\";\r\nimport {oClient} from '../objects/oClient';\r\nimport {oContract} from '../objects/oContract';\r\n\r\nexport enum eReferenceStatusRav {\r\n \"Disponible\" = \"Disponible\",\r\n \"Active\" = \"Activo con credito vigente\",\r\n \"ActiveEnded\" = \"Activo sin credito vigente\",\r\n \"Registered\" = \"Registrado\",\r\n \"NonRegistered\" = \"No registrado\",\r\n \"NonVerified\" = \"No verificado\",\r\n \"Rejected\" = \"Rechazado\",\r\n \"Pending\" = \"Pendiente\"\r\n}\r\n\r\nexport enum eAccountDynamicStatus {\r\n \"OK\" = \"Con cuenta activa\",\r\n \"NOK\" = \"Sin cuenta activa\",\r\n}\r\n\r\n//\r\n// export enum eAccountDynamicRegister {\r\n// \"Active\" = \"Activo\", // Ok\r\n// \"NonAuthorized\" = \"No autorizado\",\r\n// \"Authorized\" = \"Autorizado\", // Non ref\r\n// \"Accepted\" = \"Aceptado\", // Non ref\r\n// \"Rejected\" = \"Rechazado\", // Non ref\r\n// \"Pending\" = \"Pendiente\", // Non ref\r\n// \"NotFound\" = \"No registrado\"\r\n// }\r\n\r\nexport enum eClientDynamicStatus {\r\n \"Active\" = \"Active\",\r\n \"Pending\" = \"Pending\",\r\n \"Accepted\" = \"Accepted\",\r\n \"Rejected\" = \"Rejected\",\r\n \"approved\" = \"Aprobado\",\r\n}\r\n\r\nexport const cClientDynamicStatus = {\r\n Active: {\r\n value: \"Active\",\r\n viewValue: \"Activo\"\r\n },\r\n Pending: {\r\n value: \"Pending\",\r\n viewValue: \"Pendiente\"\r\n },\r\n Accepted: {\r\n value: \"Accepted\",\r\n viewValue: \"Pre autorizado\"\r\n },\r\n Rejected: {\r\n value: \"Rejected\",\r\n viewValue: \"Rechazado\"\r\n },\r\n Idle: {\r\n value: \"Idle\",\r\n viewValue: \"\"\r\n },\r\n}\r\n\r\nexport enum eContractSteps {\r\n \"idle\" = \"idle\",\r\n \"general\" = \"General\",\r\n \"address\" = \"Address\",\r\n \"device\" = \"Device\",\r\n \"financial\" = \"Financial\",\r\n \"app\" = \"App\",\r\n}\r\n\r\nexport type partialIDCData = Pick<IDCClient, \"pii\" | \"client_type\">\r\n\r\nexport interface IDCCharge {\r\n barcode_url: string;\r\n currency: string;\r\n expires_at: number;\r\n object: string;\r\n quantity: number;\r\n reference: string;\r\n service_name: string;\r\n store_name: string;\r\n type: string;\r\n unit_price: number;\r\n}\r\n\r\nexport interface IDCGeneratedReference {\r\n account: number;\r\n active: number;\r\n amount: number;\r\n channel: string;\r\n charge: IDCCharge;\r\n company: number;\r\n config?: any;\r\n id: string;\r\n operation: number;\r\n}\r\n\r\nexport const cIDCDataPii: IDCDataPii = {\r\n icc: \"\",\r\n rfc: \"\",\r\n sex: \"\",\r\n city: \"\",\r\n curp: \"\",\r\n days: \"\",\r\n imei: \"\",\r\n name: \"\",\r\n step: \"\",\r\n term: \"\",\r\n brand: \"\",\r\n email: \"\",\r\n model: \"\",\r\n phone: \"\",\r\n score: \"\",\r\n state: \"\",\r\n amount: \"\",\r\n colony: \"\",\r\n period: \"\",\r\n street: \"\",\r\n ticket: \"\",\r\n num_ext: \"\",\r\n num_int: \"\",\r\n zipcode: \"\",\r\n evidence: \"\",\r\n financed: \"\",\r\n house_is: \"\",\r\n lastname: \"\",\r\n type_job: \"\",\r\n birthdate: \"\",\r\n birthstate: \"\",\r\n dicio_data: \"\",\r\n dicio_step: \"\",\r\n secondname: \"\",\r\n nationality: \"\",\r\n seller_name: \"\",\r\n down_payment: \"\",\r\n municipality: \"\",\r\n score_no_hit: \"\",\r\n study_degree: \"\",\r\n branch_office: \"\",\r\n identity_data: \"\",\r\n interest_rate: \"\",\r\n score_interno: \"\",\r\n marital_status: \"\",\r\n monthly_income: \"\",\r\n motherlastname: \"\",\r\n score_rcc_fico: \"\",\r\n identity_selfie: \"\",\r\n amount_by_period: \"\",\r\n identity_id_back: \"\",\r\n proof_of_address: \"\",\r\n identity_id_front: \"\",\r\n economic_dependents: \"\",\r\n identity_id_request: \"\",\r\n identity_verification: \"\",\r\n is_address_ine_currently_live: \"\",\r\n fotografia_del_cliente_con_el_equipo: \"\",\r\n estado: \"\",\r\n gender: \"\"\r\n}\r\n\r\n/**\r\n * Base customer for create customer with DynamiCore provider\r\n * */\r\nexport const cIDCCustomer: partialIDCData = {\r\n pii: cIDCDataPii,\r\n client_type: 662\r\n}\r\n\r\nexport interface IDCDataPii {\r\n icc: string,\r\n rfc: string,\r\n city: string,\r\n curp: string,\r\n sex: string,\r\n days: string,\r\n step: string,\r\n ticket: string,\r\n evidence: string,\r\n proof_of_address: string,\r\n score_interno: string,\r\n imei: string,\r\n name: string,\r\n term: string,\r\n brand: string,\r\n email: string,\r\n model: string,\r\n phone: string,\r\n score: any,\r\n state: string,\r\n amount: string,\r\n colony: string,\r\n estado: any,\r\n gender: string,\r\n period: string,\r\n street: string,\r\n num_ext: string,\r\n num_int: string,\r\n zipcode: string,\r\n financed: string,\r\n house_is: string,\r\n lastname: string,\r\n type_job: string,\r\n birthdate: string,\r\n birthstate: string,\r\n dicio_data: string,\r\n dicio_step: any,\r\n secondname: string,\r\n nationality: string,\r\n seller_name: string,\r\n down_payment: string,\r\n municipality: string,\r\n score_no_hit: string,\r\n study_degree: string,\r\n branch_office: string,\r\n identity_data: any,\r\n interest_rate: string,\r\n marital_status: string,\r\n monthly_income: string,\r\n motherlastname: string,\r\n score_rcc_fico: string,\r\n identity_selfie: any,\r\n amount_by_period: string,\r\n identity_id_back: any,\r\n identity_id_front: any,\r\n economic_dependents: string,\r\n identity_id_request: any,\r\n identity_verification: any,\r\n is_address_ine_currently_live: string,\r\n fotografia_del_cliente_con_el_equipo?: string\r\n}\r\n\r\nexport interface IDCAccountProps {\r\n clabe: string | number,\r\n pagaqui: string | number,\r\n start_date: string,\r\n expected_disbursed: number,\r\n reference_pagaaqui: string,\r\n principal_disbursed: number,\r\n amount_commission_opening: number,\r\n seller_name?: string\r\n}\r\n\r\nexport interface IDCAccountConfig {\r\n contract: string,\r\n credit_type: string,\r\n periodicity: string,\r\n installments: number,\r\n interest_base: string,\r\n interest_rate: number,\r\n interest_arrears: number,\r\n commission_opening: number,\r\n financed_amount?: number\r\n}\r\n\r\nexport interface IDCAccount {\r\n id: number,\r\n group: number,\r\n company: number,\r\n client: number,\r\n created_at: string,\r\n currency: string | number,\r\n status: string,\r\n properties: IDCAccountProps,\r\n product: number,\r\n enabled: string | number,\r\n config: IDCAccountConfig,\r\n amount: number,\r\n type: string,\r\n identifier: string,\r\n start_at: string,\r\n el: any,\r\n client_id: string | number\r\n}\r\n\r\nexport interface IDCTxnRowExtras {\r\n reference: string,\r\n transaction: string\r\n}\r\n\r\nexport interface IDCTxnRow {\r\n id: string,\r\n created_at: string,\r\n seq: number,\r\n created: string,\r\n last4: string,\r\n response: any,\r\n transaction_id: string,\r\n contrapart: string,\r\n reference: string,\r\n external_reference: any,\r\n extras: IDCTxnRowExtras,\r\n name: string,\r\n debit: number,\r\n credit: number,\r\n amount: number\r\n}\r\n\r\nexport interface IDCTxnHeader {\r\n name: string,\r\n type: string,\r\n label?: string,\r\n money?: string,\r\n format?: string\r\n}\r\n\r\nexport interface IDCTxn {\r\n rows: IDCTxnRow[],\r\n headers: IDCTxnHeader[]\r\n}\r\n\r\nexport interface IDCMntryCycle {\r\n date: string,\r\n late: number,\r\n paid: number,\r\n past: string | boolean,\r\n cycle: string | number,\r\n amount: number,\r\n detail: any,\r\n status: string\r\n}\r\n\r\nexport interface IDCMntryPymtAllPaidTotal {\r\n amount: string,\r\n cycles: string\r\n}\r\n\r\nexport interface IDCMntryPymtAll {\r\n late: number,\r\n total: number,\r\n va_cp: number,\r\n actual: number,\r\n cycles: IDCMntryCycle[],\r\n vencido: number,\r\n paid_total: IDCMntryPymtAllPaidTotal,\r\n total_amount: number\r\n}\r\n\r\nexport interface IDCMntryPymtDue {\r\n total: number,\r\n cycles: IDCMntryCycle[],\r\n new_cycle: IDCMntryCycle,\r\n old_cycle: IDCMntryCycle,\r\n total_amount: number\r\n}\r\n\r\nexport interface IDCMntryPymtOpen extends IDCMntryPymtDue {\r\n}\r\n\r\nexport interface IDCMntryPymtPaid {\r\n total: number,\r\n cycles: IDCMntryCycle[] | any[],\r\n new_cycle: any,\r\n old_cycle: any,\r\n total_amount: number\r\n}\r\n\r\nexport interface IDCMntryPymtDueTax {\r\n expected: number;\r\n}\r\n\r\nexport interface IDCMntryPymtPymt {\r\n paid: number,\r\n expected: number\r\n}\r\n\r\nexport interface IDCMntryPymtCal {\r\n due: IDCMntryPymtDue,\r\n date: string,\r\n past: string,\r\n cycle: number,\r\n balance: number,\r\n due_tax: IDCMntryPymtDueTax,\r\n payment: IDCMntryPymtPymt,\r\n interest: IDCMntryPymtPymt,\r\n principal: IDCMntryPymtPymt,\r\n payment_tax: IDCMntryPymtPymt,\r\n interest_tax: IDCMntryPymtPymt,\r\n final_balance: number,\r\n payment_total: IDCMntryPymtPymt,\r\n principal_tax: IDCMntryPymtPymt\r\n}\r\n\r\nexport interface IDCMntryPymt {\r\n all: IDCMntryPymtAll,\r\n due: IDCMntryPymtDue,\r\n open: IDCMntryPymtOpen,\r\n paid: IDCMntryPymtPaid,\r\n payment_calendar: IDCMntryPymtCal[]\r\n}\r\n\r\nexport interface IDCClient {\r\n id: number,\r\n company: number,\r\n status: string,\r\n external_id: string,\r\n pii: IDCDataPii,\r\n client_type: number,\r\n created_at: string,\r\n pd: number,\r\n username: string,\r\n group: number\r\n}\r\n\r\nexport interface IDCMsg {\r\n code: number,\r\n total: number,\r\n data: IDCClient[] | IDCAccount[] | IDCTxn[] | IDCTxn | IDCMntryPymt | IDCCredit[] | IDCTransaction[],\r\n transaction?: string\r\n}\r\n\r\nexport interface IDynamiCore {\r\n status: string,\r\n message: IDCMsg\r\n}\r\n\r\n/**\r\n * Interfaces for request (base)\r\n * */\r\nexport interface IDCClientObjFilter {\r\n name: string,\r\n filter: string[] | number[],\r\n type: string,\r\n sort: string\r\n}\r\n\r\nexport interface IDCClientQuery {\r\n filters: IDCClientObjFilter[];\r\n}\r\n\r\nexport interface IDCClientPiiFilter {\r\n limit: number,\r\n page: number,\r\n query: IDCClientQuery\r\n}\r\n\r\n/**\r\n * DynamiCore Reference Interface\r\n * */\r\n\r\nexport interface IDCRefCustInfo {\r\n name: string,\r\n email: string,\r\n phone: string | number\r\n}\r\n\r\nexport interface IDCOxxoRefItem {\r\n name: string,\r\n unit_price: number,\r\n quantity: number\r\n}\r\n\r\nexport interface IDCOxxoRefPymtMth {\r\n type: string;\r\n}\r\n\r\nexport interface IDCOxxoRef {\r\n account: number,\r\n operation: number,\r\n customer_info: IDCRefCustInfo,\r\n items: IDCOxxoRefItem,\r\n payment_method: IDCOxxoRefPymtMth\r\n}\r\n\r\n/**\r\n * DynamiCore Reference\r\n * */\r\nexport interface IDCRefCustInfo {\r\n name: string,\r\n email: string,\r\n phone: string | number\r\n}\r\n\r\nexport interface IDCRefItems {\r\n name: string,\r\n unit_price: number,\r\n quantity: number\r\n}\r\n\r\nexport interface IDCRefPymtMethod {\r\n type: string;\r\n}\r\n\r\nexport interface IDCNewReference {\r\n id: string,\r\n data: IDCReference,\r\n date?: number\r\n}\r\n\r\nexport interface IDCReference {\r\n account: number,\r\n operation: number,\r\n customer_info: IDCRefCustInfo,\r\n items: IDCRefItems,\r\n payment_method: IDCRefPymtMethod\r\n}\r\n\r\n/**\r\n * Interfaces to Credits\r\n * */\r\nexport interface IDCCreditProperties {\r\n start_date: string;\r\n principal_disbursed: number;\r\n expected_disbursed: number;\r\n amount_commission_opening: number;\r\n}\r\n\r\nexport interface IDCCreditConfig {\r\n contract: string;\r\n credit_type: string;\r\n interest_rate: number;\r\n installments: number;\r\n periodicity: string;\r\n interest_base: string;\r\n commission_opening: number;\r\n financed_amount: number;\r\n interest_arrears: number;\r\n}\r\n\r\nexport interface IDCCredit {\r\n id: number;\r\n group: number;\r\n company: number;\r\n client: number;\r\n created_at: string;\r\n currency: string;\r\n status: string;\r\n properties: IDCCreditProperties;\r\n product: number;\r\n enabled: string;\r\n config: IDCCreditConfig;\r\n amount: number;\r\n type: string;\r\n identifier: null | string;\r\n start_at: null | string;\r\n}\r\n\r\n/**\r\n * Payments\r\n * */\r\nexport interface IDCPayment {\r\n operation: number;\r\n account: string;\r\n date: string;\r\n amount: number;\r\n external_id?: string;\r\n dst_account: string;\r\n extras?: object;\r\n reference: string;\r\n}\r\n\r\nexport const cIDCPayment: IDCPayment = {\r\n operation: 98,\r\n account: \"\",\r\n date: \"\",\r\n amount: 0,\r\n dst_account: \"\",\r\n reference: \"\"\r\n}\r\n\r\n/**\r\n * Transactions\r\n * */\r\nexport interface IDCTransaction {\r\n data: [number, { transaction: string }];\r\n}\r\n\r\nexport const cIDCCharge: IDCCharge = {\r\n barcode_url: \"\",\r\n currency: \"\",\r\n expires_at: 0,\r\n object: \"\",\r\n quantity: 0,\r\n reference: \"\",\r\n service_name: \"\",\r\n store_name: \"\",\r\n type: \"\",\r\n unit_price: 0\r\n}\r\n\r\nexport const cIDCGeneratedReference: IDCGeneratedReference = {\r\n account: 0,\r\n active: 0,\r\n amount: 0,\r\n channel: \"\",\r\n charge: cIDCCharge,\r\n company: 0,\r\n id: \"\",\r\n operation: 0\r\n}\r\n\r\n/**\r\n * Common Factory Dynamic\r\n * */\r\nexport class FactoryDynamiCore {\r\n\r\n public static CreateReferenceBody(\r\n client: oClient,\r\n contract: oContract,\r\n dateTime?: number\r\n ): IDCNewReference | null {\r\n\r\n const customerInfo: IDCRefCustInfo = {\r\n name: client.name,\r\n email: client.email,\r\n phone: client.phone,\r\n }\r\n\r\n const customerItems: IDCRefItems = {\r\n name: \"Referencia Oxxo\",\r\n unit_price: contract.financial.weeklyPayment,\r\n quantity: 1\r\n }\r\n\r\n const paymentMethod: IDCRefPymtMethod = {\r\n type: \"oxxo_cash\"\r\n }\r\n\r\n if (!client.dynamic_account) return null\r\n\r\n const body: IDCNewReference = {\r\n id: client.id,\r\n data: {\r\n account: Number(client.dynamic_account),\r\n operation: 98,\r\n customer_info: customerInfo,\r\n items: customerItems,\r\n payment_method: paymentMethod\r\n }\r\n }\r\n\r\n if (dateTime != undefined) body.date = dateTime\r\n\r\n return body\r\n }\r\n\r\n public static CreateEmptyCustomer(): partialIDCData {\r\n return cIDCCustomer\r\n }\r\n\r\n public static CreateCustomerFromOClient(client: oClient, contract: oContract): partialIDCData {\r\n const o: partialIDCData = cIDCCustomer\r\n\r\n o.pii.email = client.email\r\n o.pii.name = client.name\r\n o.pii.curp = client.curp\r\n o.pii.phone = client.phone\r\n o.pii.amount = String(contract.financial.total)\r\n o.pii.financed = String(contract.financial.financed)\r\n o.pii.amount_by_period = String(contract.financial.weeklyPayment)\r\n\r\n o.pii.zipcode = contract.address.zip\r\n o.pii.street = contract.address.street\r\n o.pii.city = contract.address.city\r\n o.pii.state = contract.address.state\r\n o.pii.colony = contract.address.neighbor\r\n o.pii.num_ext = contract.address.ext\r\n\r\n return o\r\n }\r\n\r\n public static CreateDynamicCredit(\r\n client: oClient,\r\n contract: oContract,\r\n clientDynamic: IDCClient,\r\n ): Partial<IDCCredit> | null {\r\n const properties: IDCCreditProperties = {\r\n start_date: \"\",\r\n principal_disbursed: 0,\r\n expected_disbursed: 0,\r\n amount_commission_opening: 0\r\n }\r\n\r\n const config: IDCCreditConfig = {\r\n contract: `FP-${client.name}`,\r\n credit_type: \"Arrendamiento\",\r\n interest_rate: 528,\r\n installments: 0,\r\n periodicity: \"WEEK\",\r\n interest_base: \"ACT/ACT\",\r\n commission_opening: 40,\r\n financed_amount: contract.financial.financed,\r\n interest_arrears: 0\r\n }\r\n\r\n if (!client.dynamic_account) return null\r\n\r\n return {\r\n id: Number(client.dynamic_account),\r\n group: clientDynamic.group,\r\n company: clientDynamic.company,\r\n client: clientDynamic.id,\r\n created_at: \"\",\r\n currency: \"484\",\r\n status: \"pending\",\r\n properties: properties,\r\n product: 1756,\r\n enabled: \"1\",\r\n config: config,\r\n amount: 0,\r\n type: \"liabilities\",\r\n identifier: null,\r\n start_at: null\r\n }\r\n }\r\n\r\n public static CreatePayment(\r\n contract: oContract,\r\n clientDynamic: IDCAccount,\r\n ): IDCPayment {\r\n return {\r\n account: String(clientDynamic.id),\r\n amount: contract.financial.weeklyPayment,\r\n date: \"\",\r\n dst_account: String(clientDynamic.id),\r\n external_id: \"\",\r\n extras: {},\r\n operation: 98,\r\n reference: \"\"\r\n }\r\n }\r\n\r\n public static getNextDateTime(): string {\r\n const now = new Date();\r\n const nextDateTime = new Date(now.getTime() + 1000); // Add 1 second as an example\r\n\r\n const year = nextDateTime.getFullYear();\r\n const month = String(nextDateTime.getMonth() + 1).padStart(2, '0');\r\n const day = String(nextDateTime.getDate()).padStart(2, '0');\r\n const hours = String(nextDateTime.getHours()).padStart(2, '0');\r\n const minutes = String(nextDateTime.getMinutes()).padStart(2, '0');\r\n const seconds = String(nextDateTime.getSeconds()).padStart(2, '0');\r\n\r\n return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}`;\r\n }\r\n\r\n public static getIsoDate(): string {\r\n const now = new Date();\r\n return now.toISOString();\r\n }\r\n\r\n public static FormPayment(\r\n contract: oContract,\r\n account: IDCAccount) {\r\n\r\n let data = FactoryDynamiCore.CreatePayment(contract, account)\r\n\r\n return {\r\n amount: new UntypedFormControl(data.amount, [Validators.required, Validators.min(0)]),\r\n }\r\n }\r\n}\r\n","import {oContract} from '../objects/oContract';\r\nimport {oClient} from '../objects/oClient';\r\nimport {\r\n oConektaMixOrder,\r\n oConektaNewOrder, oConektaNewOrderAntifraudInfo,\r\n oConektaNewOrderCharge,\r\n oConektaNewOrderCustomerInfo, oConektaNewOrderLineItem,\r\n oConektaNewOrderPymMethod, oConektaOrder, oConektaOrderCreate\r\n} from '../objects/oConekta';\r\n\r\nexport enum ePaymentType {\r\n OXXO = \"OXXO\",\r\n ALTERNA = \"ALTERNA\",\r\n OXXO_RECURRENT = 'oxxo_recurrent'\r\n}\r\n\r\nexport class FactoryConekta {\r\n public static createOrder(\r\n client: oClient,\r\n contract: oContract,\r\n dateTime?: number\r\n ): oConektaNewOrder {\r\n\r\n if (client.conekta_id == undefined) return {\r\n data: {\r\n charges: [],\r\n currency: \"\",\r\n customer_info: {customer_id: \"\"},\r\n line_items: []\r\n },\r\n id: \"\"\r\n }\r\n\r\n const customer_info: oConektaNewOrderCustomerInfo = {\r\n customer_id: client.conekta_id\r\n }\r\n const week = ((3600 * 24) * 30) * 1000\r\n let next = new Date().getTime() + week\r\n next = Math.floor(next / 1000)\r\n\r\n const method: oConektaNewOrderPymMethod = {\r\n type: \"cash\",\r\n expires_at: next,\r\n }\r\n const charge: oConektaNewOrderCharge = {\r\n amount: contract.financial.weeklyPayment * 100,\r\n payment_method: method\r\n }\r\n const charges = [charge]\r\n\r\n const antifraud_info: oConektaNewOrderAntifraudInfo = {\r\n newKey: \"Key\"\r\n }\r\n\r\n const lineItem: oConektaNewOrderLineItem = {\r\n antifraud_info: antifraud_info,\r\n name: `Referencia credito ${client.name}`,\r\n quantity: 1,\r\n unit_price: contract.financial.weeklyPayment * 100,\r\n }\r\n\r\n const lineItems: oConektaNewOrderLineItem[] = [lineItem]\r\n\r\n const orderData: oConektaOrderCreate = {\r\n customer_info: customer_info,\r\n charges: charges,\r\n currency: \"MXN\",\r\n line_items: lineItems\r\n }\r\n\r\n const order: oConektaNewOrder = {\r\n data: orderData,\r\n id: client.id\r\n }\r\n\r\n if (dateTime != undefined) order.date = dateTime\r\n\r\n return order\r\n }\r\n}\r\n\r\n// '\r\n// {\r\n// \"customer_info\": {\r\n// \"name\": \"DevTest\",\r\n// \"email\": \"test@femsa.com\",\r\n// \"phone\": \"5522997233\"\r\n// },\r\n// \"currency\": \"MXN\",\r\n// \"line_items\": [\r\n// {\r\n// \"name\": \"Box of Cohiba S1s\",\r\n// \"quantity\": 1,\r\n// \"unit_price\": 20000\r\n// }\r\n// ]\r\n// }\r\n// '\r\n","import {cNotification, oNotification} from '../objects/oNotification';\r\nimport {UntypedFormControl, Validators} from '@angular/forms';\r\n\r\nexport const ROUTE_NOTIFICATIONS = \"notifications\"\r\nexport const ROUTE_GLOBAL_REFERENCE2 = \"/contract-reference\"\r\n\r\nconst prodFunction = \"https://us-central1-ravcredit-2b079.cloudfunctions.net/CustomerNotification\"\r\nconst prodFunction2 = \"https://customernotification-2imgfxveka-uc.a.run.app\"\r\nconst localTest = \"http://127.0.0.1:5001/ravcredit-2b079/us-central1/CustomerNotification\"\r\nexport const ravCreditFunctions = prodFunction\r\n\r\nexport class FactoryNotification {\r\n\r\n public static FormNotification(notification?: oNotification) {\r\n let data = cNotification\r\n\r\n if (notification) data = notification\r\n\r\n return {\r\n title: new UntypedFormControl(data.notification.title, [Validators.required, Validators.min(1)]),\r\n body: new UntypedFormControl(data.notification.body, [Validators.required, Validators.min(1)]),\r\n }\r\n }\r\n\r\n public static CreateGlobalNotificationObj(data: oNotification) {\r\n const o: any = {}\r\n\r\n if (data.notification) {\r\n const not: any = {}\r\n if (data.notification.body) not[\"body\"] = data.notification.body\r\n if (data.notification.title) not[\"title\"] = data.notification.title\r\n\r\n if (data.ids) not[\"ids\"] = data.ids\r\n\r\n if (data.tokens) not[\"tokens\"] = data.tokens\r\n\r\n if (data.type) not[\"type\"] = data.type\r\n\r\n if (data.data) if (data.data.route) not[\"route\"] = data.data.route\r\n\r\n o[\"data\"] = not\r\n }\r\n return o\r\n }\r\n\r\n}\r\n","export const keyUserID: string = \"rc_uid\"\r\nexport const dbVersion: number = 1\r\nexport const dbName: string = \"RavCreditDB\"\r\nexport const keyPathId: string = \"id\"\r\n\r\nexport const dbAuthStore: string = \"authStore\"\r\nexport const dbUsersStore: string = \"usersStore\"\r\nexport const dbContractsStore: string = \"contractsStore\"\r\nexport const dbClientsStore: string = \"clientsStore\"\r\nexport const dbBusinessInfo: string = \"businessInfo\"\r\nexport const dbBusinessConfig: string = \"businessConfig\"\r\nexport const dbConektaClientsStore: string = \"conektaClientsStore\"\r\nexport const dbConektaReferencesStore: string = \"conektaReferencesStore\"\r\nexport const dbConektaSpeiStore: string = \"conektaSpeiStore\"\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 dateFormatSimple = \"EEEEEE, dd MMM yyyy\"\r\nexport const dateCompleteFormat = \"EEEE, dd MMM yyyy hh:mm aaaa\"\r\nexport const timeFormat = \"hh:mm aaaa\"\r\nexport const TIME_FORMAT_TABLE = \"iii, dd MMM yyyy\"\r\nexport const timeFormatTable = \"iii, dd MMM yyyy\"\r\n\r\nexport const expiredPayment = \"expiredPayment\"\r\n\r\nexport const ROLES_KEY = 'roles';\r\n","import { Injectable } from '@angular/core';\r\nimport { oUser } from '../objects/oUser';\r\nimport {IDBPDatabase, openDB} from 'idb';\r\nimport {\r\n dbAuthStore, dbBusinessConfig, dbBusinessInfo,\r\n dbClientsStore,\r\n dbConektaClientsStore, dbConektaReferencesStore,\r\n dbContractsStore, dbDynamicReferencesStore,\r\n dbName, dbNotificationsStore, dbPassportReferencesStore,\r\n dbVersion,\r\n keyPathId,\r\n keyUserID\r\n} from '../const/constants';\r\nimport {oClient} from '../objects/oClient';\r\nimport {oContract} from '../objects/oContract';\r\nimport {eProvider} from '../util/UtilContract';\r\nimport {oBusinessConfig, oBusinessInfo} from '../objects/oBusiness';\r\nimport {oNotification} from '../objects/oNotification';\r\nimport { tyClientContract } from \"../../v2/objects/oUtil\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IndexedDbService {\r\n\r\n indexDbStatus = false\r\n iDb!: IDBPDatabase<unknown>\r\n\r\n constructor() {\r\n }\r\n\r\n // async dbAuthorization() {\r\n // // constant k = this.getLocalUser()\r\n // // if (k == null) return false\r\n // //\r\n // // constant db = await openDB(dbName, dbVersion)\r\n // // // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n // // constant auth = await db.get(dbAuthStore, k)\r\n // // // utils auth = await store.get(k)\r\n // // db.close()\r\n //\r\n // let auth: any = null\r\n // return auth;\r\n //\r\n // }\r\n\r\n /****************** SIMPLE Transactional - CRUD *************************************/\r\n\r\n async dbGetObject<T>(store: string, data: any): Promise<T> {\r\n if (!data) return data\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.get(store, data) as T\r\n }\r\n\r\n async dbGetAllByStore<T>(store: string, index?: string) {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.getAll(store) as T\r\n }\r\n\r\n async dbAddObject<T>(store: string, data: any): Promise<boolean> {\r\n try {\r\n const db = await openDB(dbName, dbVersion)\r\n await db.put(store, data)\r\n return true\r\n } catch (e) {\r\n return false\r\n }\r\n }\r\n\r\n async dbRemoveObject<T>(store: string, data: any): Promise<T> {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.delete(store, data) as T\r\n }\r\n\r\n /************************************* AUTH **************************************/\r\n\r\n async dbSignIn(store: string, data: any) {\r\n await this.iDb.put(store, data)\r\n const _data = data as oUser\r\n this.setLocalStorage(keyUserID, _data.id)\r\n }\r\n\r\n async dbSignOut() {\r\n\r\n const k = this.getLocalUser()\r\n if (!k) return\r\n\r\n await this.iDb.delete(dbAuthStore, k)\r\n this.removeLocalStorage(keyUserID)\r\n }\r\n\r\n async dbAuthorization() {\r\n const k = this.getLocalUser()\r\n if (k == null) return false\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n const auth = await db.get(dbAuthStore, k)\r\n // utils auth = await store.get(k)\r\n db.close()\r\n\r\n if (!auth) return false\r\n else return true\r\n }\r\n\r\n async dbGetToken() {\r\n const k = this.getLocalUser()\r\n if (k == null) return \"\"\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n const auth = await db.get(dbAuthStore, k) as oUser\r\n // utils auth = await store.get(k)\r\n\r\n db.close()\r\n return auth.access_token != \"\" ? auth.access_token : \"\"\r\n }\r\n\r\n /******************************** Local Storage *************************************/\r\n\r\n setLocalStorage(k: string, v: string) {\r\n localStorage.setItem(k, v)\r\n }\r\n\r\n getLocalStorage<T>(k: string) {\r\n return localStorage.getItem(k) as T\r\n }\r\n\r\n removeLocalStorage(k: string) {\r\n return localStorage.removeItem(k)\r\n }\r\n\r\n getLocalUser(): string | null {\r\n const k = localStorage.getItem(keyUserID)\r\n return (k)\r\n }\r\n\r\n /********************************************************************************* **/\r\n\r\n async getPlatformUser() {\r\n const k = this.getLocalStorage<string>(keyUserID) as string\r\n if (k == null) return \"\"\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n const auth = await db.get(dbAuthStore, k) as oUser\r\n // utils auth = await store.get(k)\r\n\r\n db.close()\r\n return auth.name != \"\" ? auth.name : \"\"\r\n }\r\n\r\n async getToken() {\r\n const k = this.getLocalUser()\r\n if (k == null) return \"\"\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n const auth = await db.get(dbAuthStore, k) as oUser\r\n // utils auth = await store.get(k)\r\n\r\n db.close()\r\n return auth.access_token != \"\" ? auth.access_token : \"\"\r\n }\r\n\r\n async addObject<T>(store: string, data: any): Promise<boolean> {\r\n try {\r\n const db = await openDB(dbName, dbVersion)\r\n await db.put(store, data)\r\n return true\r\n } catch (e) {\r\n return false\r\n }\r\n }\r\n\r\n async patchObject<T>(store: string, data: any): Promise<T> {\r\n try {\r\n const db = await openDB(dbName, dbVersion)\r\n const txn = db.transaction(store, \"readwrite\")\r\n const obj = txn.objectStore(store)\r\n // constant index = obj.index(keyPathCurp)\r\n await obj.put(data)\r\n return data as T\r\n } catch (e) {\r\n console.error(e)\r\n return {} as T\r\n }\r\n }\r\n\r\n async updateObjectByID<T>(store: string, id: string, data: T): Promise<boolean> {\r\n try {\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n const res = await db.get(store, id) as oClient\r\n\r\n if (res != undefined) await this.removeObject(dbClientsStore, id)\r\n\r\n return await this.addObject(store, data)\r\n\r\n } catch (e) {\r\n console.error(\"updateObjectByID Catch Error:\", e)\r\n return false\r\n }\r\n }\r\n\r\n async upsertObjectById<T>(store: string, id: string, data: T) {\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n const res = await db.get(store, id)\r\n\r\n if (res) await this.removeObject<T>(store, id)\r\n\r\n return await db.add(store, data)\r\n }\r\n\r\n async removeObject<T>(store: string, data: any): Promise<T> {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.delete(store, data) as T\r\n }\r\n\r\n async deleteObjectByID<T>(store: string, id: string) {\r\n try {\r\n const db = await openDB(dbName, dbVersion)\r\n const txn = db.transaction(store, \"readwrite\")\r\n const obj = txn.objectStore(store)\r\n const index = obj.index(keyPathId)\r\n const va2 = index.openCursor(id)\r\n va2.then(async cursor => {\r\n while (cursor) {\r\n cursor.delete();\r\n cursor = await cursor.continue();\r\n }\r\n })\r\n return va2\r\n } catch (e) {\r\n console.error(e)\r\n return {} as T\r\n }\r\n }\r\n\r\n async cleanAll<T>(store: string) {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.clear(store)\r\n }\r\n\r\n async getObject<T>(store: string, data: any): Promise<T> {\r\n if (!data) return data\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.get(store, data) as T\r\n }\r\n\r\n async addBuildByStore(store: string, data: any[]) {\r\n for (const o of data) {\r\n const exists = await this.getObject(store, o[\"id\"])\r\n if (!exists) await this.addObject(store, o)\r\n else await this.updateObject(store, o)\r\n }\r\n }\r\n\r\n async updateObject<T>(store: string, data: any) {\r\n const db = await openDB(dbName, dbVersion)\r\n await db.put(store, data)\r\n }\r\n\r\n async getAllByStore<T>(store: string, index?: string) {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.getAll(store) as T\r\n }\r\n\r\n async getAuthUser() {\r\n const data = await this.getAllByStore<oUser[]>(dbAuthStore)\r\n return data[0]\r\n }\r\n\r\n async getAuthName() {\r\n const data = await this.getAuthUser()\r\n return data.name\r\n }\r\n\r\n async getAuthUsername() {\r\n const data = await this.getAuthUser()\r\n return data.username\r\n }\r\n\r\n async saveDataLocally<T>(\r\n contract: oContract,\r\n client: oClient,\r\n providerData: T,\r\n ): Promise<boolean> {\r\n try {\r\n await this.addObject(dbClientsStore, client)\r\n await this.addObject(dbContractsStore, contract)\r\n\r\n if (!providerData) return false\r\n\r\n if (contract.financial.provider === eProvider.Conekta) {\r\n await this.addObject(dbConektaClientsStore, providerData)\r\n await this.addObject(dbConektaReferencesStore, providerData)\r\n } else if (contract.financial.provider === eProvider.Passport) {\r\n await this.addObject(dbPassportReferencesStore, providerData)\r\n } else if (contract.financial.provider === eProvider.DynamiCore) {\r\n await this.addObject(dbDynamicReferencesStore, providerData)\r\n }\r\n return true\r\n } catch (e) {\r\n console.error(e)\r\n return false\r\n }\r\n }\r\n\r\n /******************** MERGE **************************************/\r\n async getAllClientContracts(): Promise<tyClientContract[]> {\r\n const clientContract: tyClientContract[] = []\r\n const clients = await this.getAllByStore<oClient[]>(dbClientsStore)\r\n if (clients.length == 0) return []\r\n\r\n for (let client of clients) {\r\n const contract = await this.getObject<oContract>(dbContractsStore, client.contract)\r\n const e = {...client, ...contract}\r\n // preserve the id value over concat models\r\n e.id = client.id\r\n e.status = client.status\r\n clientContract.push(e)\r\n }\r\n return clientContract\r\n }\r\n\r\n /******************** MERGE **************************************/\r\n\r\n async dbGetAllClientContracts(): Promise<tyClientContract[]> {\r\n const clientContract: tyClientContract[] = []\r\n const clients = await this.dbGetAllByStore<oClient[]>(dbClientsStore)\r\n if (clients.length == 0) return []\r\n\r\n for (let client of clients) {\r\n const contract = await this.dbGetObject<oContract>(dbContractsStore, client.contract)\r\n const e = {...client, ...contract}\r\n // preserve the id value over concat models\r\n e.id = client.id\r\n e.status = client.status\r\n clientContract.push(e)\r\n }\r\n return clientContract\r\n }\r\n\r\n /****************** BUSINESS INFO *************************************/\r\n\r\n async getBusinessInfo(): Promise<oBusinessInfo | null> {\r\n const config: oBusinessInfo[] = await this.dbGetAllByStore<oBusinessInfo[]>(dbBusinessInfo)\r\n\r\n if (!config) return null\r\n\r\n return config[0]\r\n }\r\n\r\n /****************** BUSINESS CONFIG ************************************/\r\n\r\n async getBusinessConfig(): Promise<oBusinessConfig | null> {\r\n const config: oBusinessConfig[] = await this.dbGetAllByStore<oBusinessConfig[]>(dbBusinessConfig)\r\n\r\n if (!config) return null\r\n\r\n return config[0]\r\n }\r\n\r\n async updateBusinessConfig(config: oBusinessConfig) {\r\n\r\n // config.version = \"1.0\"\r\n await this.dbRemoveObject(dbBusinessConfig, \"1.0\")\r\n await this.dbAddObject(dbBusinessConfig, config)\r\n }\r\n\r\n async updateBusinessInfo(config: oBusinessInfo) {\r\n\r\n config.version = \"v2024\"\r\n await this.dbRemoveObject(dbBusinessInfo, \"v2024\")\r\n await this.dbAddObject(dbBusinessInfo, config)\r\n }\r\n\r\n /**************** NOTIFICATIONS *********************************/\r\n\r\n async getLocalNotifications(): Promise<oNotification[] | null> {\r\n const notifications: oNotification[] = await this.dbGetAllByStore<oNotification[]>(dbNotificationsStore)\r\n if (!notifications) return null\r\n return notifications\r\n }\r\n\r\n async updateNotifications(notifications: oNotification[]) {\r\n for (const o of notifications) {\r\n const exists = await this.dbGetObject(dbNotificationsStore, o.notification_id)\r\n if (!exists) {\r\n await this.dbAddObject(dbNotificationsStore, o)\r\n }\r\n }\r\n }\r\n}\r\n","import {add, format, getDate} from \"date-fns\";\r\nimport {es} from 'date-fns/locale/es';\r\nimport {eProvider} from './UtilContract';\r\nimport {inject, Injector, runInInjectionContext} from '@angular/core';\r\nimport {IDCTxnRow} from './UtilDynamiCore';\r\nimport {oConektaOrder} from '../objects/oConekta';\r\nimport {dateCompleteFormat, dateFormat, expiredPayment, timeFormat} from '../const/constants';\r\nimport {IndexedDbService} from '../idb/indexed-db.service';\r\nimport { oPaymentDates } from \"../../v2/objects/oUtil\";\r\n\r\nexport class UtilTime {\r\n private localeFns = es\r\n\r\n public static IsExpired(time: number): boolean {\r\n const dateInit = new Date(time)\r\n const dayInit = dateInit.getDate()\r\n const monthInit = dateInit.getMonth() + 1\r\n\r\n const dateActual = new Date()\r\n const dayActual = dateActual.getDate()\r\n const monthActual = dateActual.getMonth() + 1\r\n\r\n if (monthActual > monthInit) return true\r\n\r\n return dayActual > dayInit;\r\n }\r\n\r\n public static getDates(initial: number, weeks: number): oPaymentDates[] {\r\n const dates: oPaymentDates[] = []\r\n let prev = initial\r\n for (let i = 0; i < weeks; i++) {\r\n const date = add(prev, {weeks: 1})\r\n dates.push(\r\n {\r\n week: i + 1,\r\n date: date.getTime()\r\n }\r\n )\r\n prev = date.getTime()\r\n }\r\n return dates\r\n }\r\n\r\n public static getPreviousWeek() {\r\n const today = new Date().getTime()\r\n const week = ((3600 * 24) * 7) * 1000\r\n return today - week\r\n }\r\n\r\n public static getDayNum(date: Date | number): number {\r\n return getDate(date)\r\n }\r\n\r\n public static getDayName(date: Date | number): string {\r\n return format(date, \"EEEE\", {locale: es})\r\n }\r\n\r\n public static getMonthName(date: Date | number): string {\r\n return format(date, \"MMMM\", {locale: es}).toUpperCase();\r\n }\r\n\r\n public static getYear(date: Date | number): string {\r\n return format(date, \"yyyy\")\r\n }\r\n\r\n public static GetNextPayment(time: number, provider: string) {\r\n let week = 0\r\n if (provider == eProvider.Conekta) {\r\n week = (((3600 * 24) * 7))\r\n } else if (provider == eProvider.DynamiCore) {\r\n week = (((3600 * 24) * 7) * 1000)\r\n }\r\n return this.getLocalTimeFromLong(time + week, provider)\r\n }\r\n\r\n public static getLocalTimeFromLong(time: number, provider: string) {\r\n if (time <= 0) return \"\"\r\n let factor = this.GetFactor(provider)\r\n let dateTime = time * factor\r\n let parsedDate = format(new Date(dateTime), dateFormat, {\r\n locale: es\r\n })\r\n return parsedDate\r\n }\r\n\r\n public static DelayPaymentLast(\r\n lastPayment: number, provider: string, injector: Injector\r\n ): boolean {\r\n let factor = this.GetFactor(provider)\r\n let now = new Date().getTime()\r\n let last = 0\r\n\r\n if (provider == eProvider.Conekta)\r\n last = ((((3600 * 24) * 7)) + lastPayment) * factor\r\n else if (provider == eProvider.DynamiCore)\r\n last = ((((3600 * 24) * 7) * 1000) + lastPayment) * factor\r\n\r\n runInInjectionContext(injector, () => {\r\n const idb = inject(IndexedDbService)\r\n // constant observable = inject(ObservablesService)\r\n idb.setLocalStorage(expiredPayment, String(now > last))\r\n // observable.isLate.next(now > last)\r\n })\r\n return now > last\r\n }\r\n\r\n public static GetFactor(provider: string) {\r\n let factor = 1\r\n if (provider == eProvider.Conekta)\r\n factor = 1000\r\n return factor\r\n }\r\n\r\n public static GetEpochFromFormatedDate(date: string): number {\r\n if (date == \"\") return 0\r\n\r\n const _date = new Date(date)\r\n if (isNaN(_date.getTime())) return 0\r\n return _date.getTime()\r\n }\r\n\r\n public static GetTimeFromString(date: string) {\r\n return format(new Date(date), timeFormat, {\r\n locale: es\r\n })\r\n }\r\n\r\n public static GetDateFromString(date: string) {\r\n return format(new Date(date), dateCompleteFormat, {\r\n locale: es\r\n })\r\n }\r\n\r\n // Quick sort\r\n public static SortingByTime(payments: IDCTxnRow[]): IDCTxnRow[] {\r\n if (payments.length <= 1) return payments\r\n\r\n const pivot = payments[payments.length - 1]\r\n const pivotDate = new Date(pivot.created).getTime()\r\n const left: IDCTxnRow[] = []\r\n const right: IDCTxnRow[] = []\r\n\r\n for (let i = 0; i < payments.length - 1; i++) {\r\n const actualDate = new Date(payments[i].created).getTime()\r\n if (actualDate > pivotDate) left.push(payments[i])\r\n else right.push(payments[i])\r\n }\r\n\r\n return [...this.SortingByTime(left), pivot, ...this.SortingByTime(right)]\r\n }\r\n\r\n public static SortingByTimeConekta(payments: oConektaOrder []): oConektaOrder[] {\r\n if (payments.length <= 1) return payments;\r\n\r\n const pivot = payments[payments.length - 1]\r\n let pivotDate = 0;\r\n if (pivot.charges.data == undefined) return payments\r\n\r\n if (pivot.charges.data[0].paid_at != undefined) {\r\n pivotDate = pivot.charges.data[0].paid_at\r\n } else {\r\n pivot.charges.data[0].created_at\r\n }\r\n\r\n if (pivotDate <= 0) return payments;\r\n\r\n const left: oConektaOrder[] = []\r\n const right: oConektaOrder [] = []\r\n\r\n for (let i = 0; i < payments.length - 1; i++) {\r\n const actual = payments[i].charges.data[0].paid_at;\r\n if (actual <= 0) continue\r\n if (actual > pivotDate) left.push(payments[i])\r\n else right.push(payments[i])\r\n }\r\n\r\n return [...this.SortingByTimeConekta(left), pivot, ...this.SortingByTimeConekta(right)]\r\n }\r\n}\r\n","import {oContractMetrics} from '../../v2/objects/oUtil';\n\nexport const cContractMetrics: oContractMetrics = {\n total: 0,\n activated: 0,\n paused: 0,\n completed: 0,\n canceled: 0,\n late: 0,\n conektaCount: 0,\n dynamicCount: 0,\n passportCount: 0,\n rateTotal: 0,\n rateActive: 0,\n ratePaused: 0,\n rateComplete: 0,\n rateCanceled: 0,\n rateLate: 0\n}\n","export enum ePassportTypes {\r\n CREATE = \"create_references\",\r\n SEND = \"send_references\"\r\n}\r\n","import {oContract} from '../objects/oContract';\r\nimport {oClient} from '../objects/oClient';\r\nimport {iGlobalPassport} from '../objects/oPassport';\r\nimport {ePassportTypes} from '../../v2/enum/EnumPassport';\r\n\r\nexport class FactoryPassport {\r\n public static CreatePassportReference(\r\n client: oClient,\r\n contract: oContract,\r\n dateTime?: number\r\n ): iGlobalPassport {\r\n const o = {\r\n passport: {\r\n type: ePassportTypes.CREATE,\r\n data: {\r\n name: client.name,\r\n email: client.email,\r\n amount: contract.financial.weeklyPayment,\r\n expirationDate: \"\",\r\n additional: {\r\n client: client.name,\r\n clientID: client.id,\r\n credit: client.status\r\n }\r\n }\r\n },\r\n contract: contract,\r\n date: dateTime\r\n }\r\n if (dateTime != undefined) o.date = dateTime\r\n return o\r\n }\r\n}\r\n","import {oConektaRes} from '../objects/oConekta';\r\nimport {IDCTxnRow} from './UtilDynamiCore';\r\nimport {eProvider} from './UtilContract';\r\n\r\nexport interface oPaymentGlobal {\r\n conektaPayment?: oConektaRes,\r\n dynamicPayment?: IDCTxnRow[],\r\n}\r\n\r\nexport class FactoryPayment {\r\n public static CreatePayment(data: oConektaRes | IDCTxnRow[], provider: eProvider): oPaymentGlobal {\r\n const o: oPaymentGlobal = {}\r\n\r\n if (provider == eProvider.DynamiCore)\r\n o.dynamicPayment = data as IDCTxnRow[];\r\n\r\n if (provider == eProvider.Conekta)\r\n o.conektaPayment = data as oConektaRes\r\n\r\n return o\r\n }\r\n}\r\n","export class UtilGeneral {\r\n\r\n public static cleanUsername(password: string): string {\r\n if (password.includes(\"+\") || password.length > 10) {\r\n let len = 10 // standard Mexico phone length\r\n let pLen = password.length - 1\r\n let _password: string[] = []\r\n\r\n for (let i = len; i > 0; i--) {\r\n _password.push(password[pLen])\r\n pLen--\r\n }\r\n\r\n return _password.reverse().join(\"\")\r\n }\r\n\r\n return password\r\n }\r\n\r\n}\r\n","export const ErrorMessages = {\r\n NotFound: \"Recurso no encontrado\",\r\n Unauthorized: \"Request without(or not valid) token\",\r\n RandomError: \"Something goes wrong, try again -> \",\r\n RandomErrorFirestore: \"Something goes wrong in firestore\",\r\n CreateUser: \"Error: Something goes wrong\",\r\n CreateFoundedUser: \"Error: User already exists try with another username\",\r\n FindAllNotFound: \"Not users found\",\r\n UserFindOne: \"User with given ID not found\",\r\n UserFindOneError: \"Error getting user by ID\",\r\n UserUpdate: \"Error updating user by ID\",\r\n DeleteUser: \"Error deleting user\",\r\n UsernameNotFound: \"User with given username not found\",\r\n IncorrectPassword: \"Incorrect or not valid password\",\r\n LastLogIn: \"Last LogIn date not updated\",\r\n authError: \"Username or password incorrect\",\r\n tokenRequired: \"Token required\",\r\n ClientDefined: \"This user already registered: Update user's contracts instead\",\r\n ClientsNotFound: \"List of clients is empty\",\r\n ClientNotFound: \"Client with given ID, not found\",\r\n ClientNotUpdated: \"Client with given ID, not updated\",\r\n DeleteClient: \"Error deleting client\",\r\n UsernameClientNotFound: \"Client with given username not found\",\r\n ContractsAllEmpty: \"Contract list empty\",\r\n ContractNotFound: \"Contract not found\",\r\n ContractUpdateError: \"Something goes wrong updating contract, try again\",\r\n ContractDeleteError: \"Something goes wrong deleting contract, try again\"\r\n};\r\n","export enum eAssetPeriod {\r\n MONTH = \"MONTH\",\r\n WEEK = \"WEEK\",\r\n}\r\n","export 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 USERNOTFOUND = \"USERNOTFOUND\",\r\n}\r\n\r\nexport enum eAuthActions {\r\n delete = \"delete\",\r\n auth = \"auth\"\r\n}\r\n\r\nexport enum eAuthType2 {\r\n auth = \"auth\",\r\n login = \"login\",\r\n idle = \"\"\r\n}\r\n\r\nexport enum eAuthType {\r\n USER = 'USER', // Used for user of Ravcredit platform user, employee\r\n ADMIN = \"ADMIN\",\r\n SELLER = 'SELLER',\r\n CLIENT = 'CLIENT', // Used for clients of Ravcredit\r\n CONSULTANT = 'CONSULTANT',\r\n FUNCTION = 'FUNCTION',\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 enum eConektaOrderType {\r\n REFERENCE = \"REFERENCE\",\r\n SPEI = \"SPEI\",\r\n}\r\n","export enum EnumDynamicClientStatus {\r\n ACCEPTED = \"Accepted\",\r\n PENDING = \"Pending\",\r\n REJECTED = \"Rejected\",\r\n ACTIVE = \"Active\",\r\n INACTIVE = \"Inactive\",\r\n CANCELED = \"Cancelled\",\r\n}\r\n","export enum eNotificationType { GLOBAL = \"global\", USER = \"user\", PAYMENT = \"payment\" }\r\n","export 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 eRequestVerb {\r\n POST = 'POST',\r\n GET = 'GET',\r\n PATCH = 'PATCH',\r\n DELETE = 'DELETE',\r\n}\r\n\r\nexport enum eGCActions {\r\n Create = 'Create',\r\n Update = 'Update',\r\n Remove = 'Remove',\r\n LoginTime = 'UpdateLogIn'\r\n}\r\n\r\nexport enum eOrderType {\r\n DYNAMIC_REFERENCE = 'DYNAMIC_REFERENCE',\r\n DYNAMIC_SPEI = 'DYNAMIC_SPEI',\r\n CONEKTA_REFERENCE = 'CONEKTA_REFERENCE',\r\n CONEKTA_SPEI = 'CONEKTA_SPEI',\r\n PASSPORT_REFERENCE = 'PASSPORT_REFERENCE',\r\n}\r\n","export enum eVerificationStep {\r\n IDLE = \"IDLE\",\r\n ERROR = \"ERROR\",\r\n COMPLETED = \"COMPLETED\",\r\n IN_PROGRESS = \"IN_PROGRESS\",\r\n INVALID = \"INVALID\",\r\n SUSPENDED = \"SUSPENDED\",\r\n CANCELLED = \"CANCELLED\",\r\n}\r\n\r\nexport enum eVerificationStatus {\r\n APPROVED = \"approved\",\r\n CANCELLED = \"cancelled\",\r\n}\r\n\r\nexport enum eVerificationChannel {\r\n SMS = \"sms\",\r\n WHATSAPP = \"whatsapp\",\r\n CALL = \"call\",\r\n EMAIL = \"email\",\r\n SNA = \"sna\",\r\n}\r\n","/*\r\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\n// export * 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/oLogIn';\r\nexport * from './lib/v1/objects/oNewPayment';\r\nexport * from './lib/v1/objects/oNotification';\r\nexport * from './lib/v1/objects/oPassport';\r\nexport * from './lib/v1/objects/oUser';\r\nexport * from './lib/v1/objects/oVerification';\r\n\r\nexport * from './lib/v1/util/UtilClient';\r\nexport * from './lib/v1/util/UtilsHttp'\r\nexport * from './lib/v1/util/UtilBusiness';\r\nexport * from './lib/v1/util/UtilDynamiCore';\r\nexport * from './lib/v1/util/UtilContract';\r\nexport * from './lib/v1/util/UtilConekta';\r\nexport * from './lib/v1/util/UtilNotification';\r\nexport * from './lib/v1/util/UtilTime';\r\nexport * from './lib/v1/util/UtilDashboard';\r\nexport * from './lib/v1/util/UtilPassport';\r\nexport * from './lib/v1/util/UtilPayment';\r\nexport * from './lib/v1/util/UtilGeneral';\r\n\r\nexport * from './lib/v1/idb/indexed-db.service';\r\nexport * from './lib/v1/const/constants';\r\n\r\nexport * from './lib/v2/constant/constants';\r\nexport * from './lib/v2/constant/messages';\r\n\r\nexport * from './lib/v2/objects/oAsset';\r\nexport * from './lib/v2/objects/oAws';\r\nexport * from './lib/v2/objects/oCatalog';\r\nexport * from './lib/v2/objects/oClient';\r\nexport * from './lib/v2/objects/oCompany';\r\nexport * from './lib/v2/objects/oContract';\r\nexport * from './lib/v2/objects/oHttp';\r\nexport * from './lib/v2/objects/oMediaDto';\r\nexport * from './lib/v2/objects/oMessaging';\r\nexport * from './lib/v2/objects/oScoreDto';\r\nexport * from './lib/v2/objects/oUtil';\r\n\r\nexport * from './lib/v2/objects/oUtil';\r\nexport * from './lib/v2/objects/oHttp';\r\n\r\nexport * from './lib/v2/enum/EnumAsset';\r\nexport * from './lib/v2/enum/EnumAuth';\r\nexport * from './lib/v2/enum/EnumClient';\r\nexport * from './lib/v2/enum/EnumConekta';\r\nexport * from './lib/v2/enum/EnumDynamic';\r\nexport * from './lib/v2/enum/EnumNotification';\r\nexport * from './lib/v2/enum/EnumPassport';\r\nexport * from './lib/v2/enum/EnumRoles';\r\nexport * from './lib/v2/enum/EnumToken';\r\nexport * from './lib/v2/enum/EnumUtil';\r\nexport * from './lib/v2/enum/EnumVerification';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ravcredit-lib.mjs","sources":["../../../projects/ravcredit-lib/src/lib/ravcredit-lib.service.ts","../../../projects/ravcredit-lib/src/lib/ravcredit-lib.component.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oCustomer.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oLogIn.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oNotification.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oPassport.ts","../../../projects/ravcredit-lib/src/lib/v1/objects/oVerification.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumClient.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumRoles.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumHttpStatus.ts","../../../projects/ravcredit-lib/src/lib/v2/constant/constants.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/util/UtilClient.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilsHttp.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilDynamiCore.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilConekta.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilNotification.ts","../../../projects/ravcredit-lib/src/lib/v1/const/constants.ts","../../../projects/ravcredit-lib/src/lib/v1/idb/indexed-db.service.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilTime.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilDashboard.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumPassport.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilPassport.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilPayment.ts","../../../projects/ravcredit-lib/src/lib/v1/util/UtilGeneral.ts","../../../projects/ravcredit-lib/src/lib/v2/constant/messages.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumAsset.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumAuth.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumConekta.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumDynamic.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumNotification.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumUtil.ts","../../../projects/ravcredit-lib/src/lib/v2/enum/EnumVerification.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 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 {WritableSignal} from \"@angular/core\";\n\nexport interface iAuthConfig {\n title: string;\n desc: string;\n data: boolean;\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\nexport enum eDestinationType {\n auth = \"auth\",\n login = \"login\",\n idle = \"\"\n}\n","export const cTopic = \"RavCreditClients\"\r\n\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\n/** *********************************************************************************/\r\nexport interface iPassportAdditional {\r\n client?: string;\r\n clientID?: string;\r\n credit?: string;\r\n}\r\n\r\nexport interface iPassportReferenceData {\r\n name: string;\r\n email: string;\r\n amount: number;\r\n expirationDate: string;\r\n additional: iPassportAdditional;\r\n}\r\n\r\n/** Passport request interface base */\r\nexport interface iPassportReference {\r\n type: string;\r\n data: iPassportReferenceData;\r\n}\r\n\r\n/** Global passport reference aPI */\r\nexport interface iGlobalPassport {\r\n passport: iPassportReference;\r\n contract: oContract\r\n date?: number\r\n}\r\n\r\n/** ******************************** */\r\nexport interface iPassportResponseData {\r\n name: string;\r\n email: string;\r\n amount: number;\r\n expirationDate: string;\r\n additional: iPassportAdditional;\r\n}\r\n\r\nexport interface iPassportReferenceCenters {\r\n name: string;\r\n logo: string;\r\n}\r\n\r\nexport interface iPassportReferenceRes {\r\n reference: string\r\n centers: iPassportReferenceCenters[],\r\n centerId: number,\r\n barcode: string\r\n}\r\n\r\n/** Passport response interface base */\r\nexport interface iPassportResponse {\r\n type: string;\r\n data: iPassportResponseData;\r\n message: string;\r\n references: iPassportReference[];\r\n}\r\n\r\n/** ******************************** */\r\n","// export enum oGenVerificationProvider {\r\n// pending, approved, expired\r\n// }\r\n//\r\n// export interface oVerificationLookup {\r\n// carrier: any[]\r\n// }\r\n//\r\n// export interface oVerificationSenCodeAttempt {\r\n// attempt_sid: any[],\r\n// channel: any[],\r\n// time: any[]\r\n// }\r\n//\r\n// export interface oGenVerification {\r\n// Sid: string\r\n// ServiceSid: string,\r\n// AccountSid: string,\r\n// To: string,\r\n// Channel: any,\r\n// Status: oGenVerificationProvider,\r\n// Valid: boolean,\r\n// Lookup: oVerificationLookup,\r\n// SendCodeAttempts: oVerificationSenCodeAttempt[],\r\n// DateCreated: string,\r\n// DateUpdated: string,\r\n// Url: string\r\n// }\r\n//\r\n// export interface oVerification {\r\n// Sid : string,\r\n// ServiceSid : string,\r\n// AccountSid : string,\r\n// To : string,\r\n// Channel : any,\r\n// Status : oGenVerificationProvider,\r\n// Valid : boolean,\r\n// DateCreated : string,\r\n// DateUpdated : string\r\n// }\r\n\r\nimport {eVerificationChannel, eVerificationStatus} from '../../v2/enum/EnumVerification';\r\n\r\nexport interface ISendCodeAttempt {\r\n time: string\r\n channel: eVerificationChannel,\r\n attemptSid : string,\r\n}\r\n\r\nexport interface IBaseVerification {\r\n sid: string\r\n service_sid:string\r\n account_sid:string\r\n to:string\r\n channel: eVerificationChannel\r\n status: eVerificationStatus\r\n valid: boolean,\r\n date_created: string\r\n date_updated: string\r\n amount: any,\r\n payee: any,\r\n}\r\n\r\nexport interface IVerificationSms extends IBaseVerification {\r\n lookup: any,\r\n send_code_attempts: ISendCodeAttempt[],\r\n sna: any,\r\n url: string\r\n}\r\n\r\nexport interface IVerificationCheckSms\r\n{\r\n sna_attempts_error_codes: any[],\r\n}\r\n\r\nexport interface IVerificationData {\r\n Phone?: string\r\n VerificationCode?: string\r\n}\r\n","export 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","export enum eRoles {\r\n Administrator = \"Administrator\",\r\n Seller = \"Seller\",\r\n Consultant = \"Consultant\",\r\n Client = 'Client',\r\n User = 'User',\r\n}\r\n","export enum HttpStatus {\r\n CONTINUE = 100,\r\n SWITCHING_PROTOCOLS = 101,\r\n PROCESSING = 102,\r\n EARLYHINTS = 103,\r\n OK = 200,\r\n CREATED = 201,\r\n ACCEPTED = 202,\r\n NON_AUTHORITATIVE_INFORMATION = 203,\r\n NO_CONTENT = 204,\r\n RESET_CONTENT = 205,\r\n PARTIAL_CONTENT = 206,\r\n AMBIGUOUS = 300,\r\n MOVED_PERMANENTLY = 301,\r\n FOUND = 302,\r\n SEE_OTHER = 303,\r\n NOT_MODIFIED = 304,\r\n TEMPORARY_REDIRECT = 307,\r\n PERMANENT_REDIRECT = 308,\r\n BAD_REQUEST = 400,\r\n UNAUTHORIZED = 401,\r\n PAYMENT_REQUIRED = 402,\r\n FORBIDDEN = 403,\r\n NOT_FOUND = 404,\r\n METHOD_NOT_ALLOWED = 405,\r\n NOT_ACCEPTABLE = 406,\r\n PROXY_AUTHENTICATION_REQUIRED = 407,\r\n REQUEST_TIMEOUT = 408,\r\n CONFLICT = 409,\r\n GONE = 410,\r\n LENGTH_REQUIRED = 411,\r\n PRECONDITION_FAILED = 412,\r\n PAYLOAD_TOO_LARGE = 413,\r\n URI_TOO_LONG = 414,\r\n UNSUPPORTED_MEDIA_TYPE = 415,\r\n REQUESTED_RANGE_NOT_SATISFIABLE = 416,\r\n EXPECTATION_FAILED = 417,\r\n I_AM_A_TEAPOT = 418,\r\n MISDIRECTED = 421,\r\n UNPROCESSABLE_ENTITY = 422,\r\n FAILED_DEPENDENCY = 424,\r\n PRECONDITION_REQUIRED = 428,\r\n TOO_MANY_REQUESTS = 429,\r\n INTERNAL_SERVER_ERROR = 500,\r\n NOT_IMPLEMENTED = 501,\r\n BAD_GATEWAY = 502,\r\n SERVICE_UNAVAILABLE = 503,\r\n GATEWAY_TIMEOUT = 504,\r\n HTTP_VERSION_NOT_SUPPORTED = 505\r\n}\r\n","import {iOptionsSelect, iPaymentDelay, iSelect} from '../objects/oUtil';\r\nimport {MatSnackBarConfig} from '@angular/material/snack-bar';\r\nimport {cContract} from '../../v1/util/UtilContract';\r\nimport {cClient} from '../../v1/util/UtilClient';\r\nimport {oAddress} from '../../v1/objects/oAddress';\r\nimport {iConektaRecurrent, iOxxoRecurrentSources, iOxxorecurrentSourcesData} from \"../../v1/objects/oConekta\";\r\nimport {iAuthConfig} from '../../v1/objects/oLogIn';\r\nimport {eClientStatus} from '../enum/EnumClient';\r\nimport { eRoles } from \"../enum/EnumRoles\";\r\nimport {oDaySchedule} from '../../v1/objects/oBusiness';\r\nimport {oResponse} from '../objects/oHttp';\r\nimport {HttpStatus} from '../enum/EnumHttpStatus';\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 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 const cPaymentDelay: iPaymentDelay = {\r\n today: 0,\r\n nextPayment: 0,\r\n daysDelay: 0,\r\n late: false,\r\n}\r\n\r\nexport const snackBarConfigAction: MatSnackBarConfig = {\r\n horizontalPosition: \"start\"\r\n}\r\n\r\nexport const snackBarConfigNoAction: MatSnackBarConfig = {\r\n duration: 4000,\r\n horizontalPosition: \"start\"\r\n}\r\n\r\nexport const snackBarConfigNoActionLong: MatSnackBarConfig = {\r\n duration: 8000,\r\n horizontalPosition: \"start\"\r\n}\r\n\r\nexport const cTyClientContract = {...cClient, ...cContract}\r\n\r\nexport const cAddress: oAddress = {\r\n street: \"\",\r\n city: \"\",\r\n neighbor: \"\",\r\n zip: \"\",\r\n ext: \"\",\r\n int: \"\",\r\n state: \"\"\r\n}\r\n\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\nexport const cAuthConfig: iAuthConfig = {\r\n title: \"\",\r\n desc: \"\",\r\n data: true,\r\n}\r\n\r\nexport const cDaySchedule: oDaySchedule = {\r\n open: 0,\r\n close: 0\r\n}\r\n\r\nexport const cResponse: oResponse = {\r\n path: '',\r\n statusCode: HttpStatus.CONTINUE,\r\n epochTime: new Date().getTime(),\r\n data: null,\r\n};\r\n\r\n","import {UntypedFormArray, UntypedFormControl, Validators} from \"@angular/forms\";\nimport {\n oBusinessConfig,\n oBusinessDeadlines,\n oBusinessInfo, oDaySchedule,\n oSchedule,\n oTmpBusinessConfig,\n oWeekSchedule\n} from \"../objects/oBusiness\";\nimport {oAddress} from '../objects/oAddress';\nimport {cAddress, cDaySchedule} from \"../../v2/constant/constants\";\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\n const schedule: oWeekSchedule = {\n monday: cDaySchedule,\n tuesday: cDaySchedule,\n wednesday: cDaySchedule,\n thursday: cDaySchedule,\n friday: cDaySchedule,\n saturday: cDaySchedule,\n sunday: cDaySchedule\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 = Number(data.mondayOpen)\n if (data.mondayClose) schedule.monday.close = Number(data.mondayClose)\n\n if (data.tuesdayOpen) schedule.tuesday.open = Number(data.tuesdayOpen)\n if (data.tuesdayClose) schedule.tuesday.close = Number(data.tuesdayClose)\n\n if (data.wednesdayOpen) schedule.wednesday.open = Number(data.wednesdayOpen)\n if (data.wednesdayClose) schedule.wednesday.close = Number(data.wednesdayClose)\n\n if (data.thursdayOpen) schedule.thursday.open = Number(data.thursdayOpen)\n if (data.thursdayClose) schedule.thursday.close = Number(data.thursdayClose)\n\n if (data.fridayOpen) schedule.friday.open = Number(data.fridayOpen)\n if (data.fridayClose) schedule.friday.close = Number(data.fridayClose)\n\n if (data.saturdayOpen) schedule.saturday.open = Number(data.saturdayOpen)\n if (data.saturdayClose) schedule.saturday.close = Number(data.saturdayClose)\n\n if (data.sundayOpen) schedule.sunday.open = Number(data.sundayOpen)\n if (data.sundayClose) schedule.sunday.close = Number(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 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 {oClientBase, oUserReference} from '../objects/oClientBase';\nimport {oAsset, oAssetBrand, oAssetCategory} from '../../v2/objects/oAsset';\nimport {oCatalog} from '../../v2/objects/oCatalog';\nimport {oScoreReference} from '../../v2/objects/oScoreDto';\nimport {tyClientContract} from '../../v2/objects/oUtil';\nimport {cAddress} from '../../v2/constant/constants';\n\nexport enum eProvider {\n none = \"\",\n Conekta = \"Conekta\",\n Passport = \"Passport\",\n DynamiCore = \"DynamiCore\",\n}\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?: oClientBase) {\n let data = cClient\n\n if (client) data = client\n\n return {\n name: new UntypedFormControl(data.name, [Validators.required, Validators.minLength(10)]),\n email: new UntypedFormControl(data.username, [Validators.required, Validators.email]),\n phone: new UntypedFormControl(data.phone, [Validators.required, Validators.min(10)]),\n curp: new UntypedFormControl(data.curp, [Validators.required, Validators.minLength(16)]),\n userReferences: new UntypedFormArray([])\n }\n }\n\n public static CreateUserReferenceFormObj(user: oUserReference) {\n let data = cUserReference\n\n if (user.name != \"\") data = user\n\n return {\n name: new UntypedFormControl(data.name, [Validators.required, Validators.minLength(10)]),\n phone: new UntypedFormControl(data.phone, [Validators.required]),\n relationship: new UntypedFormControl(data.relationship, [Validators.required]),\n }\n }\n\n public static FormAddress(address?: oAddress) {\n let data = cAddress\n\n if (address) data = address\n\n return {\n street: new UntypedFormControl(data.street, Validators.required),\n neighbor: new UntypedFormControl(data.neighbor, Validators.required),\n cp: new UntypedFormControl(data.zip, Validators.required),\n ext: new UntypedFormControl(data.ext, Validators.required),\n int: new UntypedFormControl(data.int),\n city: new UntypedFormControl(data.city, Validators.required),\n state: new UntypedFormControl(data.state, Validators.required),\n }\n }\n\n public static FormDevice(device?: oDevice) {\n let data = cDevice\n\n if (device) data = device\n\n return {\n model: new UntypedFormControl(data.device, Validators.required),\n IMEI: new UntypedFormControl(data.IMEI, Validators.required),\n ID: new UntypedFormControl(data.id),\n }\n }\n\n public static FormFinancial(financial?: oFinancial) {\n let data = cFinancial\n\n if (financial) data = financial\n\n data.credit_type = \"Arrendamiento\"\n // data.deadlines.weeks = cBusinessDeadlines\n\n return {\n total: new UntypedFormControl(data.total, [Validators.required, Validators.min(1)]),\n initial: new UntypedFormControl(data.initial, [Validators.required]),\n financed: new UntypedFormControl(data.financed, Validators.min(1)),\n weeklyPayment: new UntypedFormControl(data.weeklyPayment, [Validators.required, Validators.min(1)]),\n deadlines: new UntypedFormControl(data.deadlines, [Validators.required]),\n initDate: new UntypedFormControl(data.initDate),\n provider: new UntypedFormControl(data.provider),\n\n credit_type: new UntypedFormControl(data.credit_type ? data.credit_type : 0),\n interest_rate: new UntypedFormControl(data.interest_rate ? data.interest_rate : 0), // interes credit dynamic\n commission_opening: new UntypedFormControl(data.commission_opening ? data.commission_opening : 0),\n interest_arrears: new UntypedFormControl(data.interest_arrears ? data.interest_arrears : 0), // intereses moratorios dynamic\n\n amount_commission_opening: new UntypedFormControl(data.amount_commission_opening), // comision por apertura dynamic\n principal_disbursed: new UntypedFormControl(data.principal_disbursed),\n expected_disbursed: new UntypedFormControl(data.expected_disbursed)\n }\n }\n\n public static CreateContractFromFormObj(data: any, finalPay: number) {\n const date = new Date()\n\n const device: oDevice = {\n device: data[\"device\"][0].model,\n id: data[\"device\"][0].ID,\n IMEI: data[\"device\"][0].IMEI\n }\n const address: oAddress = {\n street: data[\"address\"][0].street,\n city: data[\"address\"][0].city,\n neighbor: data[\"address\"][0].neighbor,\n zip: data[\"address\"][0].cp,\n ext: data[\"address\"][0].ext,\n int: data[\"address\"][0].int,\n state: data[\"address\"][0].state\n }\n\n const financial: oFinancial = {\n total: Number(data[\"financial\"][0].total),\n initial: data[\"financial\"][0].initial,\n deadlines: data[\"financial\"][0].deadlines,\n progress: [],\n pendingOf: [],\n weeklyPayment: data[\"financial\"][0].weeklyPayment,\n interest: data[\"financial\"][0].interest_rate,\n finalDate: date.getTime() + (data[\"financial\"][0].deadlines.weeks * (604800 * 1000)),\n initDate: date.getDate(),\n dayCut: date.getDate(),\n provider: data[\"financial\"][0].provider,\n finalPayment: finalPay,\n financed: data[\"financial\"][0].financed,\n nextPayment: data[\"financial\"][0].nextPayment\n }\n if (data[\"financial\"][0].provider == eProvider.DynamiCore) {\n financial.initial = data[\"financial\"][0].amount_commission_opening ? Number(data[\"financial\"][0].amount_commission_opening) : 0\n financial.expected_disbursed = data[\"financial\"][0].expected_disbursed ? Number(data[\"financial\"][0].expected_disbursed) : 0\n financial.principal_disbursed = data[\"financial\"][0].principal_disbursed ? Number(data[\"financial\"][0].principal_disbursed) : 0\n financial.interest_arrears = data[\"financial\"][0].interest_rate ? Number(data[\"financial\"][0].interest_rate) : 0\n financial.commission_opening = data[\"financial\"][0].commission_opening ? Number(data[\"financial\"][0].commission_opening) : 0\n financial.credit_type = data[\"financial\"][0].credit_type ? data[\"financial\"][0].credit_type : \"\"\n financial.clabe = data[\"financial\"][0].clabe ? data[\"financial\"][0].clabe : \"\"\n }\n\n if (data[\"financial\"][0].amount_commission_opening != undefined) {\n if (Number(data[\"financial\"][0].amount_commission_opening) > 0)\n financial.initial = Number(data[\"financial\"][0].amount_commission_opening)\n else\n financial.initial = Number(data[\"financial\"][0].initial)\n }\n\n if (Number(data[\"financial\"][0].amount_commission_opening) > 0)\n financial.amount_commission_opening = Number(data[\"financial\"][0].amount_commission_opening)\n else\n financial.amount_commission_opening = financial.initial\n\n if (financial.nextPayment == undefined) financial.nextPayment = 0\n\n const contract: oContract = {\n id: \"\",\n client: \"\",\n address: address,\n device: device,\n financial: financial,\n by: \"\",\n active: true,\n lastPayment: date.getTime(),\n createdAt: date.getTime()\n }\n return contract\n }\n\n public static CreateContractToConektaObj(data: oContract, monthlyPay: number, finalPay: number) {\n const o: any = {}\n const score: oScoreReference = {\n name: \"\",\n score: 0\n }\n const catalog: oCatalog = {\n name: \"\",\n description: \"\",\n id: \"\",\n createdAt: 0\n }\n const brand : oAssetBrand = {\n name: \"\",\n id: \"\",\n description: \"\"\n }\n const category : oAssetCategory = {\n name: \"\",\n id: \"\",\n createAt: 0\n }\n const deviceV2: oAsset = {\n name: \"\",\n id: \"\",\n createAt: new Date().getTime(),\n category: category,\n brand: brand,\n price: 0,\n model: \"\",\n imageUrl: [],\n paymentOption: [],\n catalog: catalog,\n offers: [],\n score: score,\n IMEI: \"\"\n }\n\n const device: oDevice = {\n device: data.device.device,\n id: data.device.id,\n IMEI: data.device.IMEI\n }\n const address: oAddress = {\n street: data.address.street,\n city: data.address.city,\n neighbor: data.address.neighbor,\n zip: data.address.zip,\n ext: data.address.ext,\n int: data.address.int,\n state: data.address.state\n }\n const financial: oFinancial = {\n total: data.financial.total,\n initial: data.financial.initial,\n deadlines: data.financial.deadlines,\n progress: data.financial.progress,\n pendingOf: data.financial.pendingOf,\n weeklyPayment: data.financial.weeklyPayment,\n interest: data.financial.interest,\n finalDate: data.financial.finalDate,\n initDate: data.financial.initDate,\n dayCut: data.financial.dayCut,\n provider: data.financial.provider,\n finalPayment: data.financial.finalPayment,\n financed: data.financial.financed,\n nextPayment: data.financial.nextPayment\n }\n const contract: oContract = {\n id: \"\",\n client: \"\",\n address: address,\n device: device,\n financial: financial,\n by: \"\",\n active: true\n }\n return contract\n }\n\n public static CreateAuthForm(username: string, curp: string) {\n const password: string = this.createPassword(curp)\n return {\n username: new UntypedFormControl(username, Validators.required),\n password: new UntypedFormControl(password, Validators.required),\n }\n }\n\n public static createPassword(curp: string): string {\n const _curp = curp.split(\"\")\n let password = \"\"\n const limit = 7\n\n if (_curp.length < 16) return \"\"\n\n password += _curp[0].toLowerCase()\n\n for (let i = 1; i <= limit; i++)\n password += _curp[i].toUpperCase()\n\n password += `*`\n return password\n }\n\n public static MapperTypeContCli_Contract(_contract: tyClientContract): oContract {\n const contract: oContract = {\n id: _contract.contract!,\n client: _contract.client,\n address: _contract.address,\n device: _contract.device,\n financial: _contract.financial,\n by: _contract.by,\n active: _contract.active,\n lastPayment: _contract.lastPayment,\n createdAt: _contract.createdAt,\n dynamicAccount: _contract.dynamicAccount,\n }\n\n return contract\n }\n\n public static MapperSyncContractDynamic(base: oContract, account: IDCAccount): oContract {\n let nContract = base\n let _financial = base.financial\n let _device = base.device\n\n\n const financial: oFinancial = {\n total: _financial.total,\n initial: account.properties.amount_commission_opening ? account.properties.amount_commission_opening : _financial.initial,\n deadlines: _financial.deadlines,\n progress: _financial.progress ? _financial.progress : [],\n pendingOf: _financial.pendingOf ? _financial.pendingOf : [],\n weeklyPayment: _financial.weeklyPayment,\n interest: _financial.interest,\n finalDate: _financial.finalDate,\n initDate: _financial.initDate,\n dayCut: _financial.dayCut,\n provider: _financial.provider,\n finalPayment: _financial.finalPayment,\n financed: _financial.financed,\n nextPayment: _financial.nextPayment ? _financial.nextPayment : 0,\n\n amount_commission_opening:\n account.properties.amount_commission_opening,\n\n expected_disbursed:\n account.properties.expected_disbursed ?\n Number(account.properties.expected_disbursed) :\n Number(_financial.expected_disbursed),\n\n principal_disbursed:\n account.properties.principal_disbursed ?\n account.properties.principal_disbursed :\n _financial.principal_disbursed,\n\n commission_opening:\n account.config.commission_opening ?\n Number(account.config.commission_opening) :\n Number(_financial.commission_opening),\n\n credit_type:\n account.config.credit_type ? account.config.credit_type : _financial.credit_type,\n\n clabe:\n String(account.properties.clabe ? account.properties.clabe : _financial.clabe)\n }\n\n const interestArrears = account.config.interest_arrears\n const prevInterestArrears = _financial.interest_arrears\n if (interestArrears != undefined) {\n financial.interest_arrears = interestArrears\n } else if (prevInterestArrears != undefined) {\n financial.interest_arrears = prevInterestArrears\n } else {\n financial.interest_arrears = 0\n }\n\n const interest = account.config.interest_rate\n const prevInterest = _financial.interest\n if (interest != undefined) {\n financial.interest = interest\n } else if (prevInterest != undefined) {\n financial.interest = prevInterest\n } else {\n financial.interest = 0\n }\n\n if (account.properties.amount_commission_opening != undefined) {\n if (Number(account.properties.amount_commission_opening) > 0) {\n financial.initial = Number(account.properties.amount_commission_opening)\n financial.amount_commission_opening = Number(account.properties.amount_commission_opening)\n } else {\n financial.initial = Number(_financial.initial)\n financial.amount_commission_opening = financial.initial\n }\n }\n\n const seller: string | undefined = account.properties.seller_name\n nContract.by = seller != null ? seller : \"\"\n\n nContract.device.id = _device.id ? _device.id : \"\"\n\n nContract.financial = financial\n return nContract\n }\n}\n\nexport enum eContractStatus {\n APPROVED = 'APPROVED',\n DENIED = 'DENIED',\n CANCELED = 'CANCELED',\n PENDING = 'PENDING',\n CHECKING = 'CHECKING',\n}\n","import {oClientBase, oUserReference} from '../objects/oClientBase';\nimport {iConektaRecurrent, iConektaSources} from '../objects/oConekta';\nimport {oContract} from '../objects/oContract';\nimport {cContract} from './UtilContract';\nimport {IDCAccount, IDCClient} from './UtilDynamiCore';\nimport {oFinancial} from '../objects/oFinancial';\nimport { tyClientContract } from \"../../v2/objects/oUtil\";\nimport {cConektaRecurrent} from '../../v2/constant/constants';\nimport {eClientStatus} from '../../v2/enum/EnumClient';\n\nexport const cClient: oClientBase = {\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: oClientBase;\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: oClientBase;\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: oClientBase) {\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?: oClientBase): oClientBase {\n const o: oClientBase = {\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: oClientBase, 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: oClientBase,\n conekta: iConektaRecurrent,\n ): iClientContract {\n const o: oClientBase = 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): oClientBase {\n const client: oClientBase = {\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: oClientBase,\n contract: oContract,\n clientDyn?: IDCClient,\n account?: IDCAccount,\n ): iClientContract {\n // constant 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 public static CheckEmail =\n (email: string): boolean => email.includes(\"@\") && email.endsWith(\".com\")\n}\n\nexport enum eIdentityTypes {\n SELFIE = 'SELFIE',\n IDENTITY_FRONT = 'IDENTITY_FRONT',\n IDENTITY_BACK = 'IDENTITY_BACK',\n PASSPORT_FRONT = 'PASSPORT_FRONT',\n PASSPORT_BACK = 'PASSPORT_BACK',\n SERVICE='SERVICE',\n WITH_DEVICE='WITH_DEVICE',\n}\n","export class UtilsHttp {\n\n public static CreateHeadersRavcreditApi(token: string) {\n return {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Access-Control-Allow-Headers': 'Content-Type',\n 'Authorization': `Bearer ${token}`\n }\n }\n\n public static CreateSimpleHeadersApi() {\n return {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Access-Control-Allow-Headers': 'Content-Type',\n }\n }\n\n public static CreateAwsHeadersApi() {\n return {\n 'Content-Type': 'application/json'\n }\n }\n}\n","import {UntypedFormControl, Validators} from \"@angular/forms\";\r\nimport {oClientBase} from '../objects/oClientBase';\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: oClientBase,\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: oClientBase, 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: oClientBase,\r\n contract: oContract,\r\n clientDynamic: IDCClient,\r\n ): Partial<IDCCredit> | null {\r\n const properties: IDCCreditProperties = {\r\n start_date: \"\",\r\n principal_disbursed: 0,\r\n expected_disbursed: 0,\r\n amount_commission_opening: 0\r\n }\r\n\r\n const config: IDCCreditConfig = {\r\n contract: `FP-${client.name}`,\r\n credit_type: \"Arrendamiento\",\r\n interest_rate: 528,\r\n installments: 0,\r\n periodicity: \"WEEK\",\r\n interest_base: \"ACT/ACT\",\r\n commission_opening: 40,\r\n financed_amount: contract.financial.financed,\r\n interest_arrears: 0\r\n }\r\n\r\n if (!client.dynamic_account) return null\r\n\r\n return {\r\n id: Number(client.dynamic_account),\r\n group: clientDynamic.group,\r\n company: clientDynamic.company,\r\n client: clientDynamic.id,\r\n created_at: \"\",\r\n currency: \"484\",\r\n status: \"pending\",\r\n properties: properties,\r\n product: 1756,\r\n enabled: \"1\",\r\n config: config,\r\n amount: 0,\r\n type: \"liabilities\",\r\n identifier: null,\r\n start_at: null\r\n }\r\n }\r\n\r\n public static CreatePayment(\r\n contract: oContract,\r\n clientDynamic: IDCAccount,\r\n ): IDCPayment {\r\n return {\r\n account: String(clientDynamic.id),\r\n amount: contract.financial.weeklyPayment,\r\n date: \"\",\r\n dst_account: String(clientDynamic.id),\r\n external_id: \"\",\r\n extras: {},\r\n operation: 98,\r\n reference: \"\"\r\n }\r\n }\r\n\r\n public static getNextDateTime(): string {\r\n const now = new Date();\r\n const nextDateTime = new Date(now.getTime() + 1000); // Add 1 second as an example\r\n\r\n const year = nextDateTime.getFullYear();\r\n const month = String(nextDateTime.getMonth() + 1).padStart(2, '0');\r\n const day = String(nextDateTime.getDate()).padStart(2, '0');\r\n const hours = String(nextDateTime.getHours()).padStart(2, '0');\r\n const minutes = String(nextDateTime.getMinutes()).padStart(2, '0');\r\n const seconds = String(nextDateTime.getSeconds()).padStart(2, '0');\r\n\r\n return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}`;\r\n }\r\n\r\n public static getIsoDate(): string {\r\n const now = new Date();\r\n return now.toISOString();\r\n }\r\n\r\n public static FormPayment(\r\n contract: oContract,\r\n account: IDCAccount) {\r\n\r\n let data = FactoryDynamiCore.CreatePayment(contract, account)\r\n\r\n return {\r\n amount: new UntypedFormControl(data.amount, [Validators.required, Validators.min(0)]),\r\n }\r\n }\r\n}\r\n","import {oContract} from '../objects/oContract';\r\nimport {oClientBase} from '../objects/oClientBase';\r\nimport {\r\n oConektaMixOrder,\r\n oConektaNewOrder, oConektaNewOrderAntifraudInfo,\r\n oConektaNewOrderCharge,\r\n oConektaNewOrderCustomerInfo, oConektaNewOrderLineItem,\r\n oConektaNewOrderPymMethod, oConektaOrder, oConektaOrderCreate\r\n} from '../objects/oConekta';\r\n\r\nexport enum ePaymentType {\r\n OXXO = \"OXXO\",\r\n ALTERNA = \"ALTERNA\",\r\n OXXO_RECURRENT = 'oxxo_recurrent'\r\n}\r\n\r\nexport class FactoryConekta {\r\n public static createOrder(\r\n client: oClientBase,\r\n contract: oContract,\r\n dateTime?: number\r\n ): oConektaNewOrder {\r\n\r\n if (client.conekta_id == undefined) return {\r\n data: {\r\n charges: [],\r\n currency: \"\",\r\n customer_info: {customer_id: \"\"},\r\n line_items: []\r\n },\r\n id: \"\"\r\n }\r\n\r\n const customer_info: oConektaNewOrderCustomerInfo = {\r\n customer_id: client.conekta_id\r\n }\r\n const week = ((3600 * 24) * 30) * 1000\r\n let next = new Date().getTime() + week\r\n next = Math.floor(next / 1000)\r\n\r\n const method: oConektaNewOrderPymMethod = {\r\n type: \"cash\",\r\n expires_at: next,\r\n }\r\n const charge: oConektaNewOrderCharge = {\r\n amount: contract.financial.weeklyPayment * 100,\r\n payment_method: method\r\n }\r\n const charges = [charge]\r\n\r\n const antifraud_info: oConektaNewOrderAntifraudInfo = {\r\n newKey: \"Key\"\r\n }\r\n\r\n const lineItem: oConektaNewOrderLineItem = {\r\n antifraud_info: antifraud_info,\r\n name: `Referencia credito ${client.name}`,\r\n quantity: 1,\r\n unit_price: contract.financial.weeklyPayment * 100,\r\n }\r\n\r\n const lineItems: oConektaNewOrderLineItem[] = [lineItem]\r\n\r\n const orderData: oConektaOrderCreate = {\r\n customer_info: customer_info,\r\n charges: charges,\r\n currency: \"MXN\",\r\n line_items: lineItems\r\n }\r\n\r\n const order: oConektaNewOrder = {\r\n data: orderData,\r\n id: client.id\r\n }\r\n\r\n if (dateTime != undefined) order.date = dateTime\r\n\r\n return order\r\n }\r\n}\r\n\r\n// '\r\n// {\r\n// \"customer_info\": {\r\n// \"name\": \"DevTest\",\r\n// \"email\": \"test@femsa.com\",\r\n// \"phone\": \"5522997233\"\r\n// },\r\n// \"currency\": \"MXN\",\r\n// \"line_items\": [\r\n// {\r\n// \"name\": \"Box of Cohiba S1s\",\r\n// \"quantity\": 1,\r\n// \"unit_price\": 20000\r\n// }\r\n// ]\r\n// }\r\n// '\r\n","import {cNotification, oNotification} from '../objects/oNotification';\r\nimport {UntypedFormControl, Validators} from '@angular/forms';\r\n\r\nexport const ROUTE_NOTIFICATIONS = \"notifications\"\r\nexport const ROUTE_GLOBAL_REFERENCE2 = \"/contract-reference\"\r\n\r\nconst prodFunction = \"https://us-central1-ravcredit-2b079.cloudfunctions.net/CustomerNotification\"\r\nconst prodFunction2 = \"https://customernotification-2imgfxveka-uc.a.run.app\"\r\nconst localTest = \"http://127.0.0.1:5001/ravcredit-2b079/us-central1/CustomerNotification\"\r\nexport const ravCreditFunctions = prodFunction\r\n\r\nexport class FactoryNotification {\r\n\r\n public static FormNotification(notification?: oNotification) {\r\n let data = cNotification\r\n\r\n if (notification) data = notification\r\n\r\n return {\r\n title: new UntypedFormControl(data.notification.title, [Validators.required, Validators.min(1)]),\r\n body: new UntypedFormControl(data.notification.body, [Validators.required, Validators.min(1)]),\r\n }\r\n }\r\n\r\n public static CreateGlobalNotificationObj(data: oNotification) {\r\n const o: any = {}\r\n\r\n if (data.notification) {\r\n const not: any = {}\r\n if (data.notification.body) not[\"body\"] = data.notification.body\r\n if (data.notification.title) not[\"title\"] = data.notification.title\r\n\r\n if (data.ids) not[\"ids\"] = data.ids\r\n\r\n if (data.tokens) not[\"tokens\"] = data.tokens\r\n\r\n if (data.type) not[\"type\"] = data.type\r\n\r\n if (data.data) if (data.data.route) not[\"route\"] = data.data.route\r\n\r\n o[\"data\"] = not\r\n }\r\n return o\r\n }\r\n\r\n}\r\n","export const keyUserID: string = \"rc_uid\"\r\nexport const dbVersion: number = 1\r\nexport const dbName: string = \"RavCreditDB\"\r\nexport const keyPathId: string = \"id\"\r\n\r\nexport const dbAuthStore: string = \"authStore\"\r\nexport const dbUsersStore: string = \"usersStore\"\r\nexport const dbContractsStore: string = \"contractsStore\"\r\nexport const dbClientsStore: string = \"clientsStore\"\r\nexport const dbBusinessInfo: string = \"businessInfo\"\r\nexport const dbBusinessConfig: string = \"businessConfig\"\r\nexport const dbConektaClientsStore: string = \"conektaClientsStore\"\r\nexport const dbConektaReferencesStore: string = \"conektaReferencesStore\"\r\nexport const dbConektaSpeiStore: string = \"conektaSpeiStore\"\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 dateFormatSimple = \"EEEEEE, dd MMM yyyy\"\r\nexport const dateCompleteFormat = \"EEEE, dd MMM yyyy hh:mm aaaa\"\r\nexport const timeFormat = \"hh:mm aaaa\"\r\nexport const TIME_FORMAT_TABLE = \"iii, dd MMM yyyy\"\r\nexport const timeFormatTable = \"iii, dd MMM yyyy\"\r\n\r\nexport const expiredPayment = \"expiredPayment\"\r\n\r\nexport const ROLES_KEY = 'roles';\r\n","import { Injectable } from '@angular/core';\r\nimport { oUser } from '../objects/oUser';\r\nimport {IDBPDatabase, openDB} from 'idb';\r\nimport {\r\n dbAuthStore, dbBusinessConfig, dbBusinessInfo,\r\n dbClientsStore,\r\n dbConektaClientsStore, dbConektaReferencesStore,\r\n dbContractsStore, dbDynamicReferencesStore,\r\n dbName, dbNotificationsStore, dbPassportReferencesStore,\r\n dbVersion,\r\n keyPathId,\r\n keyUserID\r\n} from '../const/constants';\r\nimport {oClientBase} from '../objects/oClientBase';\r\nimport {oContract} from '../objects/oContract';\r\nimport {eProvider} from '../util/UtilContract';\r\nimport {oBusinessConfig, oBusinessInfo} from '../objects/oBusiness';\r\nimport {oNotification} from '../objects/oNotification';\r\nimport { tyClientContract } from \"../../v2/objects/oUtil\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IndexedDbService {\r\n\r\n indexDbStatus = false\r\n iDb!: IDBPDatabase<unknown>\r\n\r\n constructor() {\r\n }\r\n\r\n // async dbAuthorization() {\r\n // // constant k = this.getLocalUser()\r\n // // if (k == null) return false\r\n // //\r\n // // constant db = await openDB(dbName, dbVersion)\r\n // // // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n // // constant auth = await db.get(dbAuthStore, k)\r\n // // // utils auth = await store.get(k)\r\n // // db.close()\r\n //\r\n // let auth: any = null\r\n // return auth;\r\n //\r\n // }\r\n\r\n /****************** SIMPLE Transactional - CRUD *************************************/\r\n\r\n async dbGetObject<T>(store: string, data: any): Promise<T> {\r\n if (!data) return data\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.get(store, data) as T\r\n }\r\n\r\n async dbGetAllByStore<T>(store: string, index?: string) {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.getAll(store) as T\r\n }\r\n\r\n async dbAddObject<T>(store: string, data: any): Promise<boolean> {\r\n try {\r\n const db = await openDB(dbName, dbVersion)\r\n await db.put(store, data)\r\n return true\r\n } catch (e) {\r\n return false\r\n }\r\n }\r\n\r\n async dbRemoveObject<T>(store: string, data: any): Promise<T> {\r\n const db = await openDB(dbName, dbVersion)\r\n return await db.delete(store, data) as T\r\n }\r\n\r\n /************************************* AUTH **************************************/\r\n\r\n async dbSignIn(store: string, data: any) {\r\n await this.iDb.put(store, data)\r\n const _data = data as oUser\r\n this.setLocalStorage(keyUserID, _data.id)\r\n }\r\n\r\n async dbSignOut() {\r\n\r\n const k = this.getLocalUser()\r\n if (!k) return\r\n\r\n await this.iDb.delete(dbAuthStore, k)\r\n this.removeLocalStorage(keyUserID)\r\n }\r\n\r\n async dbAuthorization() {\r\n const k = this.getLocalUser()\r\n if (k == null) return false\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n const auth = await db.get(dbAuthStore, k)\r\n // utils auth = await store.get(k)\r\n db.close()\r\n\r\n if (!auth) return false\r\n else return true\r\n }\r\n\r\n async dbGetToken() {\r\n const k = this.getLocalUser()\r\n if (k == null) return \"\"\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n const auth = await db.get(dbAuthStore, k) as oUser\r\n // utils auth = await store.get(k)\r\n\r\n db.close()\r\n return auth.access_token != \"\" ? auth.access_token : \"\"\r\n }\r\n\r\n /******************************** Local Storage *************************************/\r\n\r\n setLocalStorage(k: string, v: string) {\r\n localStorage.setItem(k, v)\r\n }\r\n\r\n getLocalStorage<T>(k: string) {\r\n return localStorage.getItem(k) as T\r\n }\r\n\r\n removeLocalStorage(k: string) {\r\n return localStorage.removeItem(k)\r\n }\r\n\r\n getLocalUser(): string | null {\r\n const k = localStorage.getItem(keyUserID)\r\n return (k)\r\n }\r\n\r\n /********************************************************************************* **/\r\n\r\n async getPlatformUser() {\r\n const k = this.getLocalStorage<string>(keyUserID) as string\r\n if (k == null) return \"\"\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n const auth = await db.get(dbAuthStore, k) as oUser\r\n // utils auth = await store.get(k)\r\n\r\n db.close()\r\n return auth.name != \"\" ? auth.name : \"\"\r\n }\r\n\r\n async getToken() {\r\n const k = this.getLocalUser()\r\n if (k == null) return \"\"\r\n\r\n const db = await openDB(dbName, dbVersion)\r\n // utils store = db.transaction(dbUsersStore).objectStore(dbUsersStore)\r\n const auth = await db.get(dbAuthStore, k) as oUser\r\n // utils auth = await store.get(k)\r\n\r\n db.close()\r\n return auth.access_token != \"\" ? auth.access_token : \"\"\r\n }\r\n\r\n async addObject<T>(store: string, data: any): Promise<boolean> {\r\n try {\r\n const db = await openDB(dbName, dbVersion)\r\n await db.put(store, data)\r\n return true\r\n } catch (e) {\r\n return false\r\n }\r\n }\r\n\r\n async patchObject<T>(store: string, data: any): Promise<T> {\r\n try {\r\n const db = await openDB(dbName, dbVersion)\r\n const txn = db.transaction(store, \"readwrite\")\r\n const obj = txn.objectStore(store)\r\n // constant 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 oClientBase\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: oClientBase,\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<oClientBase[]>(dbClientsStore)\r\n if (clients.length == 0) return []\r\n\r\n for (let client of clients) {\r\n const contract = await this.getObject<oContract>(dbContractsStore, client.contract)\r\n const e = {...client, ...contract}\r\n // preserve the id value over concat models\r\n e.id = client.id\r\n e.status = client.status\r\n clientContract.push(e)\r\n }\r\n return clientContract\r\n }\r\n\r\n /******************** MERGE **************************************/\r\n\r\n async dbGetAllClientContracts(): Promise<tyClientContract[]> {\r\n const clientContract: tyClientContract[] = []\r\n const clients = await this.dbGetAllByStore<oClientBase[]>(dbClientsStore)\r\n if (clients.length == 0) return []\r\n\r\n for (let client of clients) {\r\n const contract = await this.dbGetObject<oContract>(dbContractsStore, client.contract)\r\n const e = {...client, ...contract}\r\n // preserve the id value over concat models\r\n e.id = client.id\r\n e.status = client.status\r\n clientContract.push(e)\r\n }\r\n return clientContract\r\n }\r\n\r\n /****************** BUSINESS INFO *************************************/\r\n\r\n async getBusinessInfo(): Promise<oBusinessInfo | null> {\r\n const config: oBusinessInfo[] = await this.dbGetAllByStore<oBusinessInfo[]>(dbBusinessInfo)\r\n\r\n if (!config) return null\r\n\r\n return config[0]\r\n }\r\n\r\n /****************** BUSINESS CONFIG ************************************/\r\n\r\n async getBusinessConfig(): Promise<oBusinessConfig | null> {\r\n const config: oBusinessConfig[] = await this.dbGetAllByStore<oBusinessConfig[]>(dbBusinessConfig)\r\n\r\n if (!config) return null\r\n\r\n return config[0]\r\n }\r\n\r\n async updateBusinessConfig(config: oBusinessConfig) {\r\n\r\n // config.version = \"1.0\"\r\n await this.dbRemoveObject(dbBusinessConfig, \"1.0\")\r\n await this.dbAddObject(dbBusinessConfig, config)\r\n }\r\n\r\n async updateBusinessInfo(config: oBusinessInfo) {\r\n\r\n config.version = \"v2024\"\r\n await this.dbRemoveObject(dbBusinessInfo, \"v2024\")\r\n await this.dbAddObject(dbBusinessInfo, config)\r\n }\r\n\r\n /**************** NOTIFICATIONS *********************************/\r\n\r\n async getLocalNotifications(): Promise<oNotification[] | null> {\r\n const notifications: oNotification[] = await this.dbGetAllByStore<oNotification[]>(dbNotificationsStore)\r\n if (!notifications) return null\r\n return notifications\r\n }\r\n\r\n async updateNotifications(notifications: oNotification[]) {\r\n for (const o of notifications) {\r\n const exists = await this.dbGetObject(dbNotificationsStore, o.notification_id)\r\n if (!exists) {\r\n await this.dbAddObject(dbNotificationsStore, o)\r\n }\r\n }\r\n }\r\n}\r\n","import {add, format, getDate} from \"date-fns\";\r\nimport {es} from 'date-fns/locale/es';\r\nimport {eProvider} from './UtilContract';\r\nimport {inject, Injector, runInInjectionContext} from '@angular/core';\r\nimport {IDCTxnRow} from './UtilDynamiCore';\r\nimport {oConektaOrder} from '../objects/oConekta';\r\nimport {dateCompleteFormat, dateFormat, expiredPayment, timeFormat} from '../const/constants';\r\nimport {IndexedDbService} from '../idb/indexed-db.service';\r\nimport { oPaymentDates } from \"../../v2/objects/oUtil\";\r\n\r\nexport class UtilTime {\r\n private localeFns = es\r\n\r\n public static IsExpired(time: number): boolean {\r\n const dateInit = new Date(time)\r\n const dayInit = dateInit.getDate()\r\n const monthInit = dateInit.getMonth() + 1\r\n\r\n const dateActual = new Date()\r\n const dayActual = dateActual.getDate()\r\n const monthActual = dateActual.getMonth() + 1\r\n\r\n if (monthActual > monthInit) return true\r\n\r\n return dayActual > dayInit;\r\n }\r\n\r\n public static getDates(initial: number, weeks: number): oPaymentDates[] {\r\n const dates: oPaymentDates[] = []\r\n let prev = initial\r\n for (let i = 0; i < weeks; i++) {\r\n const date = add(prev, {weeks: 1})\r\n dates.push(\r\n {\r\n week: i + 1,\r\n date: date.getTime()\r\n }\r\n )\r\n prev = date.getTime()\r\n }\r\n return dates\r\n }\r\n\r\n public static getPreviousWeek() {\r\n const today = new Date().getTime()\r\n const week = ((3600 * 24) * 7) * 1000\r\n return today - week\r\n }\r\n\r\n public static getDayNum(date: Date | number): number {\r\n return getDate(date)\r\n }\r\n\r\n public static getDayName(date: Date | number): string {\r\n return format(date, \"EEEE\", {locale: es})\r\n }\r\n\r\n public static getMonthName(date: Date | number): string {\r\n return format(date, \"MMMM\", {locale: es}).toUpperCase();\r\n }\r\n\r\n public static getYear(date: Date | number): string {\r\n return format(date, \"yyyy\")\r\n }\r\n\r\n public static GetNextPayment(time: number, provider: string) {\r\n let week = 0\r\n if (provider == eProvider.Conekta) {\r\n week = (((3600 * 24) * 7))\r\n } else if (provider == eProvider.DynamiCore) {\r\n week = (((3600 * 24) * 7) * 1000)\r\n }\r\n return this.getLocalTimeFromLong(time + week, provider)\r\n }\r\n\r\n public static getLocalTimeFromLong(time: number, provider: string) {\r\n if (time <= 0) return \"\"\r\n let factor = this.GetFactor(provider)\r\n let dateTime = time * factor\r\n let parsedDate = format(new Date(dateTime), dateFormat, {\r\n locale: es\r\n })\r\n return parsedDate\r\n }\r\n\r\n public static DelayPaymentLast(\r\n lastPayment: number, provider: string, injector: Injector\r\n ): boolean {\r\n let factor = this.GetFactor(provider)\r\n let now = new Date().getTime()\r\n let last = 0\r\n\r\n if (provider == eProvider.Conekta)\r\n last = ((((3600 * 24) * 7)) + lastPayment) * factor\r\n else if (provider == eProvider.DynamiCore)\r\n last = ((((3600 * 24) * 7) * 1000) + lastPayment) * factor\r\n\r\n runInInjectionContext(injector, () => {\r\n const idb = inject(IndexedDbService)\r\n // constant observable = inject(ObservablesService)\r\n idb.setLocalStorage(expiredPayment, String(now > last))\r\n // observable.isLate.next(now > last)\r\n })\r\n return now > last\r\n }\r\n\r\n public static GetFactor(provider: string) {\r\n let factor = 1\r\n if (provider == eProvider.Conekta)\r\n factor = 1000\r\n return factor\r\n }\r\n\r\n public static GetEpochFromFormatedDate(date: string): number {\r\n if (date == \"\") return 0\r\n\r\n const _date = new Date(date)\r\n if (isNaN(_date.getTime())) return 0\r\n return _date.getTime()\r\n }\r\n\r\n public static GetTimeFromString(date: string) {\r\n return format(new Date(date), timeFormat, {\r\n locale: es\r\n })\r\n }\r\n\r\n public static GetDateFromString(date: string) {\r\n return format(new Date(date), dateCompleteFormat, {\r\n locale: es\r\n })\r\n }\r\n\r\n // Quick sort\r\n public static SortingByTime(payments: IDCTxnRow[]): IDCTxnRow[] {\r\n if (payments.length <= 1) return payments\r\n\r\n const pivot = payments[payments.length - 1]\r\n const pivotDate = new Date(pivot.created).getTime()\r\n const left: IDCTxnRow[] = []\r\n const right: IDCTxnRow[] = []\r\n\r\n for (let i = 0; i < payments.length - 1; i++) {\r\n const actualDate = new Date(payments[i].created).getTime()\r\n if (actualDate > pivotDate) left.push(payments[i])\r\n else right.push(payments[i])\r\n }\r\n\r\n return [...this.SortingByTime(left), pivot, ...this.SortingByTime(right)]\r\n }\r\n\r\n public static SortingByTimeConekta(payments: oConektaOrder []): oConektaOrder[] {\r\n if (payments.length <= 1) return payments;\r\n\r\n const pivot = payments[payments.length - 1]\r\n let pivotDate = 0;\r\n if (pivot.charges.data == undefined) return payments\r\n\r\n if (pivot.charges.data[0].paid_at != undefined) {\r\n pivotDate = pivot.charges.data[0].paid_at\r\n } else {\r\n pivot.charges.data[0].created_at\r\n }\r\n\r\n if (pivotDate <= 0) return payments;\r\n\r\n const left: oConektaOrder[] = []\r\n const right: oConektaOrder [] = []\r\n\r\n for (let i = 0; i < payments.length - 1; i++) {\r\n const actual = payments[i].charges.data[0].paid_at;\r\n if (actual <= 0) continue\r\n if (actual > pivotDate) left.push(payments[i])\r\n else right.push(payments[i])\r\n }\r\n\r\n return [...this.SortingByTimeConekta(left), pivot, ...this.SortingByTimeConekta(right)]\r\n }\r\n}\r\n","import {oContractMetrics} from '../../v2/objects/oUtil';\n\nexport const cContractMetrics: oContractMetrics = {\n total: 0,\n activated: 0,\n paused: 0,\n completed: 0,\n canceled: 0,\n late: 0,\n conektaCount: 0,\n dynamicCount: 0,\n passportCount: 0,\n rateTotal: 0,\n rateActive: 0,\n ratePaused: 0,\n rateComplete: 0,\n rateCanceled: 0,\n rateLate: 0\n}\n","export enum ePassportTypes {\r\n CREATE = \"create_references\",\r\n SEND = \"send_references\"\r\n}\r\n","import {oContract} from '../objects/oContract';\r\nimport {oClientBase} from '../objects/oClientBase';\r\nimport {iGlobalPassport} from '../objects/oPassport';\r\nimport {ePassportTypes} from '../../v2/enum/EnumPassport';\r\n\r\nexport class FactoryPassport {\r\n public static CreatePassportReference(\r\n client: oClientBase,\r\n contract: oContract,\r\n dateTime?: number\r\n ): iGlobalPassport {\r\n const o = {\r\n passport: {\r\n type: ePassportTypes.CREATE,\r\n data: {\r\n name: client.name,\r\n email: client.email,\r\n amount: contract.financial.weeklyPayment,\r\n expirationDate: \"\",\r\n additional: {\r\n client: client.name,\r\n clientID: client.id,\r\n credit: client.status\r\n }\r\n }\r\n },\r\n contract: contract,\r\n date: dateTime\r\n }\r\n if (dateTime != undefined) o.date = dateTime\r\n return o\r\n }\r\n}\r\n","import {oConektaRes} from '../objects/oConekta';\r\nimport {IDCTxnRow} from './UtilDynamiCore';\r\nimport {eProvider} from './UtilContract';\r\n\r\nexport interface oPaymentGlobal {\r\n conektaPayment?: oConektaRes,\r\n dynamicPayment?: IDCTxnRow[],\r\n}\r\n\r\nexport class FactoryPayment {\r\n public static CreatePayment(data: oConektaRes | IDCTxnRow[], provider: eProvider): oPaymentGlobal {\r\n const o: oPaymentGlobal = {}\r\n\r\n if (provider == eProvider.DynamiCore)\r\n o.dynamicPayment = data as IDCTxnRow[];\r\n\r\n if (provider == eProvider.Conekta)\r\n o.conektaPayment = data as oConektaRes\r\n\r\n return o\r\n }\r\n}\r\n","export class UtilGeneral {\r\n\r\n public static cleanUsername(password: string): string {\r\n if (password.includes(\"+\") || password.length > 10) {\r\n let len = 10 // standard Mexico phone length\r\n let pLen = password.length - 1\r\n let _password: string[] = []\r\n\r\n for (let i = len; i > 0; i--) {\r\n _password.push(password[pLen])\r\n pLen--\r\n }\r\n\r\n return _password.reverse().join(\"\")\r\n }\r\n\r\n return password\r\n }\r\n\r\n}\r\n","export const ErrorMessages = {\r\n NotFound: \"Recurso no encontrado\",\r\n Unauthorized: \"Request without(or not valid) token\",\r\n RandomError: \"Something goes wrong, try again -> \",\r\n RandomErrorFirestore: \"Something goes wrong in firestore\",\r\n CreateUser: \"Error: Something goes wrong\",\r\n CreateFoundedUser: \"Error: User already exists try with another username\",\r\n FindAllNotFound: \"Not users found\",\r\n UserFindOne: \"User with given ID not found\",\r\n UserFindOneError: \"Error getting user by ID\",\r\n UserUpdate: \"Error updating user by ID\",\r\n DeleteUser: \"Error deleting user\",\r\n UsernameNotFound: \"User with given username not found\",\r\n IncorrectPassword: \"Incorrect or not valid password\",\r\n LastLogIn: \"Last LogIn date not updated\",\r\n authError: \"Username or password incorrect\",\r\n tokenRequired: \"Token required\",\r\n ClientDefined: \"This user already registered: Update user's contracts instead\",\r\n ClientsNotFound: \"List of clients is empty\",\r\n ClientNotFound: \"Client with given ID, not found\",\r\n ClientNotUpdated: \"Client with given ID, not updated\",\r\n DeleteClient: \"Error deleting client\",\r\n UsernameClientNotFound: \"Client with given username not found\",\r\n ContractsAllEmpty: \"Contract list empty\",\r\n ContractNotFound: \"Contract not found\",\r\n ContractUpdateError: \"Something goes wrong updating contract, try again\",\r\n ContractDeleteError: \"Something goes wrong deleting contract, try again\"\r\n};\r\n","export enum eAssetPeriod {\r\n MONTH = \"MONTH\",\r\n WEEK = \"WEEK\",\r\n}\r\n","export 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 USERNOTFOUND = \"USERNOTFOUND\",\r\n}\r\n\r\nexport enum eAuthActions {\r\n delete = \"delete\",\r\n auth = \"auth\"\r\n}\r\n\r\nexport enum eAuthType2 {\r\n auth = \"auth\",\r\n login = \"login\",\r\n idle = \"\"\r\n}\r\n\r\nexport enum eAuthType {\r\n USER = 'USER', // Used for user of Ravcredit platform user, employee\r\n ADMIN = \"ADMIN\",\r\n SELLER = 'SELLER',\r\n CLIENT = 'CLIENT', // Used for clients of Ravcredit\r\n CONSULTANT = 'CONSULTANT',\r\n FUNCTION = 'FUNCTION',\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 enum eConektaOrderType {\r\n REFERENCE = \"REFERENCE\",\r\n SPEI = \"SPEI\",\r\n}\r\n","export enum EnumDynamicClientStatus {\r\n ACCEPTED = \"Accepted\",\r\n PENDING = \"Pending\",\r\n REJECTED = \"Rejected\",\r\n ACTIVE = \"Active\",\r\n INACTIVE = \"Inactive\",\r\n CANCELED = \"Cancelled\",\r\n}\r\n","export enum eNotificationType { GLOBAL = \"global\", USER = \"user\", PAYMENT = \"payment\" }\r\n","export 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 eRequestVerb {\r\n POST = 'POST',\r\n GET = 'GET',\r\n PATCH = 'PATCH',\r\n DELETE = 'DELETE',\r\n}\r\n\r\nexport enum eGCActions {\r\n Create = 'Create',\r\n Update = 'Update',\r\n Remove = 'Remove',\r\n LoginTime = 'UpdateLogIn'\r\n}\r\n\r\nexport enum eOrderType {\r\n DYNAMIC_REFERENCE = 'DYNAMIC_REFERENCE',\r\n DYNAMIC_SPEI = 'DYNAMIC_SPEI',\r\n CONEKTA_REFERENCE = 'CONEKTA_REFERENCE',\r\n CONEKTA_SPEI = 'CONEKTA_SPEI',\r\n PASSPORT_REFERENCE = 'PASSPORT_REFERENCE',\r\n}\r\n","export enum eVerificationStep {\r\n IDLE = \"IDLE\",\r\n ERROR = \"ERROR\",\r\n COMPLETED = \"COMPLETED\",\r\n IN_PROGRESS = \"IN_PROGRESS\",\r\n INVALID = \"INVALID\",\r\n SUSPENDED = \"SUSPENDED\",\r\n CANCELLED = \"CANCELLED\",\r\n}\r\n\r\nexport enum eVerificationStatus {\r\n APPROVED = \"approved\",\r\n CANCELLED = \"cancelled\",\r\n}\r\n\r\nexport enum eVerificationChannel {\r\n SMS = \"sms\",\r\n WHATSAPP = \"whatsapp\",\r\n CALL = \"call\",\r\n EMAIL = \"email\",\r\n SNA = \"sna\",\r\n}\r\n","/*\r\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\n// export * 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/oLogIn';\r\nexport * from './lib/v1/objects/oNewPayment';\r\nexport * from './lib/v1/objects/oNotification';\r\nexport * from './lib/v1/objects/oPassport';\r\nexport * from './lib/v1/objects/oUser';\r\nexport * from './lib/v1/objects/oVerification';\r\n\r\nexport * from './lib/v1/util/UtilClient';\r\nexport * from './lib/v1/util/UtilsHttp'\r\nexport * from './lib/v1/util/UtilBusiness';\r\nexport * from './lib/v1/util/UtilDynamiCore';\r\nexport * from './lib/v1/util/UtilContract';\r\nexport * from './lib/v1/util/UtilConekta';\r\nexport * from './lib/v1/util/UtilNotification';\r\nexport * from './lib/v1/util/UtilTime';\r\nexport * from './lib/v1/util/UtilDashboard';\r\nexport * from './lib/v1/util/UtilPassport';\r\nexport * from './lib/v1/util/UtilPayment';\r\nexport * from './lib/v1/util/UtilGeneral';\r\n\r\nexport * from './lib/v1/idb/indexed-db.service';\r\nexport * from './lib/v1/const/constants';\r\n\r\nexport * from './lib/v2/constant/constants';\r\nexport * from './lib/v2/constant/messages';\r\n\r\nexport * from './lib/v2/objects/oAsset';\r\nexport * from './lib/v2/objects/oAws';\r\nexport * from './lib/v2/objects/oCatalog';\r\nexport * from './lib/v2/objects/oClient';\r\nexport * from './lib/v2/objects/oCompany';\r\nexport * from './lib/v2/objects/oContract';\r\nexport * from './lib/v2/objects/oHttp';\r\nexport * from './lib/v2/objects/oMediaDto';\r\nexport * from './lib/v2/objects/oMessaging';\r\nexport * from './lib/v2/objects/oScoreDto';\r\nexport * from './lib/v2/objects/oUtil';\r\n\r\nexport * from './lib/v2/objects/oUtil';\r\nexport * from './lib/v2/objects/oHttp';\r\n\r\nexport * from './lib/v2/enum/EnumAsset';\r\nexport * from './lib/v2/enum/EnumAuth';\r\nexport * from './lib/v2/enum/EnumClient';\r\nexport * from './lib/v2/enum/EnumConekta';\r\nexport * from './lib/v2/enum/EnumDynamic';\r\nexport * from './lib/v2/enum/EnumNotification';\r\nexport * from './lib/v2/enum/EnumPassport';\r\nexport * from './lib/v2/enum/EnumRoles';\r\nexport * from './lib/v2/enum/EnumToken';\r\nexport * from './lib/v2/enum/EnumUtil';\r\nexport * from './lib/v2/enum/EnumVerification';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -623,10 +623,10 @@ declare const cIDCGeneratedReference: IDCGeneratedReference;
623
623
  * Common Factory Dynamic
624
624
  * */
625
625
  declare class FactoryDynamiCore {
626
- static CreateReferenceBody(client: oClient, contract: oContract, dateTime?: number): IDCNewReference | null;
626
+ static CreateReferenceBody(client: oClientBase, contract: oContract, dateTime?: number): IDCNewReference | null;
627
627
  static CreateEmptyCustomer(): partialIDCData;
628
- static CreateCustomerFromOClient(client: oClient, contract: oContract): partialIDCData;
629
- static CreateDynamicCredit(client: oClient, contract: oContract, clientDynamic: IDCClient): Partial<IDCCredit> | null;
628
+ static CreateCustomerFromOClient(client: oClientBase, contract: oContract): partialIDCData;
629
+ static CreateDynamicCredit(client: oClientBase, contract: oContract, clientDynamic: IDCClient): Partial<IDCCredit> | null;
630
630
  static CreatePayment(contract: oContract, clientDynamic: IDCAccount): IDCPayment;
631
631
  static getNextDateTime(): string;
632
632
  static getIsoDate(): string;
@@ -643,7 +643,7 @@ declare enum eRoles {
643
643
  User = "User"
644
644
  }
645
645
 
646
- type tyClientContract = oClient & oContract;
646
+ type tyClientContract = oClientBase & oContract;
647
647
  interface oContractMetrics {
648
648
  total: number;
649
649
  activated: number;
@@ -698,22 +698,22 @@ interface iPaymentDelay {
698
698
  late: boolean;
699
699
  }
700
700
 
701
- declare const cClient: oClient;
701
+ declare const cClient: oClientBase;
702
702
  interface oClientConekta {
703
- ravcredit: oClient;
703
+ ravcredit: oClientBase;
704
704
  conekta: iConektaRecurrent;
705
705
  }
706
706
  declare const cUserReference: oUserReference;
707
707
  declare const cClientConekta: oClientConekta;
708
708
  interface iClientContract {
709
- client: oClient;
709
+ client: oClientBase;
710
710
  contract: oContract;
711
711
  }
712
712
  declare const cClientContract: iClientContract;
713
713
  declare class FactoryClient {
714
- static CreateClientToConektaObj(data: oClient): any;
715
- static CreateClientFromFormObj(data: any, client?: oClient): oClient;
716
- static CreateClientConektaObj(data: oClient, finalDate: number): {
714
+ static CreateClientToConektaObj(data: oClientBase): any;
715
+ static CreateClientFromFormObj(data: any, client?: oClientBase): oClientBase;
716
+ static CreateClientConektaObj(data: oClientBase, finalDate: number): {
717
717
  name: string;
718
718
  email: string;
719
719
  phone: string;
@@ -721,9 +721,9 @@ declare class FactoryClient {
721
721
  client_id: string;
722
722
  payment_sources: iConektaSources[];
723
723
  };
724
- static MapperConektaClient(client: oClient, conekta: iConektaRecurrent): iClientContract;
725
- static MapperTypeContCli_Client(_client: tyClientContract): oClient;
726
- static MapperDynamicClient(dynamic: IDCClient, client: oClient, contract: oContract, clientDyn?: IDCClient, account?: IDCAccount): iClientContract;
724
+ static MapperConektaClient(client: oClientBase, conekta: iConektaRecurrent): iClientContract;
725
+ static MapperTypeContCli_Client(_client: tyClientContract): oClientBase;
726
+ static MapperDynamicClient(dynamic: IDCClient, client: oClientBase, contract: oContract, clientDyn?: IDCClient, account?: IDCAccount): iClientContract;
727
727
  static MapperFinancialContract(contract: oContract, account: IDCAccount): oFinancial;
728
728
  static CheckEmail: (email: string) => boolean;
729
729
  }
@@ -846,7 +846,7 @@ interface oClientReferences {
846
846
  url?: string;
847
847
  type?: eOrderType;
848
848
  }
849
- interface oClientV2 extends oClient {
849
+ interface oClient extends oClientBase {
850
850
  score: oScore;
851
851
  seller_id?: string;
852
852
  scoreNoHit?: oScoreNoHit;
@@ -869,7 +869,7 @@ interface oUserReference {
869
869
  phone: string;
870
870
  relationship: string;
871
871
  }
872
- interface oClient {
872
+ interface oClientBase {
873
873
  id: string;
874
874
  name: string;
875
875
  username: string;
@@ -1110,7 +1110,7 @@ interface oConektaNewOrder {
1110
1110
  interface oConektaOrderSpei {
1111
1111
  data: oConektaOrderCreate;
1112
1112
  date?: number;
1113
- client: oClient;
1113
+ client: oClientBase;
1114
1114
  }
1115
1115
  interface oConektaResPrevAttr {
1116
1116
  status: string;
@@ -1328,11 +1328,11 @@ interface iContractAll {
1328
1328
  referenceCreated(response: boolean, provider: string): void;
1329
1329
  getColumnName(column: string): string;
1330
1330
  searchDynamicAccount(client: tyClientContract): Promise<IDCAccount | null>;
1331
- updateClient(client: Partial<oClient>): Promise<boolean>;
1331
+ updateClient(client: Partial<oClientBase>): Promise<boolean>;
1332
1332
  updateContract(id: string, contract: Partial<oContract>): Promise<boolean>;
1333
- deleteClient(client: oClient): Promise<boolean>;
1333
+ deleteClient(client: oClientBase): Promise<boolean>;
1334
1334
  deleteContract(contract: oContract): Promise<boolean>;
1335
- updateClientAppAccess(client: Partial<oClient>, id: string): Promise<boolean>;
1335
+ updateClientAppAccess(client: Partial<oClientBase>, id: string): Promise<boolean>;
1336
1336
  calcTotal(contract: oContract): number;
1337
1337
  }
1338
1338
 
@@ -1373,12 +1373,17 @@ interface oAuthRes {
1373
1373
  status: number;
1374
1374
  data: {};
1375
1375
  }
1376
+ declare enum eDestinationType {
1377
+ auth = "auth",
1378
+ login = "login",
1379
+ idle = ""
1380
+ }
1376
1381
 
1377
1382
  interface iNewPayment {
1378
1383
  getContract(): Promise<void>;
1379
1384
  getContractApi(): Promise<oContract>;
1380
1385
  getClient(contract: oContract): Promise<void>;
1381
- getClientApi(contract: oContract): Promise<oClient>;
1386
+ getClientApi(contract: oContract): Promise<oClientBase>;
1382
1387
  getParams(): Promise<void>;
1383
1388
  getAccount(): Promise<boolean>;
1384
1389
  createPayment(): Promise<string>;
@@ -1589,7 +1594,7 @@ declare const cDevice: oDevice;
1589
1594
  declare const cFinancial: oFinancial;
1590
1595
  declare const cContract: oContract;
1591
1596
  declare class FactoryContract {
1592
- static FormClient(client?: oClient): {
1597
+ static FormClient(client?: oClientBase): {
1593
1598
  name: UntypedFormControl;
1594
1599
  email: UntypedFormControl;
1595
1600
  phone: UntypedFormControl;
@@ -1655,7 +1660,7 @@ declare enum ePaymentType {
1655
1660
  OXXO_RECURRENT = "oxxo_recurrent"
1656
1661
  }
1657
1662
  declare class FactoryConekta {
1658
- static createOrder(client: oClient, contract: oContract, dateTime?: number): oConektaNewOrder;
1663
+ static createOrder(client: oClientBase, contract: oContract, dateTime?: number): oConektaNewOrder;
1659
1664
  }
1660
1665
 
1661
1666
  declare const ROUTE_NOTIFICATIONS = "notifications";
@@ -1692,7 +1697,7 @@ declare class UtilTime {
1692
1697
  declare const cContractMetrics: oContractMetrics;
1693
1698
 
1694
1699
  declare class FactoryPassport {
1695
- static CreatePassportReference(client: oClient, contract: oContract, dateTime?: number): iGlobalPassport;
1700
+ static CreatePassportReference(client: oClientBase, contract: oContract, dateTime?: number): iGlobalPassport;
1696
1701
  }
1697
1702
 
1698
1703
  interface oPaymentGlobal {
@@ -1743,7 +1748,7 @@ declare class IndexedDbService {
1743
1748
  getAuthUser(): Promise<oUser>;
1744
1749
  getAuthName(): Promise<string>;
1745
1750
  getAuthUsername(): Promise<string>;
1746
- saveDataLocally<T>(contract: oContract, client: oClient, providerData: T): Promise<boolean>;
1751
+ saveDataLocally<T>(contract: oContract, client: oClientBase, providerData: T): Promise<boolean>;
1747
1752
  /******************** MERGE **************************************/
1748
1753
  getAllClientContracts(): Promise<tyClientContract[]>;
1749
1754
  /******************** MERGE **************************************/
@@ -1805,7 +1810,7 @@ interface oResponse {
1805
1810
  statusCode: number;
1806
1811
  error?: string;
1807
1812
  epochTime: number;
1808
- data: oUser | oUser[] | oBusinessInfo | oAddress | oSchedule | oFinancial | string | iPaymentDelay | oClient | oDevice | iConfigUUID | Response | oNotification | null | any;
1813
+ data: oUser | oUser[] | oBusinessInfo | oAddress | oSchedule | oFinancial | string | iPaymentDelay | oClientBase | oDevice | iConfigUUID | Response | oNotification | null | any;
1809
1814
  }
1810
1815
  interface oResponseFuncEmail {
1811
1816
  success: boolean;
@@ -2036,5 +2041,5 @@ interface oPayloadToken {
2036
2041
  role: eRoles;
2037
2042
  }
2038
2043
 
2039
- export { EnumDynamicClientStatus, ErrorMessages, FactoryBusiness, FactoryClient, FactoryConekta, FactoryContract, FactoryDynamiCore, FactoryNotification, FactoryPassport, FactoryPayment, IndexedDbService, ROLES_KEY, ROUTE_GLOBAL_REFERENCE2, ROUTE_NOTIFICATIONS, RavcreditLibComponent, RavcreditLibService, TIME_FORMAT_TABLE, UtilGeneral, UtilTime, UtilsHttp, cAddress, cAuthConfig, cBusinessConfig, cBusinessDeadlines, cBusinessInfo, cClient, cClientConekta, cClientContract, cClientDynamicStatus, cConektaRecurrent, cContract, cContractMetrics, cDaySchedule, cDefinedSchedule, cDevice, cEmptyDay, cFinancial, cIDCCharge, cIDCCustomer, cIDCDataPii, cIDCGeneratedReference, cIDCPayment, cNotification, cOptionsClientStatus, cOxxoRecurrentSources, cOxxoRecurrentSourcesData, cPaymentDelay, cResponse, cSchedule, cSingleOptionClientStatus, cTopic, cTyClientContract, cUserReference, dateCompleteFormat, dateFormat, dateFormatSimple, dbAuthStore, dbBusinessConfig, dbBusinessInfo, dbClientsStore, dbConektaClientsStore, dbConektaReferencesStore, dbConektaSpeiStore, dbContractsStore, dbDynamicAccountStore, dbDynamicReferencesStore, dbIndexAuth, dbIndexBusiness, dbIndexClients, dbIndexConektaClients, dbIndexConektaClientsRef, dbIndexContracts, dbIndexNotification, dbIndexPassportClientsRef, dbIndexPayments, dbIndexUsers, dbName, dbNotificationsStore, dbPassportReferencesStore, dbPaymentsStore, dbUsersStore, dbVersion, eAccountDynamicStatus, eAssetPeriod, eAuthActions, eAuthType, eAuthType2, eClientDynamicStatus, eClientStatus, eConektaOrderStatus, eConektaOrderType, eConektaRes, eContractStatus, eContractSteps, eGCActions, eIdentityTypes, eLoginStatus, eNotificationType, eOrderType, ePassportTypes, ePaymentType, eProcessStatus, eProvider, eReferenceStatusRav, eRequestVerb, eRoles, eRolesSelect, eVerificationChannel, eVerificationStatus, eVerificationStep, expiredPayment, keyPathId, keyUserID, ravCreditFunctions, snackBarConfigAction, snackBarConfigNoAction, snackBarConfigNoActionLong, timeFormat, timeFormatTable, week };
2040
- export type { BankTransferPaymentSpei, ChargeListSpei, ChargeSpei, CustomerInfoSpei, HasUnsavedChanges, IBaseVerification, IDCAccount, IDCAccountConfig, IDCAccountProps, IDCCharge, IDCClient, IDCClientObjFilter, IDCClientPiiFilter, IDCClientQuery, IDCCredit, IDCCreditConfig, IDCCreditProperties, IDCDataPii, IDCGeneratedReference, IDCMntryCycle, IDCMntryPymt, IDCMntryPymtAll, IDCMntryPymtAllPaidTotal, IDCMntryPymtCal, IDCMntryPymtDue, IDCMntryPymtDueTax, IDCMntryPymtOpen, IDCMntryPymtPaid, IDCMntryPymtPymt, IDCMsg, IDCNewReference, IDCOxxoRef, IDCOxxoRefItem, IDCOxxoRefPymtMth, IDCPayment, IDCRefCustInfo, IDCRefItems, IDCRefPymtMethod, IDCReference, IDCTransaction, IDCTxn, IDCTxnHeader, IDCTxnRow, IDCTxnRowExtras, IDynamiCore, ILambdaResponse, ISendCodeAttempt, ISignIn, IVerificationCheckSms, IVerificationData, IVerificationSms, LineItemListSpei, LineItemSpei, Tokens, iAuthConfig, iBusinessInfo, iClientContract, iConektaRecurrent, iConektaResData, iConektaResObjChargePaid, iConektaResObjChargePaidMethod, iConektaResPrevAttr, iConektaSources, iConfigUUID, iContract, iContractAll, iGlobalPassport, iInformativeDialog, iNewPayment, iOptionsSelect, iOxxoRecurrentSources, iOxxorecurrentSourcesData, iPassportAdditional, iPassportReference, iPassportReferenceCenters, iPassportReferenceData, iPassportReferenceRes, iPassportResponse, iPassportResponseData, iPaymentDelay, iSelect, iServiceUser, iSnackBarMessage, iUser, oAddress, oAsset, oAssetBrand, oAssetCategory, oAssetOffer, oAuth, oAuthRes, oBusinessConfig, oBusinessDeadlines, oBusinessInfo, oCatalog, oClientConekta, oClientPayments$1 as oClientPayments, oClientReferences, oClientV2, oCompany, oConektaChannel, oConektaChargeData, oConektaCharges, oConektaCheckout, oConektaCustomerInfo, oConektaLineItem, oConektaLineItems, oConektaMixOrder, oConektaNewOrder, oConektaNewOrderAntifraudInfo, oConektaNewOrderCharge, oConektaNewOrderCustomerInfo, oConektaNewOrderLineItem, oConektaNewOrderPymMethod, oConektaOrder, oConektaOrderCreate, oConektaOrderResponseSpei, oConektaOrderSpei, oConektaOrdersResponse, oConektaPaymentMethod, oConektaRes, oConektaResData, oConektaResObjChargePaid, oConektaResObjOrderPaid, oConektaResPrevAttr, oContract, oContractMetrics, oContractV2, oCustomer, oCustomerInfo, oDaySchedule, oDevice, oFinancial, oFinancialProgress, oMediaIdentity, oMessaging, oMessagingData, oNotification, oNotificationResponses, oPayloadToken, oPaymentDates, oPaymentGlobal, oPaymentOption, oResponse, oResponseFuncEmail, oSchedule, oScore, oScoreAddress, oScoreGeneral, oScoreHit, oScoreNoHit, oScoreReference, oTmpBusinessConfig, oUser, oUserReference$1 as oUserReference, oWeekSchedule, partialIDCData, tyClientContract };
2044
+ export { EnumDynamicClientStatus, ErrorMessages, FactoryBusiness, FactoryClient, FactoryConekta, FactoryContract, FactoryDynamiCore, FactoryNotification, FactoryPassport, FactoryPayment, IndexedDbService, ROLES_KEY, ROUTE_GLOBAL_REFERENCE2, ROUTE_NOTIFICATIONS, RavcreditLibComponent, RavcreditLibService, TIME_FORMAT_TABLE, UtilGeneral, UtilTime, UtilsHttp, cAddress, cAuthConfig, cBusinessConfig, cBusinessDeadlines, cBusinessInfo, cClient, cClientConekta, cClientContract, cClientDynamicStatus, cConektaRecurrent, cContract, cContractMetrics, cDaySchedule, cDefinedSchedule, cDevice, cEmptyDay, cFinancial, cIDCCharge, cIDCCustomer, cIDCDataPii, cIDCGeneratedReference, cIDCPayment, cNotification, cOptionsClientStatus, cOxxoRecurrentSources, cOxxoRecurrentSourcesData, cPaymentDelay, cResponse, cSchedule, cSingleOptionClientStatus, cTopic, cTyClientContract, cUserReference, dateCompleteFormat, dateFormat, dateFormatSimple, dbAuthStore, dbBusinessConfig, dbBusinessInfo, dbClientsStore, dbConektaClientsStore, dbConektaReferencesStore, dbConektaSpeiStore, dbContractsStore, dbDynamicAccountStore, dbDynamicReferencesStore, dbIndexAuth, dbIndexBusiness, dbIndexClients, dbIndexConektaClients, dbIndexConektaClientsRef, dbIndexContracts, dbIndexNotification, dbIndexPassportClientsRef, dbIndexPayments, dbIndexUsers, dbName, dbNotificationsStore, dbPassportReferencesStore, dbPaymentsStore, dbUsersStore, dbVersion, eAccountDynamicStatus, eAssetPeriod, eAuthActions, eAuthType, eAuthType2, eClientDynamicStatus, eClientStatus, eConektaOrderStatus, eConektaOrderType, eConektaRes, eContractStatus, eContractSteps, eDestinationType, eGCActions, eIdentityTypes, eLoginStatus, eNotificationType, eOrderType, ePassportTypes, ePaymentType, eProcessStatus, eProvider, eReferenceStatusRav, eRequestVerb, eRoles, eRolesSelect, eVerificationChannel, eVerificationStatus, eVerificationStep, expiredPayment, keyPathId, keyUserID, ravCreditFunctions, snackBarConfigAction, snackBarConfigNoAction, snackBarConfigNoActionLong, timeFormat, timeFormatTable, week };
2045
+ export type { BankTransferPaymentSpei, ChargeListSpei, ChargeSpei, CustomerInfoSpei, HasUnsavedChanges, IBaseVerification, IDCAccount, IDCAccountConfig, IDCAccountProps, IDCCharge, IDCClient, IDCClientObjFilter, IDCClientPiiFilter, IDCClientQuery, IDCCredit, IDCCreditConfig, IDCCreditProperties, IDCDataPii, IDCGeneratedReference, IDCMntryCycle, IDCMntryPymt, IDCMntryPymtAll, IDCMntryPymtAllPaidTotal, IDCMntryPymtCal, IDCMntryPymtDue, IDCMntryPymtDueTax, IDCMntryPymtOpen, IDCMntryPymtPaid, IDCMntryPymtPymt, IDCMsg, IDCNewReference, IDCOxxoRef, IDCOxxoRefItem, IDCOxxoRefPymtMth, IDCPayment, IDCRefCustInfo, IDCRefItems, IDCRefPymtMethod, IDCReference, IDCTransaction, IDCTxn, IDCTxnHeader, IDCTxnRow, IDCTxnRowExtras, IDynamiCore, ILambdaResponse, ISendCodeAttempt, ISignIn, IVerificationCheckSms, IVerificationData, IVerificationSms, LineItemListSpei, LineItemSpei, Tokens, iAuthConfig, iBusinessInfo, iClientContract, iConektaRecurrent, iConektaResData, iConektaResObjChargePaid, iConektaResObjChargePaidMethod, iConektaResPrevAttr, iConektaSources, iConfigUUID, iContract, iContractAll, iGlobalPassport, iInformativeDialog, iNewPayment, iOptionsSelect, iOxxoRecurrentSources, iOxxorecurrentSourcesData, iPassportAdditional, iPassportReference, iPassportReferenceCenters, iPassportReferenceData, iPassportReferenceRes, iPassportResponse, iPassportResponseData, iPaymentDelay, iSelect, iServiceUser, iSnackBarMessage, iUser, oAddress, oAsset, oAssetBrand, oAssetCategory, oAssetOffer, oAuth, oAuthRes, oBusinessConfig, oBusinessDeadlines, oBusinessInfo, oCatalog, oClient, oClientConekta, oClientPayments$1 as oClientPayments, oClientReferences, oCompany, oConektaChannel, oConektaChargeData, oConektaCharges, oConektaCheckout, oConektaCustomerInfo, oConektaLineItem, oConektaLineItems, oConektaMixOrder, oConektaNewOrder, oConektaNewOrderAntifraudInfo, oConektaNewOrderCharge, oConektaNewOrderCustomerInfo, oConektaNewOrderLineItem, oConektaNewOrderPymMethod, oConektaOrder, oConektaOrderCreate, oConektaOrderResponseSpei, oConektaOrderSpei, oConektaOrdersResponse, oConektaPaymentMethod, oConektaRes, oConektaResData, oConektaResObjChargePaid, oConektaResObjOrderPaid, oConektaResPrevAttr, oContract, oContractMetrics, oContractV2, oCustomer, oCustomerInfo, oDaySchedule, oDevice, oFinancial, oFinancialProgress, oMediaIdentity, oMessaging, oMessagingData, oNotification, oNotificationResponses, oPayloadToken, oPaymentDates, oPaymentGlobal, oPaymentOption, oResponse, oResponseFuncEmail, oSchedule, oScore, oScoreAddress, oScoreGeneral, oScoreHit, oScoreNoHit, oScoreReference, oTmpBusinessConfig, oUser, oUserReference$1 as oUserReference, oWeekSchedule, partialIDCData, tyClientContract };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ravcredit-lib",
3
- "version": "0.0.56",
3
+ "version": "0.0.58",
4
4
  "types": "./src/index.d.ts",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^20.0.0",