@spytecgps/nova-orm 0.0.224 → 0.0.225
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/entities/acumaticaAmazonProduct.js +46 -0
- package/dist/entities/acumaticaImeiIccidData.js +91 -0
- package/dist/entities/acumaticaOrderShipmentDetails.js +61 -0
- package/dist/entities/acumaticaShipment.js +31 -0
- package/dist/entities/acumaticaShipmentAmazon.js +26 -0
- package/dist/entities/aempToken.js +47 -0
- package/dist/entities/alert.js +129 -0
- package/dist/entities/alertMigration.js +115 -0
- package/dist/entities/alertMigrationBatch.js +21 -0
- package/dist/entities/alertTimeWindowConfiguration.js +61 -0
- package/dist/entities/alertType.js +83 -0
- package/dist/entities/appFeatureType.js +36 -0
- package/dist/entities/assetCategory.js +32 -0
- package/dist/entities/billing.js +108 -0
- package/dist/entities/billingCustomerBraintree.js +62 -0
- package/dist/entities/billingDeviceHistory.js +61 -0
- package/dist/entities/billingHubspotPaymentLog.js +256 -0
- package/dist/entities/billingKlarnaCustomer.js +76 -0
- package/dist/entities/billingKlarnaOrder.js +114 -0
- package/dist/entities/billingStatusHistoryBraintree.js +63 -0
- package/dist/entities/billingSubscriptionBraintree.js +229 -0
- package/dist/entities/blacklist.js +51 -0
- package/dist/entities/blacklistType.js +31 -0
- package/dist/entities/boundary.js +119 -0
- package/dist/entities/boundaryEvent.js +105 -0
- package/dist/entities/cellTower.js +66 -0
- package/dist/entities/client.js +153 -0
- package/dist/entities/clientAppFeature.js +47 -0
- package/dist/entities/clientConfiguration.js +47 -0
- package/dist/entities/clientDeviceSetting.js +90 -0
- package/dist/entities/clientType.js +36 -0
- package/dist/entities/country.js +90 -0
- package/dist/entities/customerAttribute.js +52 -0
- package/dist/entities/dataSourceType.js +31 -0
- package/dist/entities/deactivation.js +83 -0
- package/dist/entities/deactivationReason.js +40 -0
- package/dist/entities/device.js +160 -0
- package/dist/entities/deviceAlertConfiguration.js +71 -0
- package/dist/entities/deviceBehavior.js +147 -0
- package/dist/entities/deviceCustomConfiguration.js +67 -0
- package/dist/entities/deviceHistory.js +46 -0
- package/dist/entities/deviceModelListener.js +46 -0
- package/dist/entities/devicePairing.js +67 -0
- package/dist/entities/devicePromotion.js +104 -0
- package/dist/entities/deviceReplacement.js +57 -0
- package/dist/entities/deviceTask.js +44 -0
- package/dist/entities/deviceType.js +149 -0
- package/dist/entities/deviceTypeEvent.js +32 -0
- package/dist/entities/deviceTypeFeature.js +32 -0
- package/dist/entities/deviceTypeFirmware.js +117 -0
- package/dist/entities/entityTag.js +48 -0
- package/dist/entities/entityType.js +31 -0
- package/dist/entities/event.js +36 -0
- package/dist/entities/feature.js +36 -0
- package/dist/entities/firmwareAutoUpgradeBlacklist.js +35 -0
- package/dist/entities/firmwareUpgradeTask.js +105 -0
- package/dist/entities/iccidStatus.js +49 -0
- package/dist/entities/imeiIccidCarrier.js +125 -0
- package/dist/entities/imeiIccidHistory.js +43 -0
- package/dist/entities/index.js +99 -0
- package/dist/entities/industry.js +46 -0
- package/dist/entities/latestPosition.js +100 -0
- package/dist/entities/latestPositionMigration.js +96 -0
- package/dist/entities/latestPositionMigrationBatch.js +21 -0
- package/dist/entities/magento2Gps.js +256 -0
- package/dist/entities/magento2Plan.js +41 -0
- package/dist/entities/mobileNetwork.js +51 -0
- package/dist/entities/notificationRecipient.js +100 -0
- package/dist/entities/organization.js +46 -0
- package/dist/entities/plan.js +86 -0
- package/dist/entities/position.js +102 -0
- package/dist/entities/positionMigration.js +96 -0
- package/dist/entities/positionMigrationBatch.js +21 -0
- package/dist/entities/promotion.js +134 -0
- package/dist/entities/securityRole.js +41 -0
- package/dist/entities/serviceProvider.js +41 -0
- package/dist/entities/serviceProviderProduct.js +61 -0
- package/dist/entities/serviceProviderProductNetwork.js +31 -0
- package/dist/entities/serviceProviderProductType.js +31 -0
- package/dist/entities/sim.js +92 -0
- package/dist/entities/task.js +146 -0
- package/dist/entities/taskSchedule.js +141 -0
- package/dist/entities/trip.js +127 -0
- package/dist/entities/tripCompletionStatus.js +36 -0
- package/dist/entities/tripPosition.js +26 -0
- package/dist/entities/user.js +196 -0
- package/dist/entities/userActivation.js +52 -0
- package/dist/entities/userActivationDevice.js +164 -0
- package/dist/entities/userActivationEvent.js +61 -0
- package/dist/entities/userActivationMetric.js +208 -0
- package/dist/entities/userAlertComplain.js +78 -0
- package/dist/entities/userAlertConfiguration.js +109 -0
- package/dist/entities/userAppFeedback.js +52 -0
- package/dist/entities/userAppIncident.js +176 -0
- package/dist/entities/userConfiguration.js +109 -0
- package/dist/entities/userDataDeletionRequest.js +56 -0
- package/dist/entities/userDeviceBehaviorTask.js +80 -0
- package/dist/entities/userInvitation.js +89 -0
- package/dist/entities/userRatingRequest.js +75 -0
- package/dist/entities/userRegistrationAttempt.js +177 -0
- package/dist/entities/userSecurityRole.js +33 -0
- package/dist/index.js +1 -2
- package/dist/migration/1684483704434-addLowerCaseIndex.js +16 -0
- package/dist/novaDataSource.js +110 -0
- package/dist/repositories/acumatica/getAcumaticaImeiIccidData.js +35 -0
- package/dist/repositories/acumatica/getAcumaticaShipmentDetails.js +50 -0
- package/dist/repositories/acumatica/getLastAcumaticaShipmentDetails.js +27 -0
- package/dist/repositories/acumatica/index.js +52 -0
- package/dist/repositories/aempToken/createAempToken.js +26 -0
- package/dist/repositories/aempToken/deleteAempTokens.js +30 -0
- package/dist/repositories/aempToken/getAempTokens.js +27 -0
- package/dist/repositories/aempToken/index.js +53 -0
- package/dist/repositories/alertTypes/getAlertTypes.js +13 -0
- package/dist/repositories/alertTypes/index.js +18 -0
- package/dist/repositories/alerts/createAlert.js +94 -0
- package/dist/repositories/alerts/createUserAlertComplain.js +26 -0
- package/dist/repositories/alerts/getAlertsReportByClient.js +65 -0
- package/dist/repositories/alerts/getAlertsReportByUser.js +127 -0
- package/dist/repositories/alerts/index.js +104 -0
- package/dist/repositories/appFeatures/createAppFeatureType.js +15 -0
- package/dist/repositories/appFeatures/createClientAppFeature.js +15 -0
- package/dist/repositories/appFeatures/getClientAppFeatures.js +39 -0
- package/dist/repositories/appFeatures/index.js +57 -0
- package/dist/repositories/assetCategories/getAssetCategories.js +8 -0
- package/dist/repositories/assetCategories/index.js +16 -0
- package/dist/repositories/baseRepository.js +9 -0
- package/dist/repositories/billing/createBilling.js +37 -0
- package/dist/repositories/billing/createBillingDeviceHistory.js +30 -0
- package/dist/repositories/billing/createBillingHubspotPaymentLog.js +61 -0
- package/dist/repositories/billing/createBillingStatusHistoryBraintree.js +32 -0
- package/dist/repositories/billing/getBillingCustomerBraintreeById.js +18 -0
- package/dist/repositories/billing/getBillingKlarnaOrderByImei.js +18 -0
- package/dist/repositories/billing/getBillingSubscriptionBraintreeByImei.js +18 -0
- package/dist/repositories/billing/getBillingSubscriptionsBraintree.js +25 -0
- package/dist/repositories/billing/getBillings.js +42 -0
- package/dist/repositories/billing/getCanceledImeis.js +84 -0
- package/dist/repositories/billing/getCanceledImeisMatchingMagentoData.js +100 -0
- package/dist/repositories/billing/getChurnStatusByClientId.js +27 -0
- package/dist/repositories/billing/getClientIdFromBraintreeCustomer.js +20 -0
- package/dist/repositories/billing/getMagentoPlan.js +21 -0
- package/dist/repositories/billing/getUserByBraintreeCustomerId.js +22 -0
- package/dist/repositories/billing/index.js +353 -0
- package/dist/repositories/billing/updateBilling.js +43 -0
- package/dist/repositories/billing/updateBillingCustomerBraintree.js +37 -0
- package/dist/repositories/billing/upsertBillingCustomerBraintree.js +39 -0
- package/dist/repositories/billing/upsertBillingKlarnaCustomer.js +52 -0
- package/dist/repositories/billing/upsertBillingKlarnaOrder.js +58 -0
- package/dist/repositories/billing/upsertBillingSubscriptionBraintree.js +20 -0
- package/dist/repositories/blacklist/getBlacklists.js +19 -0
- package/dist/repositories/blacklist/index.js +19 -0
- package/dist/repositories/boundaries/createBoundary.js +52 -0
- package/dist/repositories/boundaries/deleteBoundary.js +23 -0
- package/dist/repositories/boundaries/getBoundariesByClientId.js +17 -0
- package/dist/repositories/boundaries/getBoundariesIdsByClientId.js +19 -0
- package/dist/repositories/boundaries/getBoundariesReport.js +141 -0
- package/dist/repositories/boundaries/getBoundaryById.js +14 -0
- package/dist/repositories/boundaries/index.js +178 -0
- package/dist/repositories/boundaries/processBoundaryEvent.js +211 -0
- package/dist/repositories/boundaries/updateBoundary.js +53 -0
- package/dist/repositories/boundaries/upsertBoundaryEvent.js +23 -0
- package/dist/repositories/clients/createClient.js +35 -0
- package/dist/repositories/clients/createClientConfiguration.js +18 -0
- package/dist/repositories/clients/createCustomerAttribute.js +16 -0
- package/dist/repositories/clients/deleteClientAndConfiguration.js +25 -0
- package/dist/repositories/clients/getClient.js +32 -0
- package/dist/repositories/clients/getClientConfiguration.js +14 -0
- package/dist/repositories/clients/getClients.js +26 -0
- package/dist/repositories/clients/getCustomerAttribute.js +14 -0
- package/dist/repositories/clients/index.js +192 -0
- package/dist/repositories/clients/updateClient.js +52 -0
- package/dist/repositories/clients/updateClientConfiguration.js +31 -0
- package/dist/repositories/clients/updateCustomerAttribute.js +27 -0
- package/dist/repositories/countries/getCountries.js +14 -0
- package/dist/repositories/countries/getCountry.js +23 -0
- package/dist/repositories/countries/index.js +33 -0
- package/dist/repositories/deactivations/createDeactivation.js +16 -0
- package/dist/repositories/deactivations/getDeactivationReasons.js +24 -0
- package/dist/repositories/deactivations/getLatestDeactivationByImei.js +19 -0
- package/dist/repositories/deactivations/index.js +58 -0
- package/dist/repositories/deviceBehaviors/createDeviceBehaviorTask.js +48 -0
- package/dist/repositories/deviceBehaviors/getDeviceBehaviorTasks.js +40 -0
- package/dist/repositories/deviceBehaviors/getDeviceBehaviors.js +41 -0
- package/dist/repositories/deviceBehaviors/getDeviceBehaviorsByIds.js +16 -0
- package/dist/repositories/deviceBehaviors/getDevicesLastBehaviorTask.js +42 -0
- package/dist/repositories/deviceBehaviors/getLatestDeviceBehaviorTasks.js +40 -0
- package/dist/repositories/deviceBehaviors/index.js +147 -0
- package/dist/repositories/deviceBehaviors/updateDeviceBehaviorTask.js +27 -0
- package/dist/repositories/deviceBehaviors/upsertDeviceBehavior.js +20 -0
- package/dist/repositories/devicePairings/createDevicePairing.js +21 -0
- package/dist/repositories/devicePairings/deleteDevicePairing.js +16 -0
- package/dist/repositories/devicePairings/getDevicePairings.js +36 -0
- package/dist/repositories/devicePairings/getDevicePairingsByImei.js +20 -0
- package/dist/repositories/devicePairings/index.js +90 -0
- package/dist/repositories/devicePairings/updateDevicePairing.js +32 -0
- package/dist/repositories/devices/createClientDeviceSetting.js +25 -0
- package/dist/repositories/devices/createDevice.js +30 -0
- package/dist/repositories/devices/createDeviceReplacement.js +34 -0
- package/dist/repositories/devices/createDeviceType.js +15 -0
- package/dist/repositories/devices/deleteDevice.js +16 -0
- package/dist/repositories/devices/generateDeviceIdentifierKey.js +18 -0
- package/dist/repositories/devices/getCanceledDevicesWithActiveSimCards.js +40 -0
- package/dist/repositories/devices/getCarrierStatusUpdatedBefore.js +40 -0
- package/dist/repositories/devices/getClientDeviceSetting.js +20 -0
- package/dist/repositories/devices/getClientDeviceSettings.js +17 -0
- package/dist/repositories/devices/getDevice.js +33 -0
- package/dist/repositories/devices/getDeviceCustomConfig.js +37 -0
- package/dist/repositories/devices/getDeviceTypeByImei.js +18 -0
- package/dist/repositories/devices/getDeviceTypes.js +30 -0
- package/dist/repositories/devices/getDeviceTypesModelsOrderedByDeviceCount.js +27 -0
- package/dist/repositories/devices/getDeviceWithUsersInfo.js +59 -0
- package/dist/repositories/devices/getDevices.js +46 -0
- package/dist/repositories/devices/getFilteredImeisWithStatus.js +20 -0
- package/dist/repositories/devices/getIccidStatus.js +17 -0
- package/dist/repositories/devices/getImeiIccidCarrier.js +23 -0
- package/dist/repositories/devices/getImeiIccidCarriers.js +17 -0
- package/dist/repositories/devices/index.js +464 -0
- package/dist/repositories/devices/updateClientDeviceSetting.js +38 -0
- package/dist/repositories/devices/updateDevice.js +56 -0
- package/dist/repositories/devices/updateDeviceType.js +43 -0
- package/dist/repositories/devices/updateIccidStatus.js +28 -0
- package/dist/repositories/devices/updateImeiIccidCarrier.js +43 -0
- package/dist/repositories/devices/upsertIccidStatus.js +36 -0
- package/dist/repositories/firmwares/createDeviceFirmware.js +37 -0
- package/dist/repositories/firmwares/createFirmwareAutoUpgradeBlacklist.js +16 -0
- package/dist/repositories/firmwares/createFirmwareUpgradeTask.js +36 -0
- package/dist/repositories/firmwares/getDeviceFirmwares.js +21 -0
- package/dist/repositories/firmwares/getFirmwareAutoUpgradeBlacklist.js +23 -0
- package/dist/repositories/firmwares/getFirmwareUpgradeTasks.js +105 -0
- package/dist/repositories/firmwares/getFirmwareUpgradeTasksCount.js +56 -0
- package/dist/repositories/firmwares/index.js +194 -0
- package/dist/repositories/firmwares/updateDeviceFirmware.js +41 -0
- package/dist/repositories/firmwares/updateFirmwareUpgradeTasks.js +37 -0
- package/dist/repositories/index.js +31 -0
- package/dist/repositories/notificationRecipients/createNotificationRecipient.js +37 -0
- package/dist/repositories/notificationRecipients/deleteNotificationRecipients.js +26 -0
- package/dist/repositories/notificationRecipients/deleteNotificationRecipientsByEmailOrPhone.js +28 -0
- package/dist/repositories/notificationRecipients/getNotificationRecipients.js +16 -0
- package/dist/repositories/notificationRecipients/index.js +131 -0
- package/dist/repositories/notificationRecipients/updateNotificationRecipient.js +37 -0
- package/dist/repositories/notificationRecipients/updateUsersNotificationsUnsubscribedInfoStatus.js +98 -0
- package/dist/repositories/notificationRecipients/updateUsersNotificationsUnsuscribedStatus.js +35 -0
- package/dist/repositories/positions/createPosition.js +100 -0
- package/dist/repositories/positions/getLatestPositionByImei.js +26 -0
- package/dist/repositories/positions/getPositionsByImei.js +23 -0
- package/dist/repositories/positions/getPositionsReportByClient.js +87 -0
- package/dist/repositories/positions/index.js +101 -0
- package/dist/repositories/positions/upsertLatestPosition.js +41 -0
- package/dist/repositories/security/createUserRole.js +30 -0
- package/dist/repositories/security/getAllRoles.js +8 -0
- package/dist/repositories/security/getUserRoles.js +15 -0
- package/dist/repositories/security/getUserRolesByClientId.js +17 -0
- package/dist/repositories/security/index.js +111 -0
- package/dist/repositories/security/removeUserRoles.js +21 -0
- package/dist/repositories/security/updateUserRole.js +27 -0
- package/dist/repositories/security/userIsAdminOrOwner.js +20 -0
- package/dist/repositories/security/userIsInRole.js +18 -0
- package/dist/repositories/tasks/addTaskScheduleDevices.js +37 -0
- package/dist/repositories/tasks/completeTask.js +25 -0
- package/dist/repositories/tasks/createTask.js +22 -0
- package/dist/repositories/tasks/createTaskSchedule.js +33 -0
- package/dist/repositories/tasks/deleteTask.js +22 -0
- package/dist/repositories/tasks/deleteTaskSchedule.js +22 -0
- package/dist/repositories/tasks/deleteTaskScheduleDevices.js +17 -0
- package/dist/repositories/tasks/getDeviceTasks.js +28 -0
- package/dist/repositories/tasks/getTaskSchedule.js +31 -0
- package/dist/repositories/tasks/getTaskSchedules.js +75 -0
- package/dist/repositories/tasks/getTaskSchedulesCount.js +23 -0
- package/dist/repositories/tasks/getTasks.js +29 -0
- package/dist/repositories/tasks/getTasksCount.js +20 -0
- package/dist/repositories/tasks/index.js +441 -0
- package/dist/repositories/tasks/setTaskAsPastDue.js +23 -0
- package/dist/repositories/tasks/setTaskScheduleDevices.js +43 -0
- package/dist/repositories/tasks/updateTask.js +21 -0
- package/dist/repositories/tasks/updateTaskSchedule.js +35 -0
- package/dist/repositories/trips/createTrip.js +29 -0
- package/dist/repositories/trips/getTripById.js +15 -0
- package/dist/repositories/trips/getTrips.js +65 -0
- package/dist/repositories/trips/index.js +69 -0
- package/dist/repositories/trips/updateTripEndValues.js +36 -0
- package/dist/repositories/trips/upsertTrip.js +31 -0
- package/dist/repositories/userActivations/createUserActivation.js +26 -0
- package/dist/repositories/userActivations/createUserActivationDevice.js +35 -0
- package/dist/repositories/userActivations/createUserActivationEvent.js +34 -0
- package/dist/repositories/userActivations/createUserActivationMetric.js +28 -0
- package/dist/repositories/userActivations/deleteUserActivation.js +22 -0
- package/dist/repositories/userActivations/getLastActivationDevice.js +26 -0
- package/dist/repositories/userActivations/getUserActivationDevices.js +24 -0
- package/dist/repositories/userActivations/getUserActivationDevicesByClientId.js +26 -0
- package/dist/repositories/userActivations/getUserActivationMetrics.js +24 -0
- package/dist/repositories/userActivations/getUserActivations.js +29 -0
- package/dist/repositories/userActivations/index.js +229 -0
- package/dist/repositories/userActivations/updateUserActivationDevice.js +39 -0
- package/dist/repositories/userActivations/updateUserActivationMetrics.js +61 -0
- package/dist/repositories/userAppFeedback/createUserAppFeedback.js +26 -0
- package/dist/repositories/userAppFeedback/index.js +23 -0
- package/dist/repositories/userAppIncidents/getUserAppIncidents.js +28 -0
- package/dist/repositories/userAppIncidents/index.js +63 -0
- package/dist/repositories/userAppIncidents/upsertUserAppIncident.js +53 -0
- package/dist/repositories/userConfigurations/bulkCreateUserAlertConfigurations.js +46 -0
- package/dist/repositories/userConfigurations/createDeviceAlertTimeWindows.js +36 -0
- package/dist/repositories/userConfigurations/createUserAlertTimeWindows.js +33 -0
- package/dist/repositories/userConfigurations/createUserConfiguration.js +34 -0
- package/dist/repositories/userConfigurations/deleteDeviceAlertTimeWindows.js +17 -0
- package/dist/repositories/userConfigurations/deleteUserAlertConfigurations.js +24 -0
- package/dist/repositories/userConfigurations/deleteUserAlertTimeWindows.js +17 -0
- package/dist/repositories/userConfigurations/deleteUserConfiguration.js +23 -0
- package/dist/repositories/userConfigurations/getDeviceAlertTimeWindows.js +43 -0
- package/dist/repositories/userConfigurations/getUserAlertConfigurations.js +25 -0
- package/dist/repositories/userConfigurations/getUserAlertTimeWindows.js +35 -0
- package/dist/repositories/userConfigurations/getUserConfigurations.js +31 -0
- package/dist/repositories/userConfigurations/index.js +298 -0
- package/dist/repositories/userConfigurations/updateDeviceAlertTimeWindows.js +29 -0
- package/dist/repositories/userConfigurations/updateUserAlertConfigurations.js +46 -0
- package/dist/repositories/userConfigurations/updateUserAlertTimeWindows.js +28 -0
- package/dist/repositories/userConfigurations/updateUserConfiguration.js +49 -0
- package/dist/repositories/userDataDeletionRequests/createUserDataDeletionRequest.js +28 -0
- package/dist/repositories/userDataDeletionRequests/getUserDataDeletionRequest.js +29 -0
- package/dist/repositories/userDataDeletionRequests/index.js +66 -0
- package/dist/repositories/userDataDeletionRequests/removeUserDataDeletionRequest.js +17 -0
- package/dist/repositories/userDataDeletionRequests/updateUserDataDeletionRequest.js +38 -0
- package/dist/repositories/userInvitations/createUserInvitation.js +43 -0
- package/dist/repositories/userInvitations/getUserInvitationById.js +22 -0
- package/dist/repositories/userInvitations/getUserInvitations.js +31 -0
- package/dist/repositories/userInvitations/index.js +82 -0
- package/dist/repositories/userInvitations/updateUserInvitation.js +50 -0
- package/dist/repositories/userRatingRequests/createUserRatingRequest.js +34 -0
- package/dist/repositories/userRatingRequests/getUserRatingRequests.js +23 -0
- package/dist/repositories/userRatingRequests/index.js +41 -0
- package/dist/repositories/userRegistrationAttempts/createUserRegistrationAttempt.js +40 -0
- package/dist/repositories/userRegistrationAttempts/getUserRegistrationAttempts.js +29 -0
- package/dist/repositories/userRegistrationAttempts/index.js +70 -0
- package/dist/repositories/userRegistrationAttempts/updateUserRegistrationAttempt.js +40 -0
- package/dist/repositories/users/createUser.js +47 -0
- package/dist/repositories/users/deleteAccount.js +98 -0
- package/dist/repositories/users/deleteUser.js +22 -0
- package/dist/repositories/users/getUserById.js +22 -0
- package/dist/repositories/users/getUserData.js +66 -0
- package/dist/repositories/users/getUsers.js +49 -0
- package/dist/repositories/users/getUsersConfigurationByImei.js +29 -0
- package/dist/repositories/users/getUsersIdByPhoneAndCountryCode.js +21 -0
- package/dist/repositories/users/getUsersWithRoles.js +32 -0
- package/dist/repositories/users/index.js +195 -0
- package/dist/repositories/users/updateUser.js +109 -0
- package/dist/subscribers/allEntitiesSubscriber.js +52 -0
- package/dist/subscribers/index.js +2 -0
- package/dist/types/acumatica.js +1 -0
- package/dist/types/aempToken.js +1 -0
- package/dist/types/alert.js +1 -0
- package/dist/types/alertTypes.js +1 -0
- package/dist/types/appFeatures.js +1 -0
- package/dist/types/billing.js +1 -0
- package/dist/types/blacklist.js +1 -0
- package/dist/types/boundaries.js +1 -0
- package/dist/types/clients.js +1 -0
- package/dist/types/common.js +1 -0
- package/dist/types/countries.js +1 -0
- package/dist/types/deactivations.js +1 -0
- package/dist/types/deviceBehaviors.js +1 -0
- package/dist/types/devicePairings.js +1 -0
- package/dist/types/devices.js +1 -0
- package/dist/types/enums.js +74 -0
- package/dist/types/firmwares.js +17 -0
- package/dist/types/index.js +30 -0
- package/dist/types/logger.js +9 -0
- package/dist/types/notificationRecipients.js +1 -0
- package/dist/types/position.js +1 -0
- package/dist/types/security.js +1 -0
- package/dist/types/tasks.js +1 -0
- package/dist/types/trip.js +29 -0
- package/dist/types/user.js +1 -0
- package/dist/types/userActivations.js +1 -0
- package/dist/types/userAppFeedback.js +1 -0
- package/dist/types/userAppIncidents.js +1 -0
- package/dist/types/userConfigurations.js +1 -0
- package/dist/types/userDataDeletionRequests.js +1 -0
- package/dist/types/userInvitations.js +1 -0
- package/dist/types/userRatingRequests.js +1 -0
- package/dist/types/userRegistrationAttempts.js +1 -0
- package/dist/utils/anyAttributeHasValue.js +20 -0
- package/dist/utils/anyAttributeIsNull.js +12 -0
- package/dist/utils/boolToNumberTransformer.js +23 -0
- package/dist/utils/consoleLogger.js +42 -0
- package/dist/utils/filterTools.js +299 -0
- package/dist/utils/mapRawEntityToEntity.js +12 -0
- package/dist/utils/queryLogger.js +48 -0
- package/dist/utils/randomizer.js +39 -0
- package/dist/utils/stringToDateTransformer.js +16 -0
- package/dist/utils/uuidHelpers.js +30 -0
- package/package.json +10 -8
- package/dist/index.js.LICENSE.txt +0 -41
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const findNestedValue = (params, attribute) => {
|
|
2
|
+
const keys = attribute.split('.');
|
|
3
|
+
let current = params;
|
|
4
|
+
for (const key of keys) {
|
|
5
|
+
if (current[key] == null) {
|
|
6
|
+
return null; // Property not found
|
|
7
|
+
}
|
|
8
|
+
current = current[key];
|
|
9
|
+
}
|
|
10
|
+
return current;
|
|
11
|
+
};
|
|
12
|
+
export const anyAttributeIsNull = (params, attributes) => !params || !attributes || attributes.some(attribute => findNestedValue(params, attribute) == null);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export class BoolToNumberTransformer {
|
|
2
|
+
// To db from typeorm
|
|
3
|
+
to(value) {
|
|
4
|
+
if (value === null) {
|
|
5
|
+
return null;
|
|
6
|
+
}
|
|
7
|
+
if (value === undefined) {
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
const res = value ? 1 : 0;
|
|
11
|
+
return res;
|
|
12
|
+
}
|
|
13
|
+
// From db to typeorm
|
|
14
|
+
from(value) {
|
|
15
|
+
if (value === null) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
if (value === undefined) {
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
return value == 1;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { LogLevel } from '../types/logger';
|
|
2
|
+
export class ConsoleLogger {
|
|
3
|
+
fatal = (msgOrObj, msg, ...args) => {
|
|
4
|
+
this.log(LogLevel.FATAL, msgOrObj, msg, ...args);
|
|
5
|
+
};
|
|
6
|
+
error = (msgOrObj, msg, ...args) => {
|
|
7
|
+
this.log(LogLevel.FATAL, msgOrObj, msg, ...args);
|
|
8
|
+
};
|
|
9
|
+
warn = (msgOrObj, msg, ...args) => {
|
|
10
|
+
this.log(LogLevel.WARN, msgOrObj, msg, ...args);
|
|
11
|
+
};
|
|
12
|
+
info = (msgOrObj, msg, ...args) => {
|
|
13
|
+
this.log(LogLevel.INFO, msgOrObj, msg, ...args);
|
|
14
|
+
};
|
|
15
|
+
debug = (msgOrObj, msg, ...args) => {
|
|
16
|
+
this.log(LogLevel.DEBUG, msgOrObj, msg, ...args);
|
|
17
|
+
};
|
|
18
|
+
trace = (msgOrObj, msg, ...args) => {
|
|
19
|
+
this.log(LogLevel.TRACE, msgOrObj, msg, ...args);
|
|
20
|
+
};
|
|
21
|
+
log = (level, msgOrObj, msg, ...args) => {
|
|
22
|
+
switch (level) {
|
|
23
|
+
case LogLevel.FATAL:
|
|
24
|
+
case LogLevel.ERROR:
|
|
25
|
+
if (typeof msgOrObj === 'string') {
|
|
26
|
+
console.error(msgOrObj, ...args);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
console.error(msg, msgOrObj, ...args);
|
|
30
|
+
}
|
|
31
|
+
break;
|
|
32
|
+
default:
|
|
33
|
+
if (typeof msgOrObj === 'string') {
|
|
34
|
+
console.log(msgOrObj, ...args);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
console.log(msg, msgOrObj, ...args);
|
|
38
|
+
}
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
}
|
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
export const addFilters = (queryBuilder, filters, filterMapping, entityName) => {
|
|
2
|
+
if (!queryBuilder || !filters) {
|
|
3
|
+
return queryBuilder;
|
|
4
|
+
}
|
|
5
|
+
for (const filterMap of filterMapping) {
|
|
6
|
+
const filterField = filters[filterMap.filterName];
|
|
7
|
+
const targetFieldName = filterMap.targetFieldName;
|
|
8
|
+
if (filterField === undefined || !targetFieldName || !filterMap.comparisonOperator) {
|
|
9
|
+
continue;
|
|
10
|
+
}
|
|
11
|
+
if (filterField === null) {
|
|
12
|
+
queryBuilder = queryBuilder.andWhere(`${entityName}.${targetFieldName} IS NULL`);
|
|
13
|
+
continue;
|
|
14
|
+
}
|
|
15
|
+
switch (filterMap.comparisonOperator) {
|
|
16
|
+
case 'RANGE':
|
|
17
|
+
const minValue = filterField['minValue'];
|
|
18
|
+
const maxValue = filterField['maxValue'];
|
|
19
|
+
if (minValue != null) {
|
|
20
|
+
queryBuilder = queryBuilder.andWhere(`${entityName}.${targetFieldName} >= :${targetFieldName}MinValue`, {
|
|
21
|
+
[`${targetFieldName}MinValue`]: minValue,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
if (maxValue != null) {
|
|
25
|
+
queryBuilder = queryBuilder.andWhere(`${entityName}.${targetFieldName} <= :${targetFieldName}MaxValue`, {
|
|
26
|
+
[`${targetFieldName}MaxValue`]: maxValue,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
break;
|
|
30
|
+
case 'LIKE':
|
|
31
|
+
queryBuilder = queryBuilder.andWhere(`LOWER(${entityName}.${targetFieldName}) LIKE LOWER(:${targetFieldName})`, {
|
|
32
|
+
[targetFieldName]: `%${filterField}%`,
|
|
33
|
+
});
|
|
34
|
+
break;
|
|
35
|
+
case '=':
|
|
36
|
+
queryBuilder = queryBuilder.andWhere(`${entityName}.${targetFieldName} = :${targetFieldName}`, {
|
|
37
|
+
[targetFieldName]: filterField,
|
|
38
|
+
});
|
|
39
|
+
break;
|
|
40
|
+
case 'IN':
|
|
41
|
+
queryBuilder = queryBuilder.andWhere(`${entityName}.${targetFieldName} IN (:...${targetFieldName})`, {
|
|
42
|
+
[targetFieldName]: filterField,
|
|
43
|
+
});
|
|
44
|
+
break;
|
|
45
|
+
default:
|
|
46
|
+
throw new Error(`Unknown comparison operator: ${filterMap.comparisonOperator}`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return queryBuilder;
|
|
50
|
+
};
|
|
51
|
+
// This is a list of range filters that can be applied to the query
|
|
52
|
+
// filterName should correspond to a field in the GetTaskSchedulesFilters
|
|
53
|
+
// targetFieldName should correspond to a field in the TaskSchedule entity
|
|
54
|
+
// fielad with comparisonOperator = 'range' should correspond with a field of type RangeFilter<number> or RangeFilter<Date>
|
|
55
|
+
export const getTaskSchedulesFilterMapping = [
|
|
56
|
+
{
|
|
57
|
+
targetFieldName: 'clientId',
|
|
58
|
+
filterName: 'clientId',
|
|
59
|
+
comparisonOperator: '=',
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
targetFieldName: 'repeats',
|
|
63
|
+
filterName: 'repeats',
|
|
64
|
+
comparisonOperator: '=',
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
targetFieldName: 'createdBy',
|
|
68
|
+
filterName: 'createdBy',
|
|
69
|
+
comparisonOperator: '=',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
targetFieldName: 'modifiedBy',
|
|
73
|
+
filterName: 'modifiedBy',
|
|
74
|
+
comparisonOperator: '=',
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
targetFieldName: 'deletedBy',
|
|
78
|
+
filterName: 'deletedBy',
|
|
79
|
+
comparisonOperator: '=',
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
targetFieldName: 'status',
|
|
83
|
+
filterName: 'statusList',
|
|
84
|
+
comparisonOperator: 'IN',
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
targetFieldName: 'title',
|
|
88
|
+
filterName: 'title',
|
|
89
|
+
comparisonOperator: 'LIKE',
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
targetFieldName: 'description',
|
|
93
|
+
filterName: 'description',
|
|
94
|
+
comparisonOperator: 'LIKE',
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
targetFieldName: 'notes',
|
|
98
|
+
filterName: 'notes',
|
|
99
|
+
comparisonOperator: 'LIKE',
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
targetFieldName: 'dueDate',
|
|
103
|
+
filterName: 'dueDateFilter',
|
|
104
|
+
comparisonOperator: 'RANGE',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
targetFieldName: 'dueOdometer',
|
|
108
|
+
filterName: 'dueOdometerFilter',
|
|
109
|
+
comparisonOperator: 'RANGE',
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
targetFieldName: 'dueActiveHours',
|
|
113
|
+
filterName: 'dueActiveHoursFilter',
|
|
114
|
+
comparisonOperator: 'RANGE',
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
targetFieldName: 'intervalDays',
|
|
118
|
+
filterName: 'intervalDaysFilter',
|
|
119
|
+
comparisonOperator: 'RANGE',
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
targetFieldName: 'intervalStartDate',
|
|
123
|
+
filterName: 'intervalStartDateFilter',
|
|
124
|
+
comparisonOperator: 'RANGE',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
targetFieldName: 'intervalOdometer',
|
|
128
|
+
filterName: 'intervalOdometerFilter',
|
|
129
|
+
comparisonOperator: 'RANGE',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
targetFieldName: 'intervalStartingOdometer',
|
|
133
|
+
filterName: 'intervalStartingOdometerFilter',
|
|
134
|
+
comparisonOperator: 'RANGE',
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
targetFieldName: 'intervalActiveHours',
|
|
138
|
+
filterName: 'intervalActiveHoursFilter',
|
|
139
|
+
comparisonOperator: 'RANGE',
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
targetFieldName: 'intervalStartingActiveHours',
|
|
143
|
+
filterName: 'intervalStartingActiveHoursFilter',
|
|
144
|
+
comparisonOperator: 'RANGE',
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
targetFieldName: 'createdAt',
|
|
148
|
+
filterName: 'createdAtFilter',
|
|
149
|
+
comparisonOperator: 'RANGE',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
targetFieldName: 'modifiedAt',
|
|
153
|
+
filterName: 'modifiedAtFilter',
|
|
154
|
+
comparisonOperator: 'RANGE',
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
targetFieldName: 'deletedAt',
|
|
158
|
+
filterName: 'deletedAtFilter',
|
|
159
|
+
comparisonOperator: 'RANGE',
|
|
160
|
+
},
|
|
161
|
+
];
|
|
162
|
+
// This is a list of range filters that can be applied to the query
|
|
163
|
+
// filterName should correspond to a field in the GetTasksFilters
|
|
164
|
+
// targetFieldName should correspond to a field in the Task entity
|
|
165
|
+
// fielad with comparisonOperator = 'range' should correspond with a field of type RangeFilter<number> or RangeFilter<Date>
|
|
166
|
+
export const tasksFilterMapping = [
|
|
167
|
+
{
|
|
168
|
+
targetFieldName: 'id',
|
|
169
|
+
filterName: 'taskId',
|
|
170
|
+
comparisonOperator: '=',
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
targetFieldName: 'taskScheduleId',
|
|
174
|
+
filterName: 'taskScheduleId',
|
|
175
|
+
comparisonOperator: '=',
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
targetFieldName: 'imei',
|
|
179
|
+
filterName: 'imeiList',
|
|
180
|
+
comparisonOperator: 'IN',
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
targetFieldName: 'clientId',
|
|
184
|
+
filterName: 'clientId',
|
|
185
|
+
comparisonOperator: '=',
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
targetFieldName: 'dueDate',
|
|
189
|
+
filterName: 'dueDateFilter',
|
|
190
|
+
comparisonOperator: 'RANGE',
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
targetFieldName: 'dueOdometer',
|
|
194
|
+
filterName: 'dueOdometerFilter',
|
|
195
|
+
comparisonOperator: 'RANGE',
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
targetFieldName: 'dueActiveHours',
|
|
199
|
+
filterName: 'dueActiveHoursFilter',
|
|
200
|
+
comparisonOperator: 'RANGE',
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
targetFieldName: 'startDate',
|
|
204
|
+
filterName: 'startDateFilter',
|
|
205
|
+
comparisonOperator: 'RANGE',
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
targetFieldName: 'startingOdometer',
|
|
209
|
+
filterName: 'startingOdometerFilter',
|
|
210
|
+
comparisonOperator: 'RANGE',
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
targetFieldName: 'startingActiveHours',
|
|
214
|
+
filterName: 'startingActiveHoursFilter',
|
|
215
|
+
comparisonOperator: 'RANGE',
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
targetFieldName: 'status',
|
|
219
|
+
filterName: 'statusList',
|
|
220
|
+
comparisonOperator: 'IN',
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
targetFieldName: 'createdAt',
|
|
224
|
+
filterName: 'createdAtFilter',
|
|
225
|
+
comparisonOperator: 'RANGE',
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
targetFieldName: 'pastDueAt',
|
|
229
|
+
filterName: 'pastDueAtFilter',
|
|
230
|
+
comparisonOperator: 'RANGE',
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
targetFieldName: 'completedAt',
|
|
234
|
+
filterName: 'completedAtFilter',
|
|
235
|
+
comparisonOperator: 'RANGE',
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
targetFieldName: 'completionNotes',
|
|
239
|
+
filterName: 'completionNotes',
|
|
240
|
+
comparisonOperator: 'LIKE',
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
targetFieldName: 'completionOdometer',
|
|
244
|
+
filterName: 'completionOdometerFilter',
|
|
245
|
+
comparisonOperator: 'RANGE',
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
targetFieldName: 'completionActiveHours',
|
|
249
|
+
filterName: 'completionActiveHoursFilter',
|
|
250
|
+
comparisonOperator: 'RANGE',
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
targetFieldName: 'completedBy',
|
|
254
|
+
filterName: 'completedBy',
|
|
255
|
+
comparisonOperator: 'LIKE',
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
targetFieldName: 'modifiedAt',
|
|
259
|
+
filterName: 'modifiedAtFilter',
|
|
260
|
+
comparisonOperator: 'RANGE',
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
targetFieldName: 'modifiedBy',
|
|
264
|
+
filterName: 'modifiedBy',
|
|
265
|
+
comparisonOperator: 'LIKE',
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
targetFieldName: 'queuedAt',
|
|
269
|
+
filterName: 'queuedAtFilter',
|
|
270
|
+
comparisonOperator: 'RANGE',
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
targetFieldName: 'predictedDueDate',
|
|
274
|
+
filterName: 'predictedDueDateFilter',
|
|
275
|
+
comparisonOperator: 'RANGE',
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
targetFieldName: 'deletedAt',
|
|
279
|
+
filterName: 'deletedAtFilter',
|
|
280
|
+
comparisonOperator: 'RANGE',
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
targetFieldName: 'deletedBy',
|
|
284
|
+
filterName: 'deletedBy',
|
|
285
|
+
comparisonOperator: 'LIKE',
|
|
286
|
+
},
|
|
287
|
+
];
|
|
288
|
+
export const tasksFilterMappingWithSchedule = [
|
|
289
|
+
{
|
|
290
|
+
targetFieldName: 'title',
|
|
291
|
+
filterName: 'title',
|
|
292
|
+
comparisonOperator: 'LIKE',
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
targetFieldName: 'description',
|
|
296
|
+
filterName: 'description',
|
|
297
|
+
comparisonOperator: 'LIKE',
|
|
298
|
+
},
|
|
299
|
+
];
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export const mapRawEntityToEntity = (rawEntity, columnsPrefix = '') => {
|
|
2
|
+
if (!rawEntity) {
|
|
3
|
+
return null;
|
|
4
|
+
}
|
|
5
|
+
const result = {};
|
|
6
|
+
Object.keys(rawEntity).forEach(property => {
|
|
7
|
+
const regex = new RegExp(`^${columnsPrefix}`);
|
|
8
|
+
const propertyName = property.replace(regex, ''); // Remove the prefix from the property name
|
|
9
|
+
result[propertyName] = rawEntity[property];
|
|
10
|
+
});
|
|
11
|
+
return result;
|
|
12
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
const queriesToIgnore = ['commit', 'start transaction', 'select version()'];
|
|
2
|
+
export class QueryLogger {
|
|
3
|
+
logger;
|
|
4
|
+
logging;
|
|
5
|
+
constructor(logger, logging) {
|
|
6
|
+
this.logger = logger;
|
|
7
|
+
this.logging = logging != null ? logging : false;
|
|
8
|
+
}
|
|
9
|
+
logQuery(query, parameters, _queryRunner) {
|
|
10
|
+
try {
|
|
11
|
+
if (!this.logging || (this.logging instanceof Array && !this.logging.includes('query'))) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const lowerCaseQuery = query.toLowerCase();
|
|
15
|
+
for (const queryToIgnore of queriesToIgnore) {
|
|
16
|
+
if (lowerCaseQuery.includes(queryToIgnore)) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
this.logger?.trace({ query, parameters }, `SQL QUERY`);
|
|
21
|
+
}
|
|
22
|
+
catch { } // do nothing if logging fails
|
|
23
|
+
}
|
|
24
|
+
logQueryError(_error, _query, _parameters, _queryRunner) {
|
|
25
|
+
// no need to log errors, they are already logged by the repository
|
|
26
|
+
//this.logger?.error({ query, parameters, error }, `SQL QUERY WITH ERROR`)
|
|
27
|
+
}
|
|
28
|
+
logQuerySlow(time, query, parameters, _queryRunner) {
|
|
29
|
+
this.logger?.warn({ query, parameters, time: time }, `SQL QUERY SLOW`);
|
|
30
|
+
}
|
|
31
|
+
logSchemaBuild(message, _queryRunner) {
|
|
32
|
+
this.logger?.trace({ message }, `SQL SCHEMA BUILD`);
|
|
33
|
+
}
|
|
34
|
+
logMigration(message, _queryRunner) {
|
|
35
|
+
this.logger?.trace({ message }, `SQL MIGRATION: `);
|
|
36
|
+
}
|
|
37
|
+
log(level, message, _queryRunner) {
|
|
38
|
+
if (level === 'warn') {
|
|
39
|
+
this.logger?.warn({ message }, `SQL LOG:`);
|
|
40
|
+
}
|
|
41
|
+
else if (level === 'info') {
|
|
42
|
+
this.logger?.info({ message }, `SQL LOG:`);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
this.logger?.trace({ message }, `SQL LOG:`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export const getRandomBoolean = () => {
|
|
2
|
+
return Math.random() < 0.5;
|
|
3
|
+
};
|
|
4
|
+
export const getRandomInteger = (max) => {
|
|
5
|
+
return Math.floor(Math.random() * max) + 1;
|
|
6
|
+
};
|
|
7
|
+
export const getRandomString = (length) => {
|
|
8
|
+
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
|
9
|
+
let result = '';
|
|
10
|
+
const charactersLength = characters.length;
|
|
11
|
+
for (let i = 0; i < length; i++) {
|
|
12
|
+
const randomIndex = Math.floor(Math.random() * charactersLength);
|
|
13
|
+
result += characters.charAt(randomIndex);
|
|
14
|
+
}
|
|
15
|
+
return result;
|
|
16
|
+
};
|
|
17
|
+
export const getRandomImei = (length = 15) => {
|
|
18
|
+
const characters = '0123456789';
|
|
19
|
+
let result = '';
|
|
20
|
+
const charactersLength = characters.length;
|
|
21
|
+
for (let i = 0; i < length; i++) {
|
|
22
|
+
const randomIndex = Math.floor(Math.random() * charactersLength);
|
|
23
|
+
result += characters.charAt(randomIndex);
|
|
24
|
+
}
|
|
25
|
+
return result;
|
|
26
|
+
};
|
|
27
|
+
export const getRandomDateInRange = (rangeInDays) => {
|
|
28
|
+
// Get the current date
|
|
29
|
+
const currentDate = new Date();
|
|
30
|
+
// Calculate the minimum and maximum date
|
|
31
|
+
const minDate = new Date(currentDate);
|
|
32
|
+
minDate.setDate(currentDate.getDate() - rangeInDays);
|
|
33
|
+
const maxDate = new Date(currentDate);
|
|
34
|
+
maxDate.setDate(currentDate.getDate() + rangeInDays);
|
|
35
|
+
// Generate a random date within the specified range
|
|
36
|
+
const randomTimestamp = minDate.getTime() + Math.random() * (maxDate.getTime() - minDate.getTime());
|
|
37
|
+
const randomDate = new Date(randomTimestamp);
|
|
38
|
+
return randomDate;
|
|
39
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export const uuidStringToBinaryBuffer = (uuidString) => {
|
|
2
|
+
if (!uuidString) {
|
|
3
|
+
return null;
|
|
4
|
+
}
|
|
5
|
+
const guidRegex = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;
|
|
6
|
+
const match = guidRegex.test(uuidString);
|
|
7
|
+
if (!match) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
try {
|
|
11
|
+
return Buffer.from(uuidString.replace(/-/g, ''), 'hex');
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
export const binaryBufferToUuidString = (buffer) => {
|
|
18
|
+
if (!buffer) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
const guidStringWithoutDashes = buffer.toString('hex');
|
|
22
|
+
const guidRegex = /^(\w{8})(\w{4})(\w{4})(\w{4})(\w{12})$/;
|
|
23
|
+
const match = guidRegex.exec(guidStringWithoutDashes);
|
|
24
|
+
if (match) {
|
|
25
|
+
return `${match[1]}-${match[2]}-${match[3]}-${match[4]}-${match[5]}`;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
};
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spytecgps/nova-orm",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.225",
|
|
4
4
|
"description": "ORM with PlanetScale",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
7
7
|
"devDependencies": {
|
|
8
8
|
"@types/jest": "^29.5.1",
|
|
9
|
-
"@types/node": "^
|
|
9
|
+
"@types/node": "^16",
|
|
10
10
|
"@types/uuid": "^9.0.2",
|
|
11
11
|
"@typescript-eslint/eslint-plugin": "^5.59.0",
|
|
12
12
|
"@typescript-eslint/parser": "^5.59.0",
|
|
@@ -21,21 +21,22 @@
|
|
|
21
21
|
"jest-junit": "^12.0.0",
|
|
22
22
|
"prettier": "^1.19.1",
|
|
23
23
|
"ts-jest": "^29.0.5",
|
|
24
|
-
"ts-loader": "^9.
|
|
24
|
+
"ts-loader": "^9.5.1",
|
|
25
25
|
"ts-node": "^10.9.1",
|
|
26
26
|
"typescript": "^4.9.5",
|
|
27
27
|
"webpack": "^5.72.0",
|
|
28
|
-
"webpack-cli": "^4.9.2"
|
|
28
|
+
"webpack-cli": "^4.9.2",
|
|
29
|
+
"webpack-node-externals": "^3.0.0",
|
|
30
|
+
"yarn": "^1.22.19"
|
|
29
31
|
},
|
|
30
32
|
"dependencies": {
|
|
31
33
|
"mysql2": "^3.2.3",
|
|
32
34
|
"reflect-metadata": "^0.1.13",
|
|
33
|
-
"typeorm": "0.3.
|
|
34
|
-
"yarn": "^1.22.19"
|
|
35
|
+
"typeorm": "0.3.19"
|
|
35
36
|
},
|
|
36
37
|
"scripts": {
|
|
37
38
|
"prepare": "npm run build",
|
|
38
|
-
"test": "git update-index --skip-worktree test/utils/setEnvVars.ts && yarn jest --ci --runInBand --reporters=default --reporters=jest-junit --collectCoverage=true",
|
|
39
|
+
"test": "git update-index --skip-worktree test/utils/setEnvVars.ts && yarn jest --clearCache && yarn jest --ci --logHeapUsage --runInBand --reporters=default --reporters=jest-junit --collectCoverage=true",
|
|
39
40
|
"typeorm": "typeorm-ts-node-commonjs",
|
|
40
41
|
"lint": "eslint \"./src/**\"",
|
|
41
42
|
"lint-fix": "eslint \"./src/**\" --fix",
|
|
@@ -43,7 +44,8 @@
|
|
|
43
44
|
"build-dev": "webpack --mode=development",
|
|
44
45
|
"build": "webpack --mode=production",
|
|
45
46
|
"copydistfolder": "./scripts/copyDistFolder.sh",
|
|
46
|
-
"schema-sync": "git update-index --skip-worktree test/utils/setEnvVars.ts && yarn typeorm schema:drop --dataSource ./data-source.ts && yarn typeorm schema:sync --dataSource ./data-source.ts && yarn typeorm migration:run --dataSource ./data-source.ts"
|
|
47
|
+
"schema-sync": "git update-index --skip-worktree test/utils/setEnvVars.ts && yarn typeorm schema:drop --dataSource ./data-source.ts && yarn typeorm schema:sync --dataSource ./data-source.ts && yarn typeorm migration:run --dataSource ./data-source.ts",
|
|
48
|
+
"package-locally": "rimraf dist && tsc -p tsconfig.json && npm pack"
|
|
47
49
|
},
|
|
48
50
|
"author": "Spytec",
|
|
49
51
|
"license": "ISC",
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
*/
|
|
3
|
-
|
|
4
|
-
/*! *****************************************************************************
|
|
5
|
-
Copyright (C) Microsoft. All rights reserved.
|
|
6
|
-
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
7
|
-
this file except in compliance with the License. You may obtain a copy of the
|
|
8
|
-
License at http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
|
|
10
|
-
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
11
|
-
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
|
12
|
-
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
|
13
|
-
MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
14
|
-
|
|
15
|
-
See the Apache Version 2.0 License for specific language governing permissions
|
|
16
|
-
and limitations under the License.
|
|
17
|
-
***************************************************************************** */
|
|
18
|
-
|
|
19
|
-
/*! http://mths.be/fromcodepoint v0.1.0 by @mathias */
|
|
20
|
-
|
|
21
|
-
/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* @license
|
|
25
|
-
* Copyright 2009 The Closure Library Authors
|
|
26
|
-
* Copyright 2020 Daniel Wirtz / The long.js Authors.
|
|
27
|
-
*
|
|
28
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
29
|
-
* you may not use this file except in compliance with the License.
|
|
30
|
-
* You may obtain a copy of the License at
|
|
31
|
-
*
|
|
32
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
33
|
-
*
|
|
34
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
35
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
36
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
37
|
-
* See the License for the specific language governing permissions and
|
|
38
|
-
* limitations under the License.
|
|
39
|
-
*
|
|
40
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
41
|
-
*/
|