@spytecgps/nova-orm 0.0.223 → 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.d.ts +2 -2
- 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,34 @@
|
|
|
1
|
+
import { UserConfiguration } from '../../entities/userConfiguration';
|
|
2
|
+
import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
|
|
3
|
+
export const createUserConfiguration = async (novaDataSource, params, logger) => {
|
|
4
|
+
if (!params?.userId || params?.isMetric == null) {
|
|
5
|
+
logger.warn({ params }, 'UserConfigurationsRepository::createUserConfiguration - missing required parameters');
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
const userIdBinaryBuffer = uuidStringToBinaryBuffer(params?.userId);
|
|
9
|
+
if (!userIdBinaryBuffer?.length) {
|
|
10
|
+
logger.warn({ params }, 'UserConfigurationsRepository::createUserConfiguration - user id should be a valid UUID');
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
14
|
+
const userConfigurationsRepository = dataSource.getRepository(UserConfiguration);
|
|
15
|
+
const now = new Date();
|
|
16
|
+
const newUserConfiguration = {
|
|
17
|
+
id: params?.id,
|
|
18
|
+
userId: userIdBinaryBuffer,
|
|
19
|
+
isMetric: params?.isMetric,
|
|
20
|
+
timezone: params?.timezone,
|
|
21
|
+
defaultMapLayer: params?.defaultMapLayer,
|
|
22
|
+
speedUnits: params?.speedUnits,
|
|
23
|
+
distanceUnits: params?.distanceUnits,
|
|
24
|
+
alertsNotificationsOn: params?.alertsNotificationsOn != null ? params?.alertsNotificationsOn : true,
|
|
25
|
+
dataSourceTypeId: params?.dataSourceTypeId,
|
|
26
|
+
homepage: params?.homepage,
|
|
27
|
+
temperatureUnits: params?.temperatureUnits,
|
|
28
|
+
addressFormat: params?.addressFormat,
|
|
29
|
+
createdAt: now,
|
|
30
|
+
modifiedAt: now,
|
|
31
|
+
};
|
|
32
|
+
return await userConfigurationsRepository.save(newUserConfiguration);
|
|
33
|
+
}, 'UserConfigurationsRepository::createUserConfiguration');
|
|
34
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { DeviceAlertConfiguration } from '../../entities';
|
|
2
|
+
export const deleteDeviceAlertTimeWindows = async (novaDataSource, params, logger) => {
|
|
3
|
+
// userId filter is required
|
|
4
|
+
if (!params?.filters?.configId) {
|
|
5
|
+
logger.warn({ params }, 'UserConfigurationsRepository::deleteDeviceAlertTimeWindows - missing required parameters');
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
9
|
+
const userConfigurationsRepository = dataSource.getRepository(DeviceAlertConfiguration);
|
|
10
|
+
const queryBuilder = userConfigurationsRepository
|
|
11
|
+
.createQueryBuilder()
|
|
12
|
+
.delete()
|
|
13
|
+
.where('id = :id', { id: params?.filters?.configId });
|
|
14
|
+
const result = await queryBuilder.execute();
|
|
15
|
+
return result.affected > 0;
|
|
16
|
+
}, 'UserConfigurationsRepository::deleteDeviceAlertTimeWindows');
|
|
17
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { UserAlertConfiguration } from '../../entities';
|
|
2
|
+
import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
|
|
3
|
+
export const deleteUserAlertConfigurations = async (novaDataSource, params, logger) => {
|
|
4
|
+
// userId filter is required
|
|
5
|
+
if (!params?.filters?.userId) {
|
|
6
|
+
logger.warn({ params }, 'UserConfigurationsRepository::deleteUserAlertConfigurations - missing required parameters');
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
const userIdBinaryBuffer = uuidStringToBinaryBuffer(params?.filters?.userId);
|
|
10
|
+
// at least one filter is required
|
|
11
|
+
if (!userIdBinaryBuffer) {
|
|
12
|
+
logger.warn({ userId: params?.filters?.userId }, 'UserConfigurationsRepository::deleteUserAlertConfigurations - user id should be a valid UUID');
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
16
|
+
const userConfigurationsRepository = dataSource.getRepository(UserAlertConfiguration);
|
|
17
|
+
const queryBuilder = userConfigurationsRepository
|
|
18
|
+
.createQueryBuilder()
|
|
19
|
+
.delete()
|
|
20
|
+
.where('userId = :userId', { userId: userIdBinaryBuffer });
|
|
21
|
+
const result = await queryBuilder.execute();
|
|
22
|
+
return result.affected > 0;
|
|
23
|
+
}, 'UserConfigurationsRepository::deleteUserAlertConfigurations');
|
|
24
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AlertTimeWindowConfiguration } from '../../entities';
|
|
2
|
+
export const deleteUserAlertTimeWindows = async (novaDataSource, params, logger) => {
|
|
3
|
+
// userId filter is required
|
|
4
|
+
if (!params?.filters?.configId) {
|
|
5
|
+
logger.warn({ params }, 'UserConfigurationsRepository::deleteUserAlertTimeWindows - missing required parameters');
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
9
|
+
const userConfigurationsRepository = dataSource.getRepository(AlertTimeWindowConfiguration);
|
|
10
|
+
const queryBuilder = userConfigurationsRepository
|
|
11
|
+
.createQueryBuilder()
|
|
12
|
+
.delete()
|
|
13
|
+
.where('id = :id', { id: params?.filters?.configId });
|
|
14
|
+
const result = await queryBuilder.execute();
|
|
15
|
+
return result.affected > 0;
|
|
16
|
+
}, 'UserConfigurationsRepository::deleteUserAlertTimeWindows');
|
|
17
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { UserConfiguration } from '../../entities/userConfiguration';
|
|
2
|
+
import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
|
|
3
|
+
export const deleteUserConfiguration = async (novaDataSource, params, logger) => {
|
|
4
|
+
// userId filter is required
|
|
5
|
+
if (!params?.filters?.userId) {
|
|
6
|
+
logger.warn({ params }, 'UserConfigurationsRepository::deleteUserConfiguration - missing required parameters');
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
const userIdBinaryBuffer = uuidStringToBinaryBuffer(params?.filters?.userId);
|
|
10
|
+
if (!userIdBinaryBuffer) {
|
|
11
|
+
logger.warn({ userId: params?.filters?.userId }, 'UserConfigurationsRepository::deleteUserConfiguration - user id should be a valid UUID');
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
15
|
+
const userConfigurationsRepository = dataSource.getRepository(UserConfiguration);
|
|
16
|
+
const queryBuilder = userConfigurationsRepository
|
|
17
|
+
.createQueryBuilder()
|
|
18
|
+
.delete()
|
|
19
|
+
.where('userId = :userId', { userId: userIdBinaryBuffer });
|
|
20
|
+
const result = await queryBuilder.execute();
|
|
21
|
+
return result.affected > 0;
|
|
22
|
+
}, 'UserConfigurationsRepository::deleteUserConfiguration');
|
|
23
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { DeviceAlertConfiguration } from '../../entities';
|
|
2
|
+
import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
|
|
3
|
+
export const getDeviceAlertTimeWindows = async (novaDataSource, params, logger) => {
|
|
4
|
+
// imei filter is required
|
|
5
|
+
if (!params?.filters?.imei &&
|
|
6
|
+
!params?.filters?.clientId &&
|
|
7
|
+
!params?.filters?.userId &&
|
|
8
|
+
!params?.filters?.configId) {
|
|
9
|
+
logger.warn({ params }, 'UserConfigurationsRepository::getDeviceAlertTimeWindows - missing required parameters');
|
|
10
|
+
return [];
|
|
11
|
+
}
|
|
12
|
+
let userIdBinaryBuffer = null;
|
|
13
|
+
if (params?.filters?.userId) {
|
|
14
|
+
userIdBinaryBuffer = uuidStringToBinaryBuffer(params?.filters?.userId);
|
|
15
|
+
}
|
|
16
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
17
|
+
const userAlertTimeWindowsRepository = dataSource.getRepository(DeviceAlertConfiguration);
|
|
18
|
+
let queryBuilder = userAlertTimeWindowsRepository.createQueryBuilder('deviceAlertConfiguration');
|
|
19
|
+
if (params?.filters?.configId) {
|
|
20
|
+
queryBuilder = queryBuilder.andWhere('deviceAlertConfiguration.id = :id', {
|
|
21
|
+
id: params.filters.configId,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
if (params?.filters?.imei) {
|
|
25
|
+
queryBuilder = queryBuilder.andWhere('deviceAlertConfiguration.imei = :imei', {
|
|
26
|
+
imei: params.filters.imei,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
if (params?.filters?.clientId) {
|
|
30
|
+
queryBuilder = queryBuilder.andWhere('deviceAlertConfiguration.clientId = :clientId', {
|
|
31
|
+
clientId: params.filters.clientId,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
if (userIdBinaryBuffer) {
|
|
35
|
+
queryBuilder = queryBuilder.andWhere('deviceAlertConfiguration.userId = :userId', {
|
|
36
|
+
userId: userIdBinaryBuffer,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
queryBuilder = queryBuilder.orderBy('deviceAlertConfiguration.alertTypeId');
|
|
40
|
+
const result = await queryBuilder.getMany();
|
|
41
|
+
return result;
|
|
42
|
+
}, 'UserConfigurationsRepository::getDeviceAlertTimeWindows');
|
|
43
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { UserAlertConfiguration } from '../../entities';
|
|
2
|
+
import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
|
|
3
|
+
export const getUserAlertConfigurations = async (novaDataSource, params, logger) => {
|
|
4
|
+
// userId filter is required
|
|
5
|
+
if (!params?.filters?.userId) {
|
|
6
|
+
logger.warn({ params }, 'UserConfigurationsRepository::getUserAlertConfigurations - missing required parameters');
|
|
7
|
+
return [];
|
|
8
|
+
}
|
|
9
|
+
const userIdBinaryBuffer = uuidStringToBinaryBuffer(params?.filters?.userId);
|
|
10
|
+
if (!userIdBinaryBuffer) {
|
|
11
|
+
logger.warn({ params }, 'UserConfigurationsRepository::getUserAlertConfigurations - user id should be a valid UUID');
|
|
12
|
+
return [];
|
|
13
|
+
}
|
|
14
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
15
|
+
const userAlertConfigurationsRepository = dataSource.getRepository(UserAlertConfiguration);
|
|
16
|
+
let queryBuilder = userAlertConfigurationsRepository.createQueryBuilder('userAlertConfiguration');
|
|
17
|
+
queryBuilder = queryBuilder.innerJoinAndSelect('userAlertConfiguration.alertType', 'alertType', !params.filters.includeBeta ? `alertType.stage = 'prod'` : undefined);
|
|
18
|
+
queryBuilder = queryBuilder.where('userAlertConfiguration.userId = :userId', {
|
|
19
|
+
userId: userIdBinaryBuffer,
|
|
20
|
+
});
|
|
21
|
+
queryBuilder = queryBuilder.orderBy('userAlertConfiguration.alertTypeId');
|
|
22
|
+
const result = await queryBuilder.getMany();
|
|
23
|
+
return result;
|
|
24
|
+
}, 'UserConfigurationsRepository::getUserAlertConfigurations');
|
|
25
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { AlertTimeWindowConfiguration } from '../../entities';
|
|
2
|
+
import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
|
|
3
|
+
export const getUserAlertTimeWindows = async (novaDataSource, params, logger) => {
|
|
4
|
+
// userId filter is required
|
|
5
|
+
if (!params?.filters?.userId && !params?.filters?.clientId && !params?.filters?.configId) {
|
|
6
|
+
logger.warn({ params }, 'UserConfigurationsRepository::getUserAlertTimeWindows - missing required parameters');
|
|
7
|
+
return [];
|
|
8
|
+
}
|
|
9
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
10
|
+
const userAlertTimeWindowsRepository = dataSource.getRepository(AlertTimeWindowConfiguration);
|
|
11
|
+
let queryBuilder = userAlertTimeWindowsRepository.createQueryBuilder('alertTimeWindowConfiguration');
|
|
12
|
+
if (params?.filters?.configId) {
|
|
13
|
+
queryBuilder = queryBuilder.where('alertTimeWindowConfiguration.id = :id', {
|
|
14
|
+
id: params.filters.configId,
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
if (params?.filters?.userId) {
|
|
18
|
+
const userIdBinaryBuffer = uuidStringToBinaryBuffer(params?.filters?.userId);
|
|
19
|
+
if (!userIdBinaryBuffer) {
|
|
20
|
+
return [];
|
|
21
|
+
}
|
|
22
|
+
queryBuilder = queryBuilder.where('alertTimeWindowConfiguration.userId = :userId', {
|
|
23
|
+
userId: userIdBinaryBuffer,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
if (params?.filters?.clientId) {
|
|
27
|
+
queryBuilder = queryBuilder.where('alertTimeWindowConfiguration.clientId = :clientId', {
|
|
28
|
+
clientId: params.filters.clientId,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
queryBuilder = queryBuilder.orderBy('alertTimeWindowConfiguration.alertId');
|
|
32
|
+
const result = await queryBuilder.getMany();
|
|
33
|
+
return result;
|
|
34
|
+
}, 'UserConfigurationsRepository::getUserAlertTimeWindows');
|
|
35
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { UserConfiguration } from '../../entities';
|
|
2
|
+
import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
|
|
3
|
+
export const getUserConfigurations = async (novaDataSource, params, logger) => {
|
|
4
|
+
// userId filter is required
|
|
5
|
+
if (!params?.filters?.clientId && !params?.filters?.userId) {
|
|
6
|
+
logger.warn({ params }, 'UserConfigurationsRepository::getUserConfigurations - missing required parameters');
|
|
7
|
+
return [];
|
|
8
|
+
}
|
|
9
|
+
const userIdBinaryBuffer = uuidStringToBinaryBuffer(params?.filters?.userId);
|
|
10
|
+
if (params?.filters?.userId && !userIdBinaryBuffer) {
|
|
11
|
+
logger.warn({ params }, 'UserConfigurationsRepository::getUserConfigurations - user id should be a valid UUID');
|
|
12
|
+
return [];
|
|
13
|
+
}
|
|
14
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
15
|
+
const userConfigurationsRepository = dataSource.getRepository(UserConfiguration);
|
|
16
|
+
let queryBuilder = userConfigurationsRepository.createQueryBuilder('userConfiguration');
|
|
17
|
+
if (params.filters.clientId) {
|
|
18
|
+
queryBuilder = queryBuilder.innerJoin('userConfiguration.user', 'user');
|
|
19
|
+
queryBuilder = queryBuilder.andWhere('user.clientId = :clientId', {
|
|
20
|
+
clientId: params.filters.clientId,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
if (userIdBinaryBuffer) {
|
|
24
|
+
queryBuilder = queryBuilder.andWhere('userConfiguration.userId = :userId', {
|
|
25
|
+
userId: userIdBinaryBuffer,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
const result = await queryBuilder.getMany();
|
|
29
|
+
return result;
|
|
30
|
+
}, 'UserConfigurationsRepository::getUserConfigurations');
|
|
31
|
+
};
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
import { NovaDataSource } from '../../novaDataSource';
|
|
2
|
+
import { BaseRepository } from '../baseRepository';
|
|
3
|
+
import { bulkCreateUserAlertConfigurations } from './bulkCreateUserAlertConfigurations';
|
|
4
|
+
import { createDeviceAlertTimeWindows } from './createDeviceAlertTimeWindows';
|
|
5
|
+
import { createUserAlertTimeWindows } from './createUserAlertTimeWindows';
|
|
6
|
+
import { createUserConfiguration } from './createUserConfiguration';
|
|
7
|
+
import { deleteDeviceAlertTimeWindows } from './deleteDeviceAlertTimeWindows';
|
|
8
|
+
import { deleteUserAlertConfigurations } from './deleteUserAlertConfigurations';
|
|
9
|
+
import { deleteUserAlertTimeWindows } from './deleteUserAlertTimeWindows';
|
|
10
|
+
import { deleteUserConfiguration } from './deleteUserConfiguration';
|
|
11
|
+
import { getDeviceAlertTimeWindows } from './getDeviceAlertTimeWindows';
|
|
12
|
+
import { getUserAlertConfigurations } from './getUserAlertConfigurations';
|
|
13
|
+
import { getUserAlertTimeWindows } from './getUserAlertTimeWindows';
|
|
14
|
+
import { getUserConfigurations } from './getUserConfigurations';
|
|
15
|
+
import { updateDeviceAlertTimeWindows } from './updateDeviceAlertTimeWindows';
|
|
16
|
+
import { updateUserAlertConfigurations } from './updateUserAlertConfigurations';
|
|
17
|
+
import { updateUserAlertTimeWindows } from './updateUserAlertTimeWindows';
|
|
18
|
+
import { updateUserConfiguration } from './updateUserConfiguration';
|
|
19
|
+
export class UserConfigurationsRepository extends BaseRepository {
|
|
20
|
+
/**
|
|
21
|
+
* Get user configurations
|
|
22
|
+
* @param {GetUserConfigurationsParams} params containing information to get user configurations
|
|
23
|
+
* - filters.clientId: The client id to obtain all user configurations from that client
|
|
24
|
+
* - filters.userId: The user id to obtain all user configurations from that user
|
|
25
|
+
* @returns The user configurations
|
|
26
|
+
*/
|
|
27
|
+
async getUserConfigurations(params) {
|
|
28
|
+
this.logger.trace(params, 'UserConfigurationsRepository::getUserConfigurations started with params');
|
|
29
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
30
|
+
const result = await getUserConfigurations(novaDataSource, params, this.logger);
|
|
31
|
+
this.logger.trace(result, 'UserConfigurationsRepository::getUserConfigurations result');
|
|
32
|
+
return result;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Create user configuration
|
|
36
|
+
* @param {CreateUserConfigurationParams} params containing information to create a user configuration
|
|
37
|
+
* - id: The user configuration id, optional. If not provided, it will be generated
|
|
38
|
+
* - userId: The user id, required
|
|
39
|
+
* - isMetric: Whether is metric, required
|
|
40
|
+
* - timezone: The user timezone, optional
|
|
41
|
+
* - defaultMapLayer: The user default map layer, optional
|
|
42
|
+
* - speedUnits: The user speed units, optional
|
|
43
|
+
* - distanceUnits: The user distance units, optional
|
|
44
|
+
* - alertsNotificationsOn: The user alerts notifications on, optional. If not provided, it will be true
|
|
45
|
+
* - dataSourceTypeId: The user data source type id, optional
|
|
46
|
+
* - homepage: The user homepage, optional
|
|
47
|
+
* - temperatureUnits: The user temperature units, optional
|
|
48
|
+
* - addressFormat: The user address format, optional
|
|
49
|
+
* @returns The created user configuration
|
|
50
|
+
*/
|
|
51
|
+
async createUserConfiguration(params) {
|
|
52
|
+
this.logger.trace(params, 'UserConfigurationsRepository::createUserConfiguration started with params');
|
|
53
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
54
|
+
const result = await createUserConfiguration(novaDataSource, params, this.logger);
|
|
55
|
+
this.logger.trace(result, 'UserConfigurationsRepository::createUserConfiguration result');
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Create user alert time windows
|
|
60
|
+
* @param {CreateUserAlertTimeWindowsParams} params containing information to create a user alert time windows
|
|
61
|
+
* - id: The user alert time windows id, optional. If not provided, it will be generated
|
|
62
|
+
* - clientId: The client id, required
|
|
63
|
+
* - userId: The user id, required
|
|
64
|
+
* - alertConfigurationId: The alert configuration id, optional
|
|
65
|
+
* - daysOfTheWeek: The days of the week, required. It's a string of 7 characters, each one representing a day of the week, starting with Sunday. 1 means that the day is selected, 0 means that the day is not selected
|
|
66
|
+
* - startTime: The start time, required
|
|
67
|
+
* - endTime: The end time, required
|
|
68
|
+
* @returns {AlertTimeWindowConfiguration} The created user alert time windows
|
|
69
|
+
*/
|
|
70
|
+
async createUserAlertTimeWindows(params) {
|
|
71
|
+
this.logger.trace(params, 'UserConfigurationsRepository::createUserAlertTimeWindows started with params');
|
|
72
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
73
|
+
const result = await createUserAlertTimeWindows(novaDataSource, params, this.logger);
|
|
74
|
+
this.logger.trace(result, 'UserConfigurationsRepository::createUserAlertTimeWindows result');
|
|
75
|
+
return result;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Create device alert time windows
|
|
79
|
+
* @param {CreateDeviceAlertTimeWindowsParams} params containing information to create a device alert time windows
|
|
80
|
+
* - id: The user alert time windows id, optional. If not provided, it will be generated
|
|
81
|
+
* - clientId: The client id, required
|
|
82
|
+
* - userId: The user id, required
|
|
83
|
+
* - alertConfigurationId: The alert configuration id, optional
|
|
84
|
+
* - daysOfTheWeek: The days of the week, required. It's a string of 7 characters, each one representing a day of the week, starting with Sunday. 1 means that the day is selected, 0 means that the day is not selected
|
|
85
|
+
* - startTime: The start time, required
|
|
86
|
+
* - endTime: The end time, required
|
|
87
|
+
* - imei: The imei, required
|
|
88
|
+
* - filter: The filter to apply on a specific alert type, optional
|
|
89
|
+
* @returns {DeviceAlertConfiguration}
|
|
90
|
+
*/
|
|
91
|
+
async createDeviceAlertTimeWindows(params) {
|
|
92
|
+
this.logger.trace(params, 'UserConfigurationsRepository::createDeviceAlertTimeWindows started with params');
|
|
93
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
94
|
+
const result = await createDeviceAlertTimeWindows(novaDataSource, params, this.logger);
|
|
95
|
+
this.logger.trace(result, 'UserConfigurationsRepository::createDeviceAlertTimeWindows result');
|
|
96
|
+
return result;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Update user configuration
|
|
100
|
+
* @param {UpdateUserConfigurationParams} params containing information to update a user configuration
|
|
101
|
+
* Filters:
|
|
102
|
+
* - filters.userId: The user id to update the user configuration, required
|
|
103
|
+
* Values:
|
|
104
|
+
* One of the following values is required
|
|
105
|
+
* - values.timezone: The user timezone, optional
|
|
106
|
+
* - values.defaultMapLayer: The user default map layer, optional
|
|
107
|
+
* - values.speedUnits: The user speed units, optional
|
|
108
|
+
* - values.distanceUnits: The user distance units, optional
|
|
109
|
+
* - values.alertsNotificationsOn: The user alerts notifications on, optional
|
|
110
|
+
* - values.dataSourceTypeId: The user data source type id, optional
|
|
111
|
+
* - values.homepage: The user homepage, optional
|
|
112
|
+
* - values.temperatureUnits: The user temperature units, optional
|
|
113
|
+
* - values.addressFormat: The user address format, optional
|
|
114
|
+
* @returns Whether the user configuration was updated
|
|
115
|
+
*/
|
|
116
|
+
async updateUserConfiguration(params) {
|
|
117
|
+
this.logger.trace(params, 'UserConfigurationsRepository::updateUserConfiguration started with params');
|
|
118
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
119
|
+
const result = await updateUserConfiguration(novaDataSource, params, this.logger);
|
|
120
|
+
this.logger.trace({ result }, 'UserConfigurationsRepository::updateUserConfiguration result');
|
|
121
|
+
return result;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Delete user configuration
|
|
125
|
+
* @param {DeleteUserConfigurationParams} params containing information to delete a user configuration
|
|
126
|
+
* - filters.userId: The user id to delete the user configuration, required
|
|
127
|
+
* @returns Whether the user configuration was deleted
|
|
128
|
+
*/
|
|
129
|
+
async deleteUserConfiguration(params) {
|
|
130
|
+
this.logger.trace(params, 'UserConfigurationsRepository::deleteUserConfiguration started with params');
|
|
131
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
132
|
+
const result = await deleteUserConfiguration(novaDataSource, params, this.logger);
|
|
133
|
+
this.logger.trace({ result }, 'UserConfigurationsRepository::deleteUserConfiguration result');
|
|
134
|
+
return result;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Get user alert configurations
|
|
138
|
+
* @param {GetUserAlertConfigurationsParams} params containing information to get user alert configurations
|
|
139
|
+
* - filters.userId: The user id to obtain all user alert configurations from that user, required
|
|
140
|
+
* - filters.includeBeta: Whether to include beta alert types, required
|
|
141
|
+
* @returns The user alert configurations
|
|
142
|
+
*/
|
|
143
|
+
async getUserAlertConfigurations(params) {
|
|
144
|
+
this.logger.trace(params, 'UserConfigurationsRepository::getUserAlertConfigurations started with params');
|
|
145
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
146
|
+
const result = await getUserAlertConfigurations(novaDataSource, params, this.logger);
|
|
147
|
+
this.logger.trace(result, 'UserConfigurationsRepository::getUserAlertConfigurations result');
|
|
148
|
+
return result;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Get user alert time windows configurations
|
|
152
|
+
* @param {GetUserAlertTimeWindowsParams} params containing information to get user alert time windows configurations
|
|
153
|
+
* - filters.userId: The user id to obtain all user alert configurations from that user.
|
|
154
|
+
* - filters.clientId: The client id to obtain the configurations.
|
|
155
|
+
* @returns The user alert time windows configurations
|
|
156
|
+
*/
|
|
157
|
+
async getUserAlertTimeWindows(params) {
|
|
158
|
+
this.logger.trace(params, 'UserConfigurationsRepository::getUserAlertConfigurations started with params');
|
|
159
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
160
|
+
const result = await getUserAlertTimeWindows(novaDataSource, params, this.logger);
|
|
161
|
+
this.logger.trace(result, 'UserConfigurationsRepository::getUserAlertTimeWindows result');
|
|
162
|
+
return result;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Get device alert time windows configurations
|
|
166
|
+
* @param {GetDeviceAlertTimeWindowsParams} params containing information to get device alert time windows configurations
|
|
167
|
+
* - filters.imei: The imei to obtain all user alert configurations from that device.
|
|
168
|
+
* - filters.clientId: The client id to obtain the configurations.
|
|
169
|
+
* @returns The user device time windows configurations
|
|
170
|
+
*/
|
|
171
|
+
async getDeviceAlertTimeWindows(params) {
|
|
172
|
+
this.logger.trace(params, 'UserConfigurationsRepository::getUserAlertConfigurations started with params');
|
|
173
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
174
|
+
const result = await getDeviceAlertTimeWindows(novaDataSource, params, this.logger);
|
|
175
|
+
this.logger.trace(result, 'UserConfigurationsRepository::getDeviceAlertTimeWindows result');
|
|
176
|
+
return result;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Bulk create user alert configurations
|
|
180
|
+
* @param {BulkCreateUserAlertConfigurationsParams} params containing information to bulk create user alert configurations
|
|
181
|
+
* - alertConfigurations: The user alert configurations to create, required
|
|
182
|
+
* Each user alert configuration should contain:
|
|
183
|
+
* - id: The user alert configuration id, optional. If not provided, it will be generated
|
|
184
|
+
* - userId: The user id, required
|
|
185
|
+
* - alertTypeId: The alert type id, required
|
|
186
|
+
* - smsNotification: The user sms notification, optional
|
|
187
|
+
* - emailNotification: The user email notification, optional
|
|
188
|
+
* - appNotification: The user app notification, optional. If not provided, it will be true
|
|
189
|
+
* - pushNotification: The user push notification, optional. If not provided, it will be true
|
|
190
|
+
* - alertValue: The user alert value, optional
|
|
191
|
+
* - alertMetadata: The user alert metadata, optional
|
|
192
|
+
* @returns Whether the user alert configurations were created
|
|
193
|
+
*/
|
|
194
|
+
async bulkCreateUserAlertConfigurations(params) {
|
|
195
|
+
this.logger.trace(params, 'UserConfigurationsRepository::bulkCreateUserAlertConfigurations started with params');
|
|
196
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
197
|
+
const result = await bulkCreateUserAlertConfigurations(novaDataSource, params, this.logger);
|
|
198
|
+
this.logger.trace({ result }, 'UserConfigurationsRepository::bulkCreateUserAlertConfigurations result');
|
|
199
|
+
return result;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Update user alert configurations
|
|
203
|
+
* @param {UpdateUserAlertConfigurationsParams} params containing information to update user alert configurations
|
|
204
|
+
* Filters:
|
|
205
|
+
* - filters.userId: The user id to update the user alert configurations, required
|
|
206
|
+
* - filters.alertTypeId: The alert type id to update the user alert configurations, optional
|
|
207
|
+
* Values:
|
|
208
|
+
* One of the following values is required
|
|
209
|
+
* - values.smsNotification: The user sms notification, optional
|
|
210
|
+
* - values.emailNotification: The user email notification, optional
|
|
211
|
+
* - values.appNotification: The user app notification, optional
|
|
212
|
+
* - values.pushNotification: The user push notification, optional
|
|
213
|
+
* - values.alertValue: The user alert value, optional
|
|
214
|
+
* - values.alertMetadata: The user alert metadata, optional
|
|
215
|
+
* @returns Whether the user alert configurations were updated
|
|
216
|
+
*/
|
|
217
|
+
async updateUserAlertConfigurations(params) {
|
|
218
|
+
this.logger.trace(params, 'UserConfigurationsRepository::updateUserAlertConfigurations started with params');
|
|
219
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
220
|
+
const result = await updateUserAlertConfigurations(novaDataSource, params, this.logger);
|
|
221
|
+
this.logger.trace({ result }, 'UserConfigurationsRepository::updateUserAlertConfigurations result');
|
|
222
|
+
return result;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Delete user alert configurations
|
|
226
|
+
* @param {DeleteUserAlertConfigurationsParams} params containing information to delete user alert configurations
|
|
227
|
+
* - filters.userId: The user id to delete the user alert configurations, required
|
|
228
|
+
* @returns Whether the user alert configurations were deleted
|
|
229
|
+
*/
|
|
230
|
+
async deleteUserAlertConfigurations(params) {
|
|
231
|
+
this.logger.trace(params, 'UserConfigurationsRepository::deleteUserAlertConfigurations started with params');
|
|
232
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
233
|
+
const result = await deleteUserAlertConfigurations(novaDataSource, params, this.logger);
|
|
234
|
+
this.logger.trace({ result }, 'UserConfigurationsRepository::deleteUserAlertConfigurations result');
|
|
235
|
+
return result;
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Delete user alert time windows configurations
|
|
239
|
+
* @param {DeleteAlertTimeWindowsParams} params containing information to delete user alert time windows configurations
|
|
240
|
+
* @returns Whether the user alert time windows configurations were deleted or not
|
|
241
|
+
*/
|
|
242
|
+
async deleteUserAlertTimeWindows(params) {
|
|
243
|
+
this.logger.trace(params, 'UserConfigurationsRepository::deleteUserAlertTimeWindows started with params');
|
|
244
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
245
|
+
const result = await deleteUserAlertTimeWindows(novaDataSource, params, this.logger);
|
|
246
|
+
this.logger.trace({ result }, 'UserConfigurationsRepository::deleteUserAlertTimeWindows result');
|
|
247
|
+
return result;
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Delete device alert time windows configurations
|
|
251
|
+
* @param {DeleteAlertTimeWindowsParams} params containing information to delete device alert time windows configurations
|
|
252
|
+
* @returns Whether the device alert time windows configurations were deleted or not
|
|
253
|
+
*/
|
|
254
|
+
async deleteDeviceAlertTimeWindows(params) {
|
|
255
|
+
this.logger.trace(params, 'UserConfigurationsRepository::deleteDeviceAlertTimeWindows started with params');
|
|
256
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
257
|
+
const result = await deleteDeviceAlertTimeWindows(novaDataSource, params, this.logger);
|
|
258
|
+
this.logger.trace({ result }, 'UserConfigurationsRepository::deleteDeviceAlertTimeWindows result');
|
|
259
|
+
return result;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Update user alert time windows configurations
|
|
263
|
+
* @param {UpdateUserAlertTimeWindowsParams} params containing information to update user alert time windows configurations
|
|
264
|
+
* - filters.configId: The user alert time windows configuration id to update, required
|
|
265
|
+
* - values.alertConfigurationId: The alert configuration id to update, optional
|
|
266
|
+
* - values.daysOfTheWeek: The days of the week to update, optional
|
|
267
|
+
* - values.startTime: The start time to update, optional
|
|
268
|
+
* - values.endTime: The end time to update, optional
|
|
269
|
+
* One of the values should be provided
|
|
270
|
+
* @returns Whether the user alert time windows configurations were updated or not
|
|
271
|
+
*/
|
|
272
|
+
async updateUserAlertTimeWindows(params) {
|
|
273
|
+
this.logger.trace(params, 'UserConfigurationsRepository::updateUserAlertTimeWindows started with params');
|
|
274
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
275
|
+
const result = await updateUserAlertTimeWindows(novaDataSource, params, this.logger);
|
|
276
|
+
this.logger.trace({ result }, 'UserConfigurationsRepository::updateUserAlertTimeWindows result');
|
|
277
|
+
return result;
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Update device alert time windows configurations
|
|
281
|
+
* @param {UpdateDeviceAlertTimeWindowsParams} params containing information to update device alert time windows configurations
|
|
282
|
+
* - filters.configId: The device alert time windows configuration id to update, required
|
|
283
|
+
* - values.alertConfigurationId: The alert configuration id to update, optional
|
|
284
|
+
* - values.daysOfTheWeek: The days of the week to update, optional
|
|
285
|
+
* - values.startTime: The start time to update, optional
|
|
286
|
+
* - values.endTime: The end time to update, optional
|
|
287
|
+
* - values.filter: The filter to update, optional
|
|
288
|
+
* One of the values should be provided
|
|
289
|
+
* @returns Whether the device alert time windows configurations were updated or not
|
|
290
|
+
*/
|
|
291
|
+
async updateDeviceAlertTimeWindows(params) {
|
|
292
|
+
this.logger.trace(params, 'UserConfigurationsRepository::updateDeviceAlertTimeWindows started with params');
|
|
293
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
294
|
+
const result = await updateDeviceAlertTimeWindows(novaDataSource, params, this.logger);
|
|
295
|
+
this.logger.trace({ result }, 'UserConfigurationsRepository::updateDeviceAlertTimeWindows result');
|
|
296
|
+
return result;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { DeviceAlertConfiguration } from '../../entities';
|
|
2
|
+
export const updateDeviceAlertTimeWindows = async (novaDataSource, params, logger) => {
|
|
3
|
+
// userId filter is required
|
|
4
|
+
if (!params?.filters?.configId) {
|
|
5
|
+
logger.warn({ params }, 'UserConfigurationsRepository::updateDeviceAlertTimeWindows - missing required parameters');
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
if (Object.values(params?.values).every(value => value === null || value === undefined)) {
|
|
9
|
+
logger.warn({ params }, 'UserConfigurationsRepository::updateDeviceAlertTimeWindows - missing required parameters');
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
13
|
+
const userAlertConfigurationsRepository = dataSource.getRepository(DeviceAlertConfiguration);
|
|
14
|
+
const queryBuilder = userAlertConfigurationsRepository
|
|
15
|
+
.createQueryBuilder()
|
|
16
|
+
.update(DeviceAlertConfiguration)
|
|
17
|
+
.set({
|
|
18
|
+
alertConfigurationId: params?.values?.alertConfigurationId ?? undefined,
|
|
19
|
+
daysOfTheWeek: params?.values?.daysOfTheWeek ?? undefined,
|
|
20
|
+
startTime: params?.values?.startTime ?? undefined,
|
|
21
|
+
endTime: params?.values?.endTime ?? undefined,
|
|
22
|
+
filter: params?.values?.filter ?? undefined,
|
|
23
|
+
label: params?.values?.label ?? undefined,
|
|
24
|
+
})
|
|
25
|
+
.where('id = :id', { id: params?.filters?.configId });
|
|
26
|
+
const result = await queryBuilder.execute();
|
|
27
|
+
return result.affected > 0;
|
|
28
|
+
}, 'UserConfigurationsRepository::updateUserAlertConfiguration');
|
|
29
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { UserAlertConfiguration } from '../../entities';
|
|
2
|
+
import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
|
|
3
|
+
export const updateUserAlertConfigurations = async (novaDataSource, params, logger) => {
|
|
4
|
+
// userId filter is required
|
|
5
|
+
if (!params?.filters?.userId) {
|
|
6
|
+
logger.warn({ params }, 'UserConfigurationsRepository::updateUserAlertConfigurations - missing required parameters');
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
const userIdBinaryBuffer = uuidStringToBinaryBuffer(params?.filters?.userId);
|
|
10
|
+
if (!userIdBinaryBuffer) {
|
|
11
|
+
logger.warn({ userId: params?.filters?.userId }, 'UserConfigurationsRepository::updateUserAlertConfigurations - user id should be a valid UUID');
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
// at least one field to update is required
|
|
15
|
+
if (params?.values?.smsNotification == null &&
|
|
16
|
+
params?.values?.emailNotification == null &&
|
|
17
|
+
params?.values?.appNotification == null &&
|
|
18
|
+
params?.values?.pushNotification == null &&
|
|
19
|
+
!params?.values?.alertValue &&
|
|
20
|
+
!params?.values?.alertMetadata) {
|
|
21
|
+
logger.warn({ params }, 'UserConfigurationsRepository::updateUserAlertConfigurations - missing required parameters');
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
25
|
+
const userAlertConfigurationsRepository = dataSource.getRepository(UserAlertConfiguration);
|
|
26
|
+
const queryBuilder = userAlertConfigurationsRepository
|
|
27
|
+
.createQueryBuilder()
|
|
28
|
+
.update(UserAlertConfiguration)
|
|
29
|
+
.set({
|
|
30
|
+
smsNotification: params?.values?.smsNotification,
|
|
31
|
+
emailNotification: params?.values?.emailNotification,
|
|
32
|
+
appNotification: params?.values?.appNotification,
|
|
33
|
+
pushNotification: params?.values?.pushNotification,
|
|
34
|
+
alertValue: params?.values?.alertValue,
|
|
35
|
+
alertMetadata: params?.values?.alertMetadata,
|
|
36
|
+
})
|
|
37
|
+
.where('userId = :userId', { userId: userIdBinaryBuffer });
|
|
38
|
+
if (params?.filters?.alertTypeId) {
|
|
39
|
+
queryBuilder.andWhere('alertTypeId = :alertTypeId', {
|
|
40
|
+
alertTypeId: params?.filters?.alertTypeId,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
const result = await queryBuilder.execute();
|
|
44
|
+
return result.affected > 0;
|
|
45
|
+
}, 'UserConfigurationsRepository::updateUserAlertConfiguration');
|
|
46
|
+
};
|