@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,28 @@
|
|
|
1
|
+
import { AlertTimeWindowConfiguration } from '../../entities';
|
|
2
|
+
export const updateUserAlertTimeWindows = async (novaDataSource, params, logger) => {
|
|
3
|
+
// userId filter is required
|
|
4
|
+
if (!params?.filters?.configId) {
|
|
5
|
+
logger.warn({ params }, 'UserConfigurationsRepository::updateUserAlertConfigurations - missing required parameters');
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
if (Object.values(params?.values).every(value => value === null || value === undefined)) {
|
|
9
|
+
logger.warn({ params }, 'UserConfigurationsRepository::updateUserAlertConfigurations - missing required parameters');
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
13
|
+
const userAlertConfigurationsRepository = dataSource.getRepository(AlertTimeWindowConfiguration);
|
|
14
|
+
const queryBuilder = userAlertConfigurationsRepository
|
|
15
|
+
.createQueryBuilder()
|
|
16
|
+
.update(AlertTimeWindowConfiguration)
|
|
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
|
+
label: params?.values?.label ?? undefined,
|
|
23
|
+
})
|
|
24
|
+
.where('id = :id', { id: params?.filters?.configId });
|
|
25
|
+
const result = await queryBuilder.execute();
|
|
26
|
+
return result.affected > 0;
|
|
27
|
+
}, 'UserConfigurationsRepository::updateUserAlertConfiguration');
|
|
28
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { UserConfiguration } from '../../entities/userConfiguration';
|
|
2
|
+
import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
|
|
3
|
+
export const updateUserConfiguration = async (novaDataSource, params, logger) => {
|
|
4
|
+
// userId filter is required
|
|
5
|
+
if (!params?.filters?.userId) {
|
|
6
|
+
logger.warn({ params }, 'UserConfigurationsRepository::updateUserConfiguration - 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::updateUserConfiguration - user id should be a valid UUID');
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
// at least one field to update is required
|
|
15
|
+
if (!params?.values?.timezone &&
|
|
16
|
+
!params?.values?.defaultMapLayer &&
|
|
17
|
+
!params?.values?.speedUnits &&
|
|
18
|
+
!params?.values?.distanceUnits &&
|
|
19
|
+
params?.values?.alertsNotificationsOn == null &&
|
|
20
|
+
!params?.values?.dataSourceTypeId &&
|
|
21
|
+
!params?.values?.homepage &&
|
|
22
|
+
!params?.values?.temperatureUnits &&
|
|
23
|
+
!params?.values?.addressFormat) {
|
|
24
|
+
logger.warn({ params }, 'UserConfigurationsRepository::updateUserConfiguration - missing required parameters');
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
28
|
+
const userConfigurationsRepository = dataSource.getRepository(UserConfiguration);
|
|
29
|
+
const now = new Date();
|
|
30
|
+
const queryBuilder = userConfigurationsRepository
|
|
31
|
+
.createQueryBuilder()
|
|
32
|
+
.update(UserConfiguration)
|
|
33
|
+
.set({
|
|
34
|
+
timezone: params.values.timezone,
|
|
35
|
+
defaultMapLayer: params.values.defaultMapLayer,
|
|
36
|
+
speedUnits: params.values.speedUnits,
|
|
37
|
+
distanceUnits: params.values.distanceUnits,
|
|
38
|
+
alertsNotificationsOn: params.values.alertsNotificationsOn,
|
|
39
|
+
dataSourceTypeId: params.values.dataSourceTypeId,
|
|
40
|
+
homepage: params.values.homepage,
|
|
41
|
+
temperatureUnits: params.values.temperatureUnits,
|
|
42
|
+
modifiedAt: now,
|
|
43
|
+
addressFormat: params.values.addressFormat,
|
|
44
|
+
})
|
|
45
|
+
.where('userId = :userId', { userId: userIdBinaryBuffer });
|
|
46
|
+
const result = await queryBuilder.execute();
|
|
47
|
+
return result.affected > 0;
|
|
48
|
+
}, 'UserConfigurationsRepository::updateUserConfiguration');
|
|
49
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { UserDataDeletionRequest } from '../../entities';
|
|
2
|
+
import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
|
|
3
|
+
export const createUserDataDeletionRequest = async (novaDataSource, params, logger) => {
|
|
4
|
+
if (!params?.userId || !params?.clientId || !params?.email || !params?.userSecurityRoleName) {
|
|
5
|
+
logger.warn({ params }, 'UserDataDeletionRequestsRepository::createUserDataDeletionRequest - missing required parameters');
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
const userIdBinaryBuffer = uuidStringToBinaryBuffer(params?.userId);
|
|
9
|
+
if (!userIdBinaryBuffer?.length) {
|
|
10
|
+
logger.warn({ userId: params?.userId }, 'UserDataDeletionRequestsRepository::createUserDataDeletionRequest - user id should be a valid UUID');
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
14
|
+
const userDataDeletionRequestsRepository = dataSource.getRepository(UserDataDeletionRequest);
|
|
15
|
+
const now = new Date();
|
|
16
|
+
const newUserDataDeletionRequest = {
|
|
17
|
+
id: params?.id,
|
|
18
|
+
userId: userIdBinaryBuffer,
|
|
19
|
+
clientId: params.clientId,
|
|
20
|
+
email: params.email,
|
|
21
|
+
userSecurityRoleName: params.userSecurityRoleName,
|
|
22
|
+
status: params.status,
|
|
23
|
+
createdAt: now,
|
|
24
|
+
modifiedAt: now,
|
|
25
|
+
};
|
|
26
|
+
return await userDataDeletionRequestsRepository.save(newUserDataDeletionRequest);
|
|
27
|
+
}, 'UserDataDeletionRequestsRepository::createUserDataDeletionRequest');
|
|
28
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { UserDataDeletionRequest } from '../../entities';
|
|
2
|
+
import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
|
|
3
|
+
export const getUserDataDeletionRequest = async (novaDataSource, params, logger) => {
|
|
4
|
+
if (!params?.filters?.userId && !params?.filters?.id) {
|
|
5
|
+
logger.warn({ params }, 'UserDataDeletionRequestsRepository::getUserDataDeletionRequest - missing required parameters');
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
const binaryBuffer = uuidStringToBinaryBuffer(params?.filters?.userId);
|
|
9
|
+
if (params?.filters?.userId && !binaryBuffer?.length) {
|
|
10
|
+
logger.warn({ params }, 'UserDataDeletionRequestsRepository::getUserDataDeletionRequest - user id should be a valid UUID');
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
14
|
+
const userDataDeletionRequestsRepository = dataSource.getRepository(UserDataDeletionRequest);
|
|
15
|
+
let queryBuilder = userDataDeletionRequestsRepository.createQueryBuilder('userDataDeletionRequest');
|
|
16
|
+
if (params?.filters?.id) {
|
|
17
|
+
queryBuilder = queryBuilder.where('userDataDeletionRequest.id = :id', {
|
|
18
|
+
id: params?.filters?.id,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
if (params?.filters?.userId) {
|
|
22
|
+
queryBuilder = queryBuilder.where('userDataDeletionRequest.userId = :userId', {
|
|
23
|
+
userId: binaryBuffer,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
const result = await queryBuilder.getOne();
|
|
27
|
+
return result;
|
|
28
|
+
}, 'UserDataDeletionRequestsRepository::getUserDataDeletionRequest');
|
|
29
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { NovaDataSource } from '../../novaDataSource';
|
|
2
|
+
import { BaseRepository } from '../baseRepository';
|
|
3
|
+
import { createUserDataDeletionRequest } from './createUserDataDeletionRequest';
|
|
4
|
+
import { getUserDataDeletionRequest } from './getUserDataDeletionRequest';
|
|
5
|
+
import { removeUserDataDeletionRequest } from './removeUserDataDeletionRequest';
|
|
6
|
+
import { updateUserDataDeletionRequest } from './updateUserDataDeletionRequest';
|
|
7
|
+
export class UserDataDeletionRequestsRepository extends BaseRepository {
|
|
8
|
+
/**
|
|
9
|
+
* Get user data deletion request
|
|
10
|
+
* @param {GetUserDataDeletionRequestParams} params containing information to get a user data deletion request
|
|
11
|
+
* - filters.userId: The user id
|
|
12
|
+
* @returns The user data deletion request information
|
|
13
|
+
*/
|
|
14
|
+
async getUserDataDeletionRequest(params) {
|
|
15
|
+
this.logger.trace(params, 'UserDataDeletionRequestsRepository::getUserDataDeletionRequest started with params');
|
|
16
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
17
|
+
const result = await getUserDataDeletionRequest(novaDataSource, params, this.logger);
|
|
18
|
+
this.logger.trace(result, 'UserDataDeletionRequestsRepository::getUserDataDeletionRequest result');
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Create user data deletion request
|
|
23
|
+
* @param {CreateUserDataDeletionRequestParams} params containing information to create a user data deletion request
|
|
24
|
+
* - id: The id, optional. If not provided, it will be generated
|
|
25
|
+
* - userId: The user id, required
|
|
26
|
+
* - clientId: The client id, required
|
|
27
|
+
* - userSecurityRoleName: The user security role name, required
|
|
28
|
+
* - email: The email, required
|
|
29
|
+
* - status: The status, optional
|
|
30
|
+
* @returns The created user data deletion request information
|
|
31
|
+
*/
|
|
32
|
+
async createUserDataDeletionRequest(params) {
|
|
33
|
+
this.logger.trace(params, 'UserDataDeletionRequestsRepository::createUserDataDeletionRequest started with params');
|
|
34
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
35
|
+
const result = await createUserDataDeletionRequest(novaDataSource, params, this.logger);
|
|
36
|
+
this.logger.trace(result, 'UserDataDeletionRequestsRepository::createUserDataDeletionRequest result');
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Update user data deletion request
|
|
41
|
+
* @param {UpdateUserDataDeletionRequestParams} params containing information to update a user data deletion request
|
|
42
|
+
* - filters.userId: The user id
|
|
43
|
+
* - values.status: The status
|
|
44
|
+
* @returns Whether the user data deletion request was updated
|
|
45
|
+
*/
|
|
46
|
+
async updateUserDataDeletionRequest(params) {
|
|
47
|
+
this.logger.trace(params, 'UserDataDeletionRequestsRepository::updateUserDataDeletionRequest started with params');
|
|
48
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
49
|
+
const result = await updateUserDataDeletionRequest(novaDataSource, params, this.logger);
|
|
50
|
+
this.logger.trace({ result }, 'UserDataDeletionRequestsRepository::updateUserDataDeletionRequest result');
|
|
51
|
+
return result;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Remove user data deletion request
|
|
55
|
+
* @param {RemoveUserDataDeletionRequestParams} params containing information to remove a user data deletion request
|
|
56
|
+
* - filters.id: The user data deletion request id
|
|
57
|
+
* @returns Whether the user data deletion request was removed
|
|
58
|
+
*/
|
|
59
|
+
async removeUserDataDeletionRequest(params) {
|
|
60
|
+
this.logger.trace(params, 'UserDataDeletionRequestsRepository::removeUserDataDeletionRequest started with params');
|
|
61
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
62
|
+
const result = await removeUserDataDeletionRequest(novaDataSource, params, this.logger);
|
|
63
|
+
this.logger.trace({ result }, 'UserDataDeletionRequestsRepository::removeUserDataDeletionRequest result');
|
|
64
|
+
return result;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { UserDataDeletionRequest } from '../../entities';
|
|
2
|
+
export const removeUserDataDeletionRequest = async (novaDataSource, params, logger) => {
|
|
3
|
+
// filter is required
|
|
4
|
+
if (!params?.filters?.id) {
|
|
5
|
+
logger.warn({ params }, 'UserDataDeletionRequestsRepository::removeUserDataDeletionRequest - missing required parameters');
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
9
|
+
const userDataDeletionRequestsRepository = dataSource.getRepository(UserDataDeletionRequest);
|
|
10
|
+
const queryBuilder = userDataDeletionRequestsRepository
|
|
11
|
+
.createQueryBuilder()
|
|
12
|
+
.delete()
|
|
13
|
+
.where('id = :id', { id: params?.filters?.id });
|
|
14
|
+
const result = await queryBuilder.execute();
|
|
15
|
+
return result.affected > 0;
|
|
16
|
+
}, 'UserDataDeletionRequestsRepository::removeUserDataDeletionRequest');
|
|
17
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { UserDataDeletionRequest } from '../../entities';
|
|
2
|
+
import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
|
|
3
|
+
export const updateUserDataDeletionRequest = async (novaDataSource, params, logger) => {
|
|
4
|
+
// at least one filter is required
|
|
5
|
+
if (!params?.filters?.userId && !params?.filters?.id) {
|
|
6
|
+
logger.warn({ params }, 'UserDataDeletionRequestsRepository::updateUserDataDeletionRequest - missing required parameters');
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
// values is required
|
|
10
|
+
if (!params?.values?.status) {
|
|
11
|
+
logger.warn({ params }, 'UserDataDeletionRequestsRepository::updateUserDataDeletionRequest - missing required parameters');
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
const userIdBinaryBuffer = uuidStringToBinaryBuffer(params?.filters?.userId);
|
|
15
|
+
if (params?.filters?.userId && !userIdBinaryBuffer?.length) {
|
|
16
|
+
logger.warn({ userId: params?.filters?.userId }, 'UserDataDeletionRequestsRepository::updateUserDataDeletionRequest - user id should be a valid UUID');
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
20
|
+
const userDataDeletionRequestsRepository = dataSource.getRepository(UserDataDeletionRequest);
|
|
21
|
+
const now = new Date();
|
|
22
|
+
let queryBuilder = userDataDeletionRequestsRepository
|
|
23
|
+
.createQueryBuilder()
|
|
24
|
+
.update(UserDataDeletionRequest)
|
|
25
|
+
.set({
|
|
26
|
+
status: params?.values?.status,
|
|
27
|
+
modifiedAt: now,
|
|
28
|
+
});
|
|
29
|
+
if (params?.filters?.id) {
|
|
30
|
+
queryBuilder = queryBuilder.where('id = :id', { id: params?.filters?.id });
|
|
31
|
+
}
|
|
32
|
+
if (params?.filters?.userId) {
|
|
33
|
+
queryBuilder = queryBuilder.andWhere('userId = :userId', { userId: userIdBinaryBuffer });
|
|
34
|
+
}
|
|
35
|
+
const result = await queryBuilder.execute();
|
|
36
|
+
return result.affected > 0;
|
|
37
|
+
}, 'UserDataDeletionRequestsRepository::updateUserDataDeletionRequest');
|
|
38
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { UserInvitation } from '../../entities';
|
|
2
|
+
import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
|
|
3
|
+
export const createUserInvitation = async (novaDataSource, params, logger) => {
|
|
4
|
+
if (!params?.id ||
|
|
5
|
+
!params?.inviterClientId ||
|
|
6
|
+
!params?.inviterUserId ||
|
|
7
|
+
!params?.inviteeEmail ||
|
|
8
|
+
!params?.inviteeSecurityRoleId ||
|
|
9
|
+
!params?.statusId) {
|
|
10
|
+
logger.warn({ params }, 'UsersRepository::createUserInvitation - missing required parameters');
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
const invitationIdBinaryBuffer = uuidStringToBinaryBuffer(params?.id);
|
|
14
|
+
if (!invitationIdBinaryBuffer?.length) {
|
|
15
|
+
logger.warn({ invitationId: params?.id }, 'UsersRepository::createUserInvitation - user invitation id should be a valid UUID');
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
const inviterUserIdBinaryBuffer = uuidStringToBinaryBuffer(params?.inviterUserId);
|
|
19
|
+
if (!inviterUserIdBinaryBuffer?.length) {
|
|
20
|
+
logger.warn({ inviterUserId: params?.inviterUserId }, 'UsersRepository::createUserInvitation - inviter user id should be a valid UUID');
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
24
|
+
const userInvitationsRepository = dataSource.getRepository(UserInvitation);
|
|
25
|
+
const now = new Date();
|
|
26
|
+
const newUserInvitation = {
|
|
27
|
+
id: invitationIdBinaryBuffer,
|
|
28
|
+
inviterClientId: params.inviterClientId,
|
|
29
|
+
inviterUserId: inviterUserIdBinaryBuffer,
|
|
30
|
+
inviteeEmail: params.inviteeEmail,
|
|
31
|
+
inviteeSecurityRoleId: params.inviteeSecurityRoleId,
|
|
32
|
+
statusId: params.statusId,
|
|
33
|
+
trackerImeis: params.trackerImeis,
|
|
34
|
+
trackerAccess: params.trackerAccess,
|
|
35
|
+
minAccessDate: params.minAccessDate,
|
|
36
|
+
boundaries: params.boundaries,
|
|
37
|
+
boundaryAccess: params.boundaryAccess,
|
|
38
|
+
createdAt: now,
|
|
39
|
+
modifiedAt: now,
|
|
40
|
+
};
|
|
41
|
+
return await userInvitationsRepository.save(newUserInvitation);
|
|
42
|
+
}, 'UsersRepository::createUserInvitation');
|
|
43
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { UserInvitation } from '../../entities';
|
|
2
|
+
import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
|
|
3
|
+
export const getUserInvitationById = async (novaDataSource, params, logger) => {
|
|
4
|
+
if (!params?.filters?.id) {
|
|
5
|
+
logger.warn({ params }, 'UserInvitationsRepository::getUserInvitationById - missing required parameters');
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
const binaryBuffer = uuidStringToBinaryBuffer(params?.filters?.id);
|
|
9
|
+
if (!binaryBuffer?.length) {
|
|
10
|
+
logger.warn({ params }, 'UserInvitationsRepository::getUserInvitationById - user invitation id should be a valid UUID');
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
14
|
+
const userInvitationsRepository = dataSource.getRepository(UserInvitation);
|
|
15
|
+
let queryBuilder = userInvitationsRepository.createQueryBuilder('userInvitation');
|
|
16
|
+
queryBuilder = queryBuilder.where('userInvitation.id = :id', {
|
|
17
|
+
id: binaryBuffer,
|
|
18
|
+
});
|
|
19
|
+
const result = await queryBuilder.getOne();
|
|
20
|
+
return result;
|
|
21
|
+
}, 'UserInvitationsRepository::getUserInvitationById');
|
|
22
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { UserInvitation } from '../../entities';
|
|
2
|
+
export const getUserInvitations = async (novaDataSource, params, logger) => {
|
|
3
|
+
if (!params?.filters?.inviteeEmails?.length &&
|
|
4
|
+
!params?.filters?.inviterClientId &&
|
|
5
|
+
!params?.filters?.statusList?.length) {
|
|
6
|
+
logger.warn({ params }, 'UserInvitationsRepository::getUserInvitations - missing required parameters');
|
|
7
|
+
return [];
|
|
8
|
+
}
|
|
9
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
10
|
+
const userInvitationsRepository = dataSource.getRepository(UserInvitation);
|
|
11
|
+
let queryBuilder = userInvitationsRepository.createQueryBuilder('userInvitation');
|
|
12
|
+
if (params?.filters?.inviteeEmails?.length) {
|
|
13
|
+
queryBuilder = queryBuilder.andWhere('LOWER(userInvitation.inviteeEmail) IN (:...inviteeEmails)', {
|
|
14
|
+
inviteeEmails: params.filters.inviteeEmails.map(email => email.trim().toLowerCase()),
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
if (params?.filters?.inviterClientId) {
|
|
18
|
+
queryBuilder = queryBuilder.andWhere('userInvitation.inviterClientId = :inviterClientId', {
|
|
19
|
+
inviterClientId: params.filters.inviterClientId,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
if (params?.filters?.statusList?.length) {
|
|
23
|
+
queryBuilder = queryBuilder.andWhere('userInvitation.statusId IN (:...statusList)', {
|
|
24
|
+
statusList: params.filters.statusList,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
queryBuilder = queryBuilder.orderBy('userInvitation.createdAt', 'DESC');
|
|
28
|
+
const result = await queryBuilder.getMany();
|
|
29
|
+
return result;
|
|
30
|
+
}, 'UserInvitationsRepository::getUserInvitations');
|
|
31
|
+
};
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { NovaDataSource } from '../../novaDataSource';
|
|
2
|
+
import { BaseRepository } from '../baseRepository';
|
|
3
|
+
import { createUserInvitation } from './createUserInvitation';
|
|
4
|
+
import { getUserInvitationById } from './getUserInvitationById';
|
|
5
|
+
import { getUserInvitations } from './getUserInvitations';
|
|
6
|
+
import { updateUserInvitation } from './updateUserInvitation';
|
|
7
|
+
export class UserInvitationsRepository extends BaseRepository {
|
|
8
|
+
/**
|
|
9
|
+
* Get user invitation by id
|
|
10
|
+
* @param {GetUserInvitationByIdParams} params containing information to get a user invitation by id
|
|
11
|
+
* - filters.id: The user invitation id
|
|
12
|
+
* @returns The user invitation information
|
|
13
|
+
*/
|
|
14
|
+
async getUserInvitationById(params) {
|
|
15
|
+
this.logger.trace(params, 'UserInvitationsRepository::getUserInvitationById started with params');
|
|
16
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
17
|
+
const result = await getUserInvitationById(novaDataSource, params, this.logger);
|
|
18
|
+
this.logger.trace(result, 'UserInvitationsRepository::getUserInvitationById result');
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Get user invitations with filters
|
|
23
|
+
* @param {GetUserInvitationsParams} params containing information to get user invitations
|
|
24
|
+
* - filters.inviterClientId: The inviter client id
|
|
25
|
+
* - filters.inviteeEmails: The array of invitee emails to filter by
|
|
26
|
+
* - filters.statusList: The array of status list to filter by
|
|
27
|
+
* @returns The user invitations list
|
|
28
|
+
*/
|
|
29
|
+
async getUserInvitations(params) {
|
|
30
|
+
this.logger.trace(params, 'UserInvitationsRepository::getUserInvitations started with params');
|
|
31
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
32
|
+
const result = await getUserInvitations(novaDataSource, params, this.logger);
|
|
33
|
+
this.logger.trace(result, 'UserInvitationsRepository::getUserInvitations result');
|
|
34
|
+
return result;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Update user invitation
|
|
38
|
+
* @param {UpdateUserInvitationParams} params containing information to update a user invitation
|
|
39
|
+
* - filters.id: The user invitation id
|
|
40
|
+
* At least one value must be provided:
|
|
41
|
+
* - values.statusId: The status id, optional
|
|
42
|
+
* - values.inviteeUserId: The invitee user id, optional
|
|
43
|
+
* - values.inviteeEmail: The invitee email, optional
|
|
44
|
+
* - values.inviteeSecurityRoleId: The invitee security role id, optional
|
|
45
|
+
* - values.trackerImeis: The tracker imeis, optional
|
|
46
|
+
* - values.trackerAccess: The tracker access, optional
|
|
47
|
+
* - values.minAccessDate: The min access date, optional
|
|
48
|
+
* - values.boundaries: The boundaries, optional
|
|
49
|
+
* - values.boundaryAccess: The boundary access, optional
|
|
50
|
+
* @returns Whether the user invitation was updated or not
|
|
51
|
+
*/
|
|
52
|
+
async updateUserInvitation(params) {
|
|
53
|
+
this.logger.trace(params, 'UserInvitationsRepository::updateUserInvitation started with params');
|
|
54
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
55
|
+
const result = await updateUserInvitation(novaDataSource, params, this.logger);
|
|
56
|
+
this.logger.trace({ result }, 'UserInvitationsRepository::updateUserInvitation result');
|
|
57
|
+
return result;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Create user invitation
|
|
61
|
+
* @param {CreateUserInvitationParams} params containing information to create a user invitation
|
|
62
|
+
* - id: The user invitation id, required
|
|
63
|
+
* - inviterClientId: The inviter client id, required
|
|
64
|
+
* - inviterUserId: The inviter user id, required
|
|
65
|
+
* - inviteeEmail: The invitee email, required
|
|
66
|
+
* - inviteeSecurityRoleId: The invitee security role id, required
|
|
67
|
+
* - statusId: The status id, required
|
|
68
|
+
* - trackerImeis: The tracker imeis, optional
|
|
69
|
+
* - trackerAccess: The tracker access, optional
|
|
70
|
+
* - minAccessDate: The min access date, optional
|
|
71
|
+
* - boundaries: The boundaries, optional
|
|
72
|
+
* - boundaryAccess: The boundary access, optional
|
|
73
|
+
* @returns The created user invitation
|
|
74
|
+
*/
|
|
75
|
+
async createUserInvitation(params) {
|
|
76
|
+
this.logger.trace(params, 'UserInvitationsRepository::createUserInvitation started with params');
|
|
77
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
78
|
+
const result = await createUserInvitation(novaDataSource, params, this.logger);
|
|
79
|
+
this.logger.trace({ result }, 'UserInvitationsRepository::createUserInvitation result');
|
|
80
|
+
return result;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { UserInvitation } from '../../entities';
|
|
2
|
+
import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
|
|
3
|
+
export const updateUserInvitation = async (novaDataSource, params, logger) => {
|
|
4
|
+
// filter is required
|
|
5
|
+
if (!params?.filters?.id) {
|
|
6
|
+
logger.warn({ params }, 'UsersRepository::updateUserInvitation - missing required parameters');
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
const invitationIdBinaryBuffer = uuidStringToBinaryBuffer(params?.filters?.id);
|
|
10
|
+
if (!invitationIdBinaryBuffer?.length) {
|
|
11
|
+
logger.warn({ invitationId: params?.filters?.id }, 'UsersRepository::updateUserInvitation - user invitation id should be a valid UUID');
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
const inviteeUserIdBinaryBuffer = uuidStringToBinaryBuffer(params?.values?.inviteeUserId);
|
|
15
|
+
// at least one field to update is required
|
|
16
|
+
if (!params?.values?.statusId &&
|
|
17
|
+
!inviteeUserIdBinaryBuffer?.length &&
|
|
18
|
+
!params?.values?.inviteeEmail &&
|
|
19
|
+
!params?.values?.inviteeSecurityRoleId &&
|
|
20
|
+
!params?.values?.trackerImeis &&
|
|
21
|
+
!params?.values?.trackerAccess &&
|
|
22
|
+
!params?.values?.minAccessDate &&
|
|
23
|
+
!params?.values?.boundaries &&
|
|
24
|
+
!params?.values?.boundaryAccess) {
|
|
25
|
+
logger.warn({ params }, 'UsersRepository::updateUserInvitation - missing required parameters');
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
29
|
+
const userInvitationsRepository = dataSource.getRepository(UserInvitation);
|
|
30
|
+
const now = new Date();
|
|
31
|
+
let queryBuilder = userInvitationsRepository
|
|
32
|
+
.createQueryBuilder()
|
|
33
|
+
.update(UserInvitation)
|
|
34
|
+
.set({
|
|
35
|
+
statusId: params?.values?.statusId,
|
|
36
|
+
inviteeUserId: inviteeUserIdBinaryBuffer,
|
|
37
|
+
inviteeEmail: params?.values?.inviteeEmail,
|
|
38
|
+
inviteeSecurityRoleId: params?.values?.inviteeSecurityRoleId,
|
|
39
|
+
trackerImeis: params?.values?.trackerImeis,
|
|
40
|
+
trackerAccess: params?.values?.trackerAccess,
|
|
41
|
+
minAccessDate: params?.values?.minAccessDate,
|
|
42
|
+
boundaries: params?.values?.boundaries,
|
|
43
|
+
boundaryAccess: params?.values?.boundaryAccess,
|
|
44
|
+
modifiedAt: now,
|
|
45
|
+
});
|
|
46
|
+
queryBuilder = queryBuilder.where('id = :id', { id: invitationIdBinaryBuffer });
|
|
47
|
+
const result = await queryBuilder.execute();
|
|
48
|
+
return result.affected > 0;
|
|
49
|
+
}, 'UsersRepository::updateUserInvitation');
|
|
50
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { UserRatingRequest } from '../../entities';
|
|
2
|
+
import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
|
|
3
|
+
export const createUserRatingRequest = async (novaDataSource, params, logger) => {
|
|
4
|
+
if (!params?.userId ||
|
|
5
|
+
!params?.clientId ||
|
|
6
|
+
!params?.deviceManufacturer ||
|
|
7
|
+
!params?.deviceOs ||
|
|
8
|
+
!params.deviceOsVersion ||
|
|
9
|
+
!params?.appVersion) {
|
|
10
|
+
logger.warn({ params }, 'UserRatingRequestsRepository::createUserRatingRequest - missing required parameters');
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
const userIdBinaryBuffer = uuidStringToBinaryBuffer(params?.userId);
|
|
14
|
+
if (!userIdBinaryBuffer?.length) {
|
|
15
|
+
logger.warn({ userId: params?.userId }, 'UserRatingRequestsRepository::createUserRatingRequest - user id should be a valid UUID');
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
19
|
+
const userRatingRequestsRepository = dataSource.getRepository(UserRatingRequest);
|
|
20
|
+
const newUserRatingRequest = {
|
|
21
|
+
id: params?.id,
|
|
22
|
+
userId: userIdBinaryBuffer,
|
|
23
|
+
clientId: params.clientId,
|
|
24
|
+
deviceManufacturer: params.deviceManufacturer,
|
|
25
|
+
deviceOs: params.deviceOs,
|
|
26
|
+
deviceOsVersion: params.deviceOsVersion,
|
|
27
|
+
appVersion: params.appVersion,
|
|
28
|
+
requestDate: params.requestDate,
|
|
29
|
+
amazonRequestDate: params.amazonRequestDate,
|
|
30
|
+
deviceIdentifierKey: params.deviceIdentifierKey,
|
|
31
|
+
};
|
|
32
|
+
return await userRatingRequestsRepository.save(newUserRatingRequest);
|
|
33
|
+
}, 'UserRatingRequestsRepository::createUserRatingRequest');
|
|
34
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { UserRatingRequest } from '../../entities';
|
|
2
|
+
import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
|
|
3
|
+
export const getUserRatingRequests = async (novaDataSource, params, logger) => {
|
|
4
|
+
if (!params?.filters?.userId) {
|
|
5
|
+
logger.warn({ params }, 'UserRatingRequestsRepository::getUserRatingRequests - missing required parameters');
|
|
6
|
+
return [];
|
|
7
|
+
}
|
|
8
|
+
const binaryBuffer = uuidStringToBinaryBuffer(params?.filters?.userId);
|
|
9
|
+
if (!binaryBuffer?.length) {
|
|
10
|
+
logger.warn({ params }, 'UserRatingRequestsRepository::getUserRatingRequests - user id should be a valid UUID');
|
|
11
|
+
return [];
|
|
12
|
+
}
|
|
13
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
14
|
+
const userRatingRequestsRepository = dataSource.getRepository(UserRatingRequest);
|
|
15
|
+
let queryBuilder = userRatingRequestsRepository.createQueryBuilder('userRatingRequest');
|
|
16
|
+
queryBuilder = queryBuilder.where('userRatingRequest.userId = :userId', {
|
|
17
|
+
userId: binaryBuffer,
|
|
18
|
+
});
|
|
19
|
+
queryBuilder = queryBuilder.orderBy('userRatingRequest.requestDate', 'DESC');
|
|
20
|
+
const result = await queryBuilder.getMany();
|
|
21
|
+
return result;
|
|
22
|
+
}, 'UserRatingRequestsRepository::getUserRatingRequests');
|
|
23
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { NovaDataSource } from '../../novaDataSource';
|
|
2
|
+
import { BaseRepository } from '../baseRepository';
|
|
3
|
+
import { createUserRatingRequest } from './createUserRatingRequest';
|
|
4
|
+
import { getUserRatingRequests } from './getUserRatingRequests';
|
|
5
|
+
export class UserRatingRequestsRepository extends BaseRepository {
|
|
6
|
+
/**
|
|
7
|
+
* Get user rating requests
|
|
8
|
+
* @param {GetUserRatingRequestsParams} params containing information to get a user rating requests
|
|
9
|
+
* - filters.userId: The user id
|
|
10
|
+
* @returns The user rating requests list
|
|
11
|
+
*/
|
|
12
|
+
async getUserRatingRequests(params) {
|
|
13
|
+
this.logger.trace(params, 'UserRatingRequestsRepository::getUserRatingRequests started with params');
|
|
14
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
15
|
+
const result = await getUserRatingRequests(novaDataSource, params, this.logger);
|
|
16
|
+
this.logger.trace(result, 'UserRatingRequestsRepository::getUserRatingRequests result');
|
|
17
|
+
return result;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Create user rating request
|
|
21
|
+
* @param {CreateUserRatingRequestParams} params containing information to create a user rating request
|
|
22
|
+
* - id: The id, optional. If not provided, it will be generated
|
|
23
|
+
* - userId: The user id, required
|
|
24
|
+
* - clientId: The client id, required
|
|
25
|
+
* - deviceManufacturer: The device manufacturer, required
|
|
26
|
+
* - deviceOs: The device os, required
|
|
27
|
+
* - deviceOsVersion: The device os version, required
|
|
28
|
+
* - appVersion: The app version, required
|
|
29
|
+
* - requestDate: The request date, optional
|
|
30
|
+
* - amazonRequestDate: The amazon request date, optional
|
|
31
|
+
* - deviceIdentifierKey: The device identifier key, optional
|
|
32
|
+
* @returns The created user rating request information
|
|
33
|
+
*/
|
|
34
|
+
async createUserRatingRequest(params) {
|
|
35
|
+
this.logger.trace(params, 'UserRatingRequestsRepository::createUserRatingRequest started with params');
|
|
36
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
|
|
37
|
+
const result = await createUserRatingRequest(novaDataSource, params, this.logger);
|
|
38
|
+
this.logger.trace(result, 'UserRatingRequestsRepository::createUserRatingRequest result');
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { UserRegistrationAttempt } from '../../entities';
|
|
2
|
+
import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
|
|
3
|
+
export const createUserRegistrationAttempt = async (novaDataSource, params, logger) => {
|
|
4
|
+
if (!params?.firstName &&
|
|
5
|
+
!params?.lastName &&
|
|
6
|
+
!params?.email &&
|
|
7
|
+
!params?.phoneNumber &&
|
|
8
|
+
!params?.phoneCode &&
|
|
9
|
+
!params?.phoneCodeCountryId &&
|
|
10
|
+
!params?.imei &&
|
|
11
|
+
!params?.platform &&
|
|
12
|
+
!params?.status &&
|
|
13
|
+
!params?.tempUserId) {
|
|
14
|
+
logger.warn({ params }, 'UserRegistrationAttemptsRepository::createUserRegistrationAttempt - missing required parameters');
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
const tempUserIdBinaryBuffer = uuidStringToBinaryBuffer(params?.tempUserId);
|
|
18
|
+
if (params?.tempUserId && !tempUserIdBinaryBuffer?.length) {
|
|
19
|
+
logger.warn({ params }, 'UserRegistrationAttemptsRepository::getUserRegistrationAttempts - temp user id should be a valid UUID');
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
23
|
+
const userRegistrationAttemptsRepository = dataSource.getRepository(UserRegistrationAttempt);
|
|
24
|
+
const newUserRegistrationAttempt = {
|
|
25
|
+
id: params?.id,
|
|
26
|
+
firstName: params?.firstName,
|
|
27
|
+
lastName: params?.lastName,
|
|
28
|
+
email: params?.email,
|
|
29
|
+
phoneNumber: params?.phoneNumber,
|
|
30
|
+
phoneCode: params?.phoneCode,
|
|
31
|
+
phoneCodeCountryId: params?.phoneCodeCountryId,
|
|
32
|
+
imei: params?.imei,
|
|
33
|
+
platform: params?.platform,
|
|
34
|
+
status: params?.status,
|
|
35
|
+
tempUserId: tempUserIdBinaryBuffer,
|
|
36
|
+
createdAt: new Date(),
|
|
37
|
+
};
|
|
38
|
+
return await userRegistrationAttemptsRepository.save(newUserRegistrationAttempt);
|
|
39
|
+
}, 'UserRegistrationAttemptsRepository::createUserRegistrationAttempt');
|
|
40
|
+
};
|