@spytecgps/nova-orm 1.0.60 → 1.0.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/entities/country.js +2 -1
  2. package/dist/entities/country.js.map +1 -1
  3. package/dist/entities/index.d.ts +2 -1
  4. package/dist/entities/index.js +2 -1
  5. package/dist/entities/index.js.map +1 -1
  6. package/dist/entities/latestPosition.js.map +1 -1
  7. package/dist/entities/latestUserAppInfo.d.ts +8 -0
  8. package/dist/entities/latestUserAppInfo.js +43 -0
  9. package/dist/entities/latestUserAppInfo.js.map +1 -0
  10. package/dist/entities/notificationRecipient.js +2 -0
  11. package/dist/entities/notificationRecipient.js.map +1 -1
  12. package/dist/entities/position.js.map +1 -1
  13. package/dist/entities/user.js +1 -0
  14. package/dist/entities/user.js.map +1 -1
  15. package/dist/index.js +1 -1
  16. package/dist/repositories/index.d.ts +2 -1
  17. package/dist/repositories/index.js +2 -1
  18. package/dist/repositories/index.js.map +1 -1
  19. package/dist/repositories/latestUserAppInfo/getLatestUserAppInfo.d.ts +5 -0
  20. package/dist/repositories/latestUserAppInfo/getLatestUserAppInfo.js +22 -0
  21. package/dist/repositories/latestUserAppInfo/getLatestUserAppInfo.js.map +1 -0
  22. package/dist/repositories/latestUserAppInfo/index.d.ts +23 -0
  23. package/dist/repositories/latestUserAppInfo/index.js +37 -0
  24. package/dist/repositories/latestUserAppInfo/index.js.map +1 -0
  25. package/dist/repositories/latestUserAppInfo/upsertLatestUserAppInfo.d.ts +4 -0
  26. package/dist/repositories/latestUserAppInfo/upsertLatestUserAppInfo.js +29 -0
  27. package/dist/repositories/latestUserAppInfo/upsertLatestUserAppInfo.js.map +1 -0
  28. package/dist/repositories/positions/createPosition.js +2 -0
  29. package/dist/repositories/positions/createPosition.js.map +1 -1
  30. package/dist/repositories/positions/getPositionsReportByClient.js +5 -1
  31. package/dist/repositories/positions/getPositionsReportByClient.js.map +1 -1
  32. package/dist/repositories/positions/index.js +3 -3
  33. package/dist/repositories/positions/index.js.map +1 -1
  34. package/dist/repositories/positions/mapping/mapToPositionReport.d.ts +5 -0
  35. package/dist/repositories/positions/mapping/mapToPositionReport.js +21 -0
  36. package/dist/repositories/positions/mapping/mapToPositionReport.js.map +1 -0
  37. package/dist/types/index.d.ts +2 -1
  38. package/dist/types/index.js +2 -1
  39. package/dist/types/index.js.map +1 -1
  40. package/dist/types/latestUserAppInfo.d.ts +11 -0
  41. package/dist/types/latestUserAppInfo.js +2 -0
  42. package/dist/types/latestUserAppInfo.js.map +1 -0
  43. package/dist/types/position.d.ts +2 -0
  44. package/package.json +1 -1
@@ -17,6 +17,7 @@ import { DevicesRepository } from './devices';
17
17
  import { DeviceStatusRepository } from './deviceStatus';
18
18
  import { EntityTagsRepository } from './entityTags';
19
19
  import { FirmwaresRepository } from './firmwares';
20
+ import { LatestUserAppInfoRepository } from './latestUserAppInfo';
20
21
  import { LiveLinksRepository } from './liveLinks';
21
22
  import { NotificationRecipientsRepository } from './notificationRecipients';
22
23
  import { PositionRepository } from './positions';
@@ -33,4 +34,4 @@ import { UserInvitationsRepository } from './userInvitations';
33
34
  import { UserRatingRequestsRepository } from './userRatingRequests';
34
35
  import { UserRegistrationAttemptsRepository } from './userRegistrationAttempts';
35
36
  import { UsersRepository } from './users';
36
- export { AcumaticaRepository, AempTokenRepository, AlertRepository, AlertTypesRepository, AppFeaturesRepository, AssetCategoriesRepository, BillingRepository, BlacklistRepository, BLEMeshConfigurationRepository, BoundariesRepository, ClientsRepository, CountriesRepository, DeactivationsRepository, DeviceStatusRepository, DeviceBehaviorsRepository, DevicePairingsRepository, DevicesRepository, EntityTagsRepository, FirmwaresRepository, LiveLinksRepository, NotificationRecipientsRepository, PositionRepository, SecurityRepository, TagsRepository, TasksRepository, TripRepository, UserActivationsRepository, UserAppFeedbackRepository, UserAppIncidentsRepository, UserConfigurationsRepository, UserDataDeletionRequestsRepository, UserInvitationsRepository, UserRatingRequestsRepository, UserRegistrationAttemptsRepository, UsersRepository, };
37
+ export { AcumaticaRepository, AempTokenRepository, AlertRepository, AlertTypesRepository, AppFeaturesRepository, AssetCategoriesRepository, BillingRepository, BlacklistRepository, BLEMeshConfigurationRepository, BoundariesRepository, ClientsRepository, CountriesRepository, DeactivationsRepository, DeviceStatusRepository, DeviceBehaviorsRepository, DevicePairingsRepository, DevicesRepository, EntityTagsRepository, FirmwaresRepository, LatestUserAppInfoRepository, LiveLinksRepository, NotificationRecipientsRepository, PositionRepository, SecurityRepository, TagsRepository, TasksRepository, TripRepository, UserActivationsRepository, UserAppFeedbackRepository, UserAppIncidentsRepository, UserConfigurationsRepository, UserDataDeletionRequestsRepository, UserInvitationsRepository, UserRatingRequestsRepository, UserRegistrationAttemptsRepository, UsersRepository, };
@@ -17,6 +17,7 @@ import { DevicesRepository } from './devices';
17
17
  import { DeviceStatusRepository } from './deviceStatus';
18
18
  import { EntityTagsRepository } from './entityTags';
19
19
  import { FirmwaresRepository } from './firmwares';
20
+ import { LatestUserAppInfoRepository } from './latestUserAppInfo';
20
21
  import { LiveLinksRepository } from './liveLinks';
21
22
  import { NotificationRecipientsRepository } from './notificationRecipients';
22
23
  import { PositionRepository } from './positions';
@@ -33,5 +34,5 @@ import { UserInvitationsRepository } from './userInvitations';
33
34
  import { UserRatingRequestsRepository } from './userRatingRequests';
34
35
  import { UserRegistrationAttemptsRepository } from './userRegistrationAttempts';
35
36
  import { UsersRepository } from './users';
36
- export { AcumaticaRepository, AempTokenRepository, AlertRepository, AlertTypesRepository, AppFeaturesRepository, AssetCategoriesRepository, BillingRepository, BlacklistRepository, BLEMeshConfigurationRepository, BoundariesRepository, ClientsRepository, CountriesRepository, DeactivationsRepository, DeviceStatusRepository, DeviceBehaviorsRepository, DevicePairingsRepository, DevicesRepository, EntityTagsRepository, FirmwaresRepository, LiveLinksRepository, NotificationRecipientsRepository, PositionRepository, SecurityRepository, TagsRepository, TasksRepository, TripRepository, UserActivationsRepository, UserAppFeedbackRepository, UserAppIncidentsRepository, UserConfigurationsRepository, UserDataDeletionRequestsRepository, UserInvitationsRepository, UserRatingRequestsRepository, UserRegistrationAttemptsRepository, UsersRepository, };
37
+ export { AcumaticaRepository, AempTokenRepository, AlertRepository, AlertTypesRepository, AppFeaturesRepository, AssetCategoriesRepository, BillingRepository, BlacklistRepository, BLEMeshConfigurationRepository, BoundariesRepository, ClientsRepository, CountriesRepository, DeactivationsRepository, DeviceStatusRepository, DeviceBehaviorsRepository, DevicePairingsRepository, DevicesRepository, EntityTagsRepository, FirmwaresRepository, LatestUserAppInfoRepository, LiveLinksRepository, NotificationRecipientsRepository, PositionRepository, SecurityRepository, TagsRepository, TasksRepository, TripRepository, UserActivationsRepository, UserAppFeedbackRepository, UserAppIncidentsRepository, UserConfigurationsRepository, UserDataDeletionRequestsRepository, UserInvitationsRepository, UserRatingRequestsRepository, UserRegistrationAttemptsRepository, UsersRepository, };
37
38
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repositories/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAA;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAA;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,8BAA8B,EAC9B,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,gCAAgC,EAChC,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,cAAc,EACd,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,kCAAkC,EAClC,yBAAyB,EACzB,4BAA4B,EAC5B,kCAAkC,EAClC,eAAe,GAChB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repositories/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { LatestUserAppInfo } from '../../entities';
2
+ import { NovaDataSource } from '../../novaDataSource';
3
+ import { GetLatestUserAppInfoParams } from '../../types/latestUserAppInfo';
4
+ import { Logger } from '../../types/logger';
5
+ export declare const getLatestUserAppInfo: (novaDataSource: NovaDataSource, params: GetLatestUserAppInfoParams, logger: Logger) => Promise<LatestUserAppInfo>;
@@ -0,0 +1,22 @@
1
+ import { LatestUserAppInfo } from '../../entities';
2
+ import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
3
+ export const getLatestUserAppInfo = async (novaDataSource, params, logger) => {
4
+ if (!params?.filters?.userId) {
5
+ logger.warn({ params }, 'LatestUserAppInfoRepository::getLatestUserAppInfo - missing required parameters');
6
+ return null;
7
+ }
8
+ const binaryBuffer = uuidStringToBinaryBuffer(params?.filters?.userId);
9
+ if (!binaryBuffer?.length) {
10
+ logger.warn({ params }, 'LatestUserAppInfoRepository::getLatestUserAppInfo - user id should be a valid UUID');
11
+ return null;
12
+ }
13
+ return novaDataSource.safeQuery(async (dataSource) => {
14
+ const latestUserAppInfoRepository = dataSource.getRepository(LatestUserAppInfo);
15
+ const result = await latestUserAppInfoRepository
16
+ .createQueryBuilder('latestUserAppInfo')
17
+ .where('latestUserAppInfo.userId = :userId', { userId: binaryBuffer })
18
+ .getOne();
19
+ return result;
20
+ }, 'LatestUserAppInfoRepository::upsertLatestUserAppInfo');
21
+ };
22
+ //# sourceMappingURL=getLatestUserAppInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getLatestUserAppInfo.js","sourceRoot":"","sources":["../../../src/repositories/latestUserAppInfo/getLatestUserAppInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAIlD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAElE,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,cAA8B,EAC9B,MAAkC,EAClC,MAAc,EACc,EAAE;IAC9B,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;QAC5B,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,iFAAiF,CAClF,CAAA;QACD,OAAO,IAAI,CAAA;KACZ;IAED,MAAM,YAAY,GAAG,wBAAwB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IAEtE,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE;QACzB,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,oFAAoF,CACrF,CAAA;QACD,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,UAA0B,EAE/D,EAAE;QACF,MAAM,2BAA2B,GAAG,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAA;QAE/E,MAAM,MAAM,GAAG,MAAM,2BAA2B;aAC7C,kBAAkB,CAAC,mBAAmB,CAAC;aACvC,KAAK,CAAC,oCAAoC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;aACrE,MAAM,EAAE,CAAA;QAEX,OAAO,MAAM,CAAA;IACf,CAAC,EAAE,sDAAsD,CAAC,CAAA;AAC5D,CAAC,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { LatestUserAppInfo } from '../../entities';
2
+ import { GetLatestUserAppInfoParams, UpsertLatestUserAppInfoParams } from '../../types/latestUserAppInfo';
3
+ import { BaseRepository } from '../baseRepository';
4
+ export declare class LatestUserAppInfoRepository extends BaseRepository {
5
+ /**
6
+ * Upsert latest user app info
7
+ * @param {UpsertLatestUserAppInfoParams} params containing information to insert or update the latest user app info
8
+ * If no user app info exist with the same user id, a new user app info will be created.
9
+ * Otherwise, the existing user app info will be updated.
10
+ * @param params.userId the user id, a UUID string, required
11
+ * @param params.deviceOs the device operating system, required
12
+ * @param params.appVersion the app version, required
13
+ * @returns {Promise<boolean>} true if the user app info was successfully inserted or updated, false otherwise
14
+ */
15
+ upsertLatestUserAppInfo(params: UpsertLatestUserAppInfoParams): Promise<boolean>;
16
+ /**
17
+ * Get latest user app info
18
+ * @param {GetLatestUserAppInfoParams} params containing information to get the latest user app info
19
+ * @param params.filters.userId the user id, a UUID string, required
20
+ * @returns {Promise<LatestUserAppInfo>} the latest user app info if it exists, null otherwise
21
+ */
22
+ getLatestUserAppInfo(params: GetLatestUserAppInfoParams): Promise<LatestUserAppInfo>;
23
+ }
@@ -0,0 +1,37 @@
1
+ import { NovaDataSource } from '../../novaDataSource';
2
+ import { BaseRepository } from '../baseRepository';
3
+ import { getLatestUserAppInfo } from './getLatestUserAppInfo';
4
+ import { upsertLatestUserAppInfo } from './upsertLatestUserAppInfo';
5
+ export class LatestUserAppInfoRepository extends BaseRepository {
6
+ /**
7
+ * Upsert latest user app info
8
+ * @param {UpsertLatestUserAppInfoParams} params containing information to insert or update the latest user app info
9
+ * If no user app info exist with the same user id, a new user app info will be created.
10
+ * Otherwise, the existing user app info will be updated.
11
+ * @param params.userId the user id, a UUID string, required
12
+ * @param params.deviceOs the device operating system, required
13
+ * @param params.appVersion the app version, required
14
+ * @returns {Promise<boolean>} true if the user app info was successfully inserted or updated, false otherwise
15
+ */
16
+ async upsertLatestUserAppInfo(params) {
17
+ this.logger.trace(params, 'LatestUserAppInfoRepository::upsertLatestUserAppInfo started with params');
18
+ const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
19
+ const result = await upsertLatestUserAppInfo(novaDataSource, params, this.logger);
20
+ this.logger.trace({ result }, 'LatestUserAppInfoRepository::upsertLatestUserAppInfo result');
21
+ return result;
22
+ }
23
+ /**
24
+ * Get latest user app info
25
+ * @param {GetLatestUserAppInfoParams} params containing information to get the latest user app info
26
+ * @param params.filters.userId the user id, a UUID string, required
27
+ * @returns {Promise<LatestUserAppInfo>} the latest user app info if it exists, null otherwise
28
+ */
29
+ async getLatestUserAppInfo(params) {
30
+ this.logger.trace(params, 'LatestUserAppInfoRepository::getLatestUserAppInfo started with params');
31
+ const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
32
+ const result = await getLatestUserAppInfo(novaDataSource, params, this.logger);
33
+ this.logger.trace({ result }, 'LatestUserAppInfoRepository::getLatestUserAppInfo result');
34
+ return result;
35
+ }
36
+ }
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/latestUserAppInfo/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAKrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,MAAM,OAAO,2BAA4B,SAAQ,cAAc;IAC7D;;;;;;;;;OASG;IACH,KAAK,CAAC,uBAAuB,CAAC,MAAqC;QACjE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,MAAM,EACN,0EAA0E,CAC3E,CAAA;QAED,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEjF,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEjF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,6DAA6D,CAAC,CAAA;QAE5F,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,MAAkC;QAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,MAAM,EACN,uEAAuE,CACxE,CAAA;QAED,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEjF,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAE9E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,0DAA0D,CAAC,CAAA;QAEzF,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
@@ -0,0 +1,4 @@
1
+ import { NovaDataSource } from '../../novaDataSource';
2
+ import { UpsertLatestUserAppInfoParams } from '../../types/latestUserAppInfo';
3
+ import { Logger } from '../../types/logger';
4
+ export declare const upsertLatestUserAppInfo: (novaDataSource: NovaDataSource, params: UpsertLatestUserAppInfoParams, logger: Logger) => Promise<boolean>;
@@ -0,0 +1,29 @@
1
+ import { LatestUserAppInfo } from '../../entities';
2
+ import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
3
+ export const upsertLatestUserAppInfo = async (novaDataSource, params, logger) => {
4
+ if (!params?.userId || !params.deviceOs || !params.appVersion) {
5
+ logger.warn({ params }, 'LatestUserAppInfoRepository::upsertLatestUserAppInfo - missing required parameters');
6
+ return false;
7
+ }
8
+ const binaryBuffer = uuidStringToBinaryBuffer(params?.userId);
9
+ if (!binaryBuffer?.length) {
10
+ logger.warn({ params }, 'LatestUserAppInfoRepository::upsertLatestUserAppInfo - user id should be a valid UUID');
11
+ return null;
12
+ }
13
+ return novaDataSource.safeQuery(async (dataSource) => {
14
+ const latestUserAppInfoRepository = dataSource.getRepository(LatestUserAppInfo);
15
+ const now = new Date();
16
+ const latestUserAppInfo = {
17
+ id: params.id,
18
+ userId: binaryBuffer,
19
+ deviceOs: params.deviceOs,
20
+ appVersion: params.appVersion,
21
+ createdAt: now,
22
+ };
23
+ const result = await latestUserAppInfoRepository.upsert(latestUserAppInfo, {
24
+ conflictPaths: ['userId'],
25
+ });
26
+ return result?.raw?.affectedRows > 0;
27
+ }, 'LatestUserAppInfoRepository::upsertLatestUserAppInfo');
28
+ };
29
+ //# sourceMappingURL=upsertLatestUserAppInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upsertLatestUserAppInfo.js","sourceRoot":"","sources":["../../../src/repositories/latestUserAppInfo/upsertLatestUserAppInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAIlD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAElE,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC1C,cAA8B,EAC9B,MAAqC,EACrC,MAAc,EACI,EAAE;IACpB,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;QAC7D,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,oFAAoF,CACrF,CAAA;QACD,OAAO,KAAK,CAAA;KACb;IAED,MAAM,YAAY,GAAG,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE7D,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE;QACzB,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,uFAAuF,CACxF,CAAA;QACD,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,UAA0B,EAAoB,EAAE;QACrF,MAAM,2BAA2B,GAAG,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAA;QAE/E,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;QAEtB,MAAM,iBAAiB,GAAG;YACxB,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,SAAS,EAAE,GAAG;SACf,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,MAAM,CAAC,iBAAiB,EAAE;YACzE,aAAa,EAAE,CAAC,QAAQ,CAAC;SAC1B,CAAC,CAAA;QAEF,OAAO,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,CAAC,CAAA;IACtC,CAAC,EAAE,sDAAsD,CAAC,CAAA;AAC5D,CAAC,CAAA"}
@@ -26,6 +26,7 @@ export const createPosition = async (novaDataSource, params, logger) => {
26
26
  gpsUtcTime: params.gpsUtcTime,
27
27
  externalBatteryPercentage: params.externalBatteryPercentage,
28
28
  externalPowerVoltage: params.externalPowerVoltage,
29
+ //azimuth: params.azimuth,
29
30
  };
30
31
  const createdPosition = await positionsRepository.save(newPosition);
31
32
  if (!createdPosition) {
@@ -69,6 +70,7 @@ export const upsertPositions = async (novaDataSource, params, logger) => {
69
70
  gpsUtcTime: param.gpsUtcTime,
70
71
  externalBatteryPercentage: param.externalBatteryPercentage,
71
72
  externalPowerVoltage: param.externalPowerVoltage,
73
+ //azimuth: param.azimuth,
72
74
  };
73
75
  positions.push(newPosition);
74
76
  });
@@ -1 +1 @@
1
- {"version":3,"file":"createPosition.js","sourceRoot":"","sources":["../../../src/repositories/positions/createPosition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createPosition.js","sourceRoot":"","sources":["../../../src/repositories/positions/createPosition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAIzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,cAA8B,EAC9B,MAA4B,EAC5B,MAAc,EACK,EAAE;IACrB,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE;QACnF,OAAO,IAAI,CAAA;KACZ;IAED,IAAI;QACF,MAAM,cAAc,CAAC,OAAO,EAAE,CAAA;QAC9B,MAAM,mBAAmB,GAAG,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAElE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;QACtB,MAAM,WAAW,GAAa;YAC5B,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,GAAG;YAClC,SAAS,EAAE,wBAAwB,CAAC,MAAM,CAAC,SAAS,CAAC;YACrD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,yBAAyB,EAAE,MAAM,CAAC,yBAAyB;YAC3D,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;YACjD,0BAA0B;SAC3B,CAAA;QAED,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAEnE,IAAI,CAAC,eAAe,EAAE;YACpB,OAAO,IAAI,CAAA;SACZ;QAED,MAAM,oBAAoB,CAAC,cAAc,EAAE,eAAe,EAAE,MAAM,CAAC,CAAA;QAEnE,OAAO,EAAE,GAAG,eAAe,EAAE,EAAE,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,CAAA;KAC9D;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,2CAA2C,CAAC,CAAA;QAChE,MAAM,KAAK,CAAA;KACZ;YAAS;QACR,MAAM,cAAc,CAAC,UAAU,EAAE,CAAA;KAClC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,cAA8B,EAC9B,MAA8B,EAC9B,MAAc,EACO,EAAE;IACvB,IAAI;QACF,MAAM,cAAc,CAAC,OAAO,EAAE,CAAA;QAE9B,MAAM,mBAAmB,GAAG,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAClE,MAAM,SAAS,GAAe,EAAE,CAAA;QAEhC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACrB,IAAI,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE;gBAC/E,OAAO,IAAI,CAAA;aACZ;YAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;YACtB,MAAM,WAAW,GAAa;gBAC5B,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,GAAG;gBACjC,SAAS,EAAE,wBAAwB,CAAC,KAAK,CAAC,SAAS,CAAC;gBACpD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;gBAC1C,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,yBAAyB,EAAE,KAAK,CAAC,yBAAyB;gBAC1D,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;gBAChD,yBAAyB;aAC1B,CAAA;YAED,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;QAEF,MAAM,mBAAmB,CAAC,MAAM,CAAC,SAAS,EAAE;YAC1C,aAAa,EAAE,CAAC,WAAW,CAAC;SAC7B,CAAC,CAAA;QAEF,MAAM,iBAAiB,GAAG,MAAM,mBAAmB;aAChD,kBAAkB,CAAC,GAAG,CAAC;aACvB,KAAK,CAAC,8BAA8B,EAAE;YACrC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SAC5C,CAAC;aACD,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;aACtB,OAAO,EAAE,CAAA;QAEZ,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE;YACxC,MAAM,oBAAoB,CAAC,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;SAC7D;QAED,OAAO,CACL,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3B,GAAG,CAAC;YACJ,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;SACjB,CAAC,CAAC,IAAI,EAAE,CACV,CAAA;KACF;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,4CAA4C,CAAC,CAAA;QACjE,MAAM,KAAK,CAAA;KACZ;YAAS;QACR,MAAM,cAAc,CAAC,UAAU,EAAE,CAAA;KAClC;AACH,CAAC,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { Position } from '../../entities/position';
2
+ import { mapToPositionReport } from './mapping/mapToPositionReport';
2
3
  export const getPositionsReportByClient = async (novaDataSource, params, logger) => {
3
4
  if (!params.filters.clientId) {
4
5
  return [];
@@ -64,18 +65,21 @@ export const getPositionsReportByClient = async (novaDataSource, params, logger)
64
65
  'p.actualDate as actualDate',
65
66
  'p.lat as lat',
66
67
  'p.lon as lon',
68
+ 'p.messageId as messageId',
69
+ 'p.sendTime as sendTime',
67
70
  'p.address as address',
68
71
  'p.speed as speed',
69
72
  'p.odometer as odometer',
70
73
  'p.batteryPercentage as batteryPercentage',
71
74
  'p.externalPowerVoltage as externalPowerVoltage',
72
75
  'p.externalBatteryPercentage as externalBatteryPercentage',
76
+ //'p.azimuth as azimuth', //TODO: uncomment when azimuth is available in the database
73
77
  `sub.totalCount as totalCount`,
74
78
  ])
75
79
  .limit(params.pagingOptions.pageSize)
76
80
  .offset(params.pagingOptions.pageSize * params.pagingOptions.pageIndex)
77
81
  .getRawMany();
78
- return positions;
82
+ return positions.map(mapToPositionReport);
79
83
  }
80
84
  catch (error) {
81
85
  logger.error({ error }, 'PositionsRepository::GetPositionsReportByClientId error');
@@ -1 +1 @@
1
- {"version":3,"file":"getPositionsReportByClient.js","sourceRoot":"","sources":["../../../src/repositories/positions/getPositionsReportByClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getPositionsReportByClient.js","sourceRoot":"","sources":["../../../src/repositories/positions/getPositionsReportByClient.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,7 @@ export class PositionRepository extends BaseRepository {
53
53
  this.logger.trace(params, `PositionsRepository::this.createPosition started with params`);
54
54
  const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
55
55
  const result = await upsertPositions(novaDataSource, params, this.logger);
56
- this.logger.trace(result, 'PositionsRepository::insertPositions result');
56
+ this.logger.trace({ length: result.length }, 'PositionsRepository::insertPositions result');
57
57
  return result;
58
58
  }
59
59
  /**
@@ -65,7 +65,7 @@ export class PositionRepository extends BaseRepository {
65
65
  this.logger.trace(params, `PositionsRepository::this.getPositionsByImei started with params`);
66
66
  const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
67
67
  const result = await getPositionsByImei(novaDataSource, params, this.logger);
68
- this.logger.trace(result, 'PositionsRepository::getPositionsByImei result');
68
+ this.logger.trace({ length: result.length }, 'PositionsRepository::getPositionsByImei result');
69
69
  return result;
70
70
  }
71
71
  /**
@@ -88,7 +88,7 @@ export class PositionRepository extends BaseRepository {
88
88
  this.logger.trace(params, `PositionsRepository::getPositionsReportByClientId started with params`);
89
89
  const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
90
90
  const result = await getPositionsReportByClient(novaDataSource, params, this.logger);
91
- this.logger.trace(result, 'PositionsRepository::getPositionsReportByClientId result');
91
+ this.logger.trace({ length: result.length }, 'PositionsRepository::getPositionsReportByClientId result');
92
92
  return result;
93
93
  }
94
94
  async getLatestPositionByImei(params) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/positions/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAQrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AAEzE,MAAM,OAAO,kBAAmB,SAAQ,cAAc;IACpD;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,cAAc,CAAC,MAA4B;QAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,8DAA8D,CAAC,CAAA;QAEzF,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEjF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAExE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,6CAA6C,CAAC,CAAA;QAExE,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,eAAe,CAAC,MAA8B;QAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,8DAA8D,CAAC,CAAA;QAEzF,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEjF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEzE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,6CAA6C,CAAC,CAAA;QAExE,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CAAC,MAAgC;QACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,kEAAkE,CAAC,CAAA;QAE7F,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEjF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAE5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,gDAAgD,CAAC,CAAA;QAE3E,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,0BAA0B,CAC9B,MAAwC;QAExC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,MAAM,EACN,uEAAuE,CACxE,CAAA;QAED,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEjF,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEpF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,0DAA0D,CAAC,CAAA;QAErF,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,MAAqC;QACjE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,MAAM,EACN,uEAAuE,CACxE,CAAA;QAED,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEjF,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEjF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,qDAAqD,CAAC,CAAA;QAEhF,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/positions/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Position } from '../../../entities';
2
+ import { PositionReport } from '../../../types/position';
3
+ export declare const mapToPositionReport: (position: Position & {
4
+ totalCount: number;
5
+ }) => PositionReport;
@@ -0,0 +1,21 @@
1
+ import { binaryBufferToUuidString } from '../../../utils/uuidHelpers';
2
+ export const mapToPositionReport = (position) => {
3
+ return {
4
+ imei: position.imei,
5
+ createdAt: position.createdAt,
6
+ actualDate: position.actualDate,
7
+ sendTime: position.sendTime,
8
+ messageId: binaryBufferToUuidString(position.messageId),
9
+ lat: position.lat,
10
+ lon: position.lon,
11
+ //azimuth: position.azimuth ?? 0,
12
+ address: position.address,
13
+ speed: position.speed,
14
+ odometer: position.odometer,
15
+ batteryPercentage: position.batteryPercentage,
16
+ externalPowerVoltage: position.externalPowerVoltage,
17
+ externalBatteryPercentage: position.externalBatteryPercentage,
18
+ totalCount: position.totalCount,
19
+ };
20
+ };
21
+ //# sourceMappingURL=mapToPositionReport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapToPositionReport.js","sourceRoot":"","sources":["../../../../src/repositories/positions/mapping/mapToPositionReport.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAErE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,QAA2C,EAC3B,EAAE;IAClB,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,SAAS,EAAE,wBAAwB,CAAC,QAAQ,CAAC,SAAS,CAAC;QACvD,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,iCAAiC;QACjC,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;QACnD,yBAAyB,EAAE,QAAQ,CAAC,yBAAyB;QAC7D,UAAU,EAAE,QAAQ,CAAC,UAAU;KAChC,CAAA;AACH,CAAC,CAAA"}
@@ -14,6 +14,7 @@ import * as DevicePairings from './devicePairings';
14
14
  import * as Devices from './devices';
15
15
  import * as Enums from './enums';
16
16
  import * as Firmwares from './firmwares';
17
+ import * as LatestUserAppInfo from './latestUserAppInfo';
17
18
  import * as LiveLinks from './liveLinks';
18
19
  import * as Logger from './logger';
19
20
  import * as NotificationRecipients from './notificationRecipients';
@@ -29,4 +30,4 @@ import * as UserDataDeletionRequests from './userDataDeletionRequests';
29
30
  import * as UserInvitations from './userInvitations';
30
31
  import * as UserRatingRequests from './userRatingRequests';
31
32
  import * as UserRegistrationAttempts from './userRegistrationAttempts';
32
- export { Acumatica, Alerts, AlertTypes, AppFeatures, Billing, Blacklist, BLEMeshConfiguration, Boundaries, Clients, Countries, Deactivations, DeviceBehaviors, DevicePairings, Devices, Firmwares, LiveLinks, Logger, NotificationRecipients, Positions, Security, Trips, Users, UserActivations, UserAppFeedback, UserAppIncidents, UserConfigurations, UserDataDeletionRequests, UserInvitations, UserRatingRequests, UserRegistrationAttempts, Enums, };
33
+ export { Acumatica, Alerts, AlertTypes, AppFeatures, Billing, Blacklist, BLEMeshConfiguration, Boundaries, Clients, Countries, Deactivations, DeviceBehaviors, DevicePairings, Devices, Firmwares, LatestUserAppInfo, LiveLinks, Logger, NotificationRecipients, Positions, Security, Trips, Users, UserActivations, UserAppFeedback, UserAppIncidents, UserConfigurations, UserDataDeletionRequests, UserInvitations, UserRatingRequests, UserRegistrationAttempts, Enums, };
@@ -14,6 +14,7 @@ import * as DevicePairings from './devicePairings';
14
14
  import * as Devices from './devices';
15
15
  import * as Enums from './enums';
16
16
  import * as Firmwares from './firmwares';
17
+ import * as LatestUserAppInfo from './latestUserAppInfo';
17
18
  import * as LiveLinks from './liveLinks';
18
19
  import * as Logger from './logger';
19
20
  import * as NotificationRecipients from './notificationRecipients';
@@ -29,5 +30,5 @@ import * as UserDataDeletionRequests from './userDataDeletionRequests';
29
30
  import * as UserInvitations from './userInvitations';
30
31
  import * as UserRatingRequests from './userRatingRequests';
31
32
  import * as UserRegistrationAttempts from './userRegistrationAttempts';
32
- export { Acumatica, Alerts, AlertTypes, AppFeatures, Billing, Blacklist, BLEMeshConfiguration, Boundaries, Clients, Countries, Deactivations, DeviceBehaviors, DevicePairings, Devices, Firmwares, LiveLinks, Logger, NotificationRecipients, Positions, Security, Trips, Users, UserActivations, UserAppFeedback, UserAppIncidents, UserConfigurations, UserDataDeletionRequests, UserInvitations, UserRatingRequests, UserRegistrationAttempts, Enums, };
33
+ export { Acumatica, Alerts, AlertTypes, AppFeatures, Billing, Blacklist, BLEMeshConfiguration, Boundaries, Clients, Countries, Deactivations, DeviceBehaviors, DevicePairings, Devices, Firmwares, LatestUserAppInfo, LiveLinks, Logger, NotificationRecipients, Positions, Security, Trips, Users, UserActivations, UserAppFeedback, UserAppIncidents, UserConfigurations, UserDataDeletionRequests, UserInvitations, UserRatingRequests, UserRegistrationAttempts, Enums, };
33
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,MAAM,MAAM,SAAS,CAAA;AACjC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,WAAW,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,oBAAoB,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,UAAU,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,sBAAsB,MAAM,0BAA0B,CAAA;AAClE,OAAO,KAAK,SAAS,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,KAAK,MAAM,QAAQ,CAAA;AAC/B,OAAO,KAAK,KAAK,MAAM,QAAQ,CAAA;AAC/B,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,gBAAgB,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,kBAAkB,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,wBAAwB,MAAM,4BAA4B,CAAA;AACtE,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,kBAAkB,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,wBAAwB,MAAM,4BAA4B,CAAA;AAEtE,OAAO,EACL,SAAS,EACT,MAAM,EACN,UAAU,EACV,WAAW,EACX,OAAO,EACP,SAAS,EACT,oBAAoB,EACpB,UAAU,EACV,OAAO,EACP,SAAS,EACT,aAAa,EACb,eAAe,EACf,cAAc,EACd,OAAO,EACP,SAAS,EACT,SAAS,EACT,MAAM,EACN,sBAAsB,EACtB,SAAS,EACT,QAAQ,EACR,KAAK,EACL,KAAK,EACL,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,GACN,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,MAAM,MAAM,SAAS,CAAA;AACjC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,WAAW,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,oBAAoB,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,UAAU,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,iBAAiB,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,sBAAsB,MAAM,0BAA0B,CAAA;AAClE,OAAO,KAAK,SAAS,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,KAAK,MAAM,QAAQ,CAAA;AAC/B,OAAO,KAAK,KAAK,MAAM,QAAQ,CAAA;AAC/B,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,gBAAgB,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,kBAAkB,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,wBAAwB,MAAM,4BAA4B,CAAA;AACtE,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,kBAAkB,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,wBAAwB,MAAM,4BAA4B,CAAA;AAEtE,OAAO,EACL,SAAS,EACT,MAAM,EACN,UAAU,EACV,WAAW,EACX,OAAO,EACP,SAAS,EACT,oBAAoB,EACpB,UAAU,EACV,OAAO,EACP,SAAS,EACT,aAAa,EACb,eAAe,EACf,cAAc,EACd,OAAO,EACP,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,MAAM,EACN,sBAAsB,EACtB,SAAS,EACT,QAAQ,EACR,KAAK,EACL,KAAK,EACL,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,GACN,CAAA"}
@@ -0,0 +1,11 @@
1
+ export interface UpsertLatestUserAppInfoParams {
2
+ id?: number;
3
+ userId: string;
4
+ deviceOs: string;
5
+ appVersion: string;
6
+ }
7
+ export interface GetLatestUserAppInfoParams {
8
+ filters: {
9
+ userId: string;
10
+ };
11
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=latestUserAppInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"latestUserAppInfo.js","sourceRoot":"","sources":["../../src/types/latestUserAppInfo.ts"],"names":[],"mappings":""}
@@ -42,6 +42,8 @@ export interface PositionReport {
42
42
  imei: string;
43
43
  createdAt: Date;
44
44
  actualDate: Date;
45
+ sendTime: Date;
46
+ messageId: string;
45
47
  lat: number;
46
48
  lon: number;
47
49
  address: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spytecgps/nova-orm",
3
- "version": "1.0.60",
3
+ "version": "1.0.62",
4
4
  "description": "ORM with PlanetScale",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",