@spytecgps/nova-orm 1.0.60 → 1.0.61
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/country.js +2 -1
- package/dist/entities/country.js.map +1 -1
- package/dist/entities/index.d.ts +2 -1
- package/dist/entities/index.js +2 -1
- package/dist/entities/index.js.map +1 -1
- package/dist/entities/latestUserAppInfo.d.ts +8 -0
- package/dist/entities/latestUserAppInfo.js +43 -0
- package/dist/entities/latestUserAppInfo.js.map +1 -0
- package/dist/entities/notificationRecipient.js +2 -0
- package/dist/entities/notificationRecipient.js.map +1 -1
- package/dist/entities/user.js +1 -0
- package/dist/entities/user.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/repositories/index.d.ts +2 -1
- package/dist/repositories/index.js +2 -1
- package/dist/repositories/index.js.map +1 -1
- package/dist/repositories/latestUserAppInfo/getLatestUserAppInfo.d.ts +5 -0
- package/dist/repositories/latestUserAppInfo/getLatestUserAppInfo.js +22 -0
- package/dist/repositories/latestUserAppInfo/getLatestUserAppInfo.js.map +1 -0
- package/dist/repositories/latestUserAppInfo/index.d.ts +23 -0
- package/dist/repositories/latestUserAppInfo/index.js +37 -0
- package/dist/repositories/latestUserAppInfo/index.js.map +1 -0
- package/dist/repositories/latestUserAppInfo/upsertLatestUserAppInfo.d.ts +4 -0
- package/dist/repositories/latestUserAppInfo/upsertLatestUserAppInfo.js +29 -0
- package/dist/repositories/latestUserAppInfo/upsertLatestUserAppInfo.js.map +1 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.js +2 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/latestUserAppInfo.d.ts +11 -0
- package/dist/types/latestUserAppInfo.js +2 -0
- package/dist/types/latestUserAppInfo.js.map +1 -0
- 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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -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, };
|
package/dist/types/index.js
CHANGED
|
@@ -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
|
package/dist/types/index.js.map
CHANGED
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"latestUserAppInfo.js","sourceRoot":"","sources":["../../src/types/latestUserAppInfo.ts"],"names":[],"mappings":""}
|