@spytecgps/nova-orm 0.0.4 → 0.0.5
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/README.md +2 -0
- package/dist/entities/alert.d.ts +25 -0
- package/dist/entities/alert.js +118 -0
- package/dist/entities/alertType.d.ts +14 -0
- package/dist/entities/alertType.js +65 -0
- package/dist/entities/assetCategory.d.ts +5 -0
- package/dist/entities/assetCategory.js +29 -0
- package/dist/entities/billing.d.ts +15 -0
- package/dist/entities/billing.js +81 -0
- package/dist/entities/billingCustomerBraintree.d.ts +11 -0
- package/dist/entities/billingCustomerBraintree.js +53 -0
- package/dist/entities/billingDeviceHistory.d.ts +11 -0
- package/dist/entities/billingDeviceHistory.js +52 -0
- package/dist/entities/billingStatusHistoryBraintree.d.ts +10 -0
- package/dist/entities/billingStatusHistoryBraintree.js +55 -0
- package/dist/entities/billingSubscriptionBraintree.d.ts +34 -0
- package/dist/entities/billingSubscriptionBraintree.js +169 -0
- package/dist/entities/blacklist.d.ts +9 -0
- package/dist/entities/blacklist.js +44 -0
- package/dist/entities/blacklistType.d.ts +5 -0
- package/dist/entities/blacklistType.js +28 -0
- package/dist/entities/cellTower.d.ts +12 -0
- package/dist/entities/cellTower.js +56 -0
- package/dist/entities/client.d.ts +22 -0
- package/dist/entities/client.js +96 -0
- package/dist/entities/clientConfiguration.d.ts +7 -0
- package/dist/entities/clientConfiguration.js +42 -0
- package/dist/entities/clientDeviceSetting.d.ts +14 -0
- package/dist/entities/clientDeviceSetting.js +76 -0
- package/dist/entities/clientType.d.ts +6 -0
- package/dist/entities/clientType.js +32 -0
- package/dist/entities/country.d.ts +16 -0
- package/dist/entities/country.js +76 -0
- package/dist/entities/dataSourceType.d.ts +5 -0
- package/dist/entities/dataSourceType.js +28 -0
- package/dist/entities/deactivation.d.ts +12 -0
- package/dist/entities/deactivation.js +63 -0
- package/dist/entities/deactivationReason.d.ts +6 -0
- package/dist/entities/deactivationReason.js +36 -0
- package/dist/entities/device.d.ts +31 -0
- package/dist/entities/device.js +123 -0
- package/dist/entities/deviceBehavior.d.ts +22 -0
- package/dist/entities/deviceBehavior.js +105 -0
- package/dist/entities/deviceHistory.d.ts +9 -0
- package/dist/entities/deviceHistory.js +44 -0
- package/dist/entities/deviceModelListener.d.ts +8 -0
- package/dist/entities/deviceModelListener.js +40 -0
- package/dist/entities/deviceReplacement.d.ts +11 -0
- package/dist/entities/deviceReplacement.js +49 -0
- package/dist/entities/deviceType.d.ts +23 -0
- package/dist/entities/deviceType.js +100 -0
- package/dist/entities/deviceTypeEvent.d.ts +5 -0
- package/dist/entities/deviceTypeEvent.js +29 -0
- package/dist/entities/deviceTypeFeature.d.ts +5 -0
- package/dist/entities/deviceTypeFeature.js +29 -0
- package/dist/entities/deviceTypeFirmware.d.ts +11 -0
- package/dist/entities/deviceTypeFirmware.js +57 -0
- package/dist/entities/entityTag.d.ts +8 -0
- package/dist/entities/entityTag.js +42 -0
- package/dist/entities/entityType.d.ts +5 -0
- package/dist/entities/entityType.js +28 -0
- package/dist/entities/event.d.ts +6 -0
- package/dist/entities/event.js +32 -0
- package/dist/entities/feature.d.ts +6 -0
- package/dist/entities/feature.js +32 -0
- package/dist/entities/firmwareUpgradeTask.d.ts +12 -0
- package/dist/entities/firmwareUpgradeTask.js +53 -0
- package/dist/entities/geofence.d.ts +20 -0
- package/dist/entities/geofence.js +86 -0
- package/dist/entities/geofenceEvent.d.ts +19 -0
- package/dist/entities/geofenceEvent.js +87 -0
- package/dist/entities/imeiIccidCarrier.d.ts +16 -0
- package/dist/entities/imeiIccidCarrier.js +78 -0
- package/dist/entities/imeiIccidHistory.d.ts +7 -0
- package/dist/entities/imeiIccidHistory.js +38 -0
- package/dist/entities/index.d.ts +68 -0
- package/dist/entities/index.js +68 -0
- package/dist/entities/industry.d.ts +8 -0
- package/dist/entities/industry.js +40 -0
- package/dist/entities/mobileNetwork.d.ts +9 -0
- package/dist/entities/mobileNetwork.js +44 -0
- package/dist/entities/notificationRecipient.d.ts +14 -0
- package/dist/entities/notificationRecipient.js +70 -0
- package/dist/entities/organization.d.ts +9 -0
- package/dist/entities/organization.js +40 -0
- package/dist/entities/plan.d.ts +16 -0
- package/dist/entities/plan.js +72 -0
- package/dist/entities/position.d.ts +18 -0
- package/dist/entities/position.js +84 -0
- package/dist/entities/securityRole.d.ts +7 -0
- package/dist/entities/securityRole.js +36 -0
- package/dist/entities/serviceProvider.d.ts +7 -0
- package/dist/entities/serviceProvider.js +36 -0
- package/dist/entities/serviceProviderProduct.d.ts +9 -0
- package/dist/entities/serviceProviderProduct.js +54 -0
- package/dist/entities/serviceProviderProductNetwork.d.ts +5 -0
- package/dist/entities/serviceProviderProductNetwork.js +28 -0
- package/dist/entities/serviceProviderProductType.d.ts +5 -0
- package/dist/entities/serviceProviderProductType.js +28 -0
- package/dist/entities/sim.d.ts +16 -0
- package/dist/entities/sim.js +78 -0
- package/dist/entities/trip.d.ts +24 -0
- package/dist/entities/trip.js +103 -0
- package/dist/entities/tripCompletionStatus.d.ts +6 -0
- package/dist/entities/tripCompletionStatus.js +32 -0
- package/dist/entities/tripPosition.d.ts +4 -0
- package/dist/entities/tripPosition.js +24 -0
- package/dist/entities/user.d.ts +25 -0
- package/dist/entities/user.js +116 -0
- package/dist/entities/userActivation.d.ts +9 -0
- package/dist/entities/userActivation.js +45 -0
- package/dist/entities/userActivationDevice.d.ts +22 -0
- package/dist/entities/userActivationDevice.js +105 -0
- package/dist/entities/userActivationEvent.d.ts +12 -0
- package/dist/entities/userActivationEvent.js +52 -0
- package/dist/entities/userActivationMetric.d.ts +38 -0
- package/dist/entities/userActivationMetric.js +167 -0
- package/dist/entities/userAlertConfiguration.d.ts +13 -0
- package/dist/entities/userAlertConfiguration.js +68 -0
- package/dist/entities/userAppFeedback.d.ts +10 -0
- package/dist/entities/userAppFeedback.js +45 -0
- package/dist/entities/userAppIncident.d.ts +29 -0
- package/dist/entities/userAppIncident.js +131 -0
- package/dist/entities/userConfiguration.d.ts +18 -0
- package/dist/entities/userConfiguration.js +87 -0
- package/dist/entities/userDataDeletionRequest.d.ts +11 -0
- package/dist/entities/userDataDeletionRequest.js +48 -0
- package/dist/entities/userDeviceBehaviorTask.d.ts +14 -0
- package/dist/entities/userDeviceBehaviorTask.js +61 -0
- package/dist/entities/userInvitation.d.ts +17 -0
- package/dist/entities/userInvitation.js +75 -0
- package/dist/entities/userRatingRequest.d.ts +13 -0
- package/dist/entities/userRatingRequest.js +63 -0
- package/dist/entities/userRegistrationAttempt.d.ts +35 -0
- package/dist/entities/userRegistrationAttempt.js +145 -0
- package/dist/entities/userSecurityRole.d.ts +6 -0
- package/dist/entities/userSecurityRole.js +30 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +5 -0
- package/dist/novaDataSource.d.ts +56 -0
- package/dist/novaDataSource.js +59 -0
- package/dist/repositories/baseRepository.d.ts +5 -0
- package/dist/repositories/baseRepository.js +5 -0
- package/dist/repositories/devicesRepository.d.ts +24 -0
- package/dist/repositories/devicesRepository.js +122 -0
- package/dist/repositories/index.d.ts +3 -0
- package/dist/repositories/index.js +3 -0
- package/dist/repositories/securityRepository.d.ts +21 -0
- package/dist/repositories/securityRepository.js +99 -0
- package/dist/types/enums.d.ts +9 -0
- package/dist/types/enums.js +11 -0
- package/dist/utils/uuidHelpers.d.ts +2 -0
- package/dist/utils/uuidHelpers.js +6 -0
- package/package.json +5 -5
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
// import { logger } from '@spytecgps/sdk'
|
|
2
|
+
import { Device, DeviceType, ImeiIccidCarrier } from '../entities';
|
|
3
|
+
import { NovaDataSource } from '../novaDataSource';
|
|
4
|
+
import { DeviceStatus } from '../types/enums';
|
|
5
|
+
import { BaseRepository } from './baseRepository';
|
|
6
|
+
export class DevicesRepository extends BaseRepository {
|
|
7
|
+
/**
|
|
8
|
+
* Get device by imei
|
|
9
|
+
* @param {string} imei The imei of the device
|
|
10
|
+
*/
|
|
11
|
+
async getDeviceByImei(imei, options) {
|
|
12
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig);
|
|
13
|
+
try {
|
|
14
|
+
await novaDataSource.connect();
|
|
15
|
+
const devicesRepository = novaDataSource.getRepository(Device);
|
|
16
|
+
let device = null;
|
|
17
|
+
if (!options.withDeviceType && !options.withIccidCarrier) {
|
|
18
|
+
device = await devicesRepository.findOne({ where: { imei } });
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
let queryBuilder = devicesRepository.createQueryBuilder('device');
|
|
22
|
+
if (options.withDeviceType) {
|
|
23
|
+
queryBuilder = queryBuilder.leftJoinAndMapOne('device.deviceType', DeviceType, 'deviceType', 'device.deviceTypeId = deviceType.id');
|
|
24
|
+
}
|
|
25
|
+
if (options.withIccidCarrier) {
|
|
26
|
+
queryBuilder = queryBuilder.leftJoinAndMapOne('device.iccidCarrier', ImeiIccidCarrier, 'iccidCarrier', 'device.imei = iccidCarrier.imei');
|
|
27
|
+
}
|
|
28
|
+
device = await queryBuilder.where('device.imei = :imei', { imei }).getOne();
|
|
29
|
+
}
|
|
30
|
+
return device;
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
// TODO: Add logger
|
|
34
|
+
// logger.error({ error }, 'DevicesRepository::getDeviceByImei error')
|
|
35
|
+
throw error;
|
|
36
|
+
}
|
|
37
|
+
finally {
|
|
38
|
+
await novaDataSource.disconnect();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Get devices by type id
|
|
43
|
+
* @param {number} deviceTypeId The device type id
|
|
44
|
+
* @param {boolean} onlyActiveDevices Whether to get only active devices
|
|
45
|
+
*/
|
|
46
|
+
async getDevicesByDeviceTypeId(deviceTypeId, onlyActiveDevices, options) {
|
|
47
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig);
|
|
48
|
+
try {
|
|
49
|
+
await novaDataSource.connect();
|
|
50
|
+
const devicesRepository = novaDataSource.getRepository(Device);
|
|
51
|
+
let devices = null;
|
|
52
|
+
if (!options.withDeviceType && !options.withIccidCarrier) {
|
|
53
|
+
const filterCondition = onlyActiveDevices
|
|
54
|
+
? { where: { deviceTypeId, status: DeviceStatus.Active } }
|
|
55
|
+
: {
|
|
56
|
+
where: { deviceTypeId },
|
|
57
|
+
};
|
|
58
|
+
devices = await devicesRepository.find(filterCondition);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
let queryBuilder = devicesRepository.createQueryBuilder('device');
|
|
62
|
+
if (options.withDeviceType) {
|
|
63
|
+
queryBuilder = queryBuilder.leftJoinAndMapOne('device.deviceType', DeviceType, 'deviceType', 'device.deviceTypeId = deviceType.id');
|
|
64
|
+
}
|
|
65
|
+
if (options.withIccidCarrier) {
|
|
66
|
+
queryBuilder = queryBuilder.leftJoinAndMapOne('device.iccidCarrier', ImeiIccidCarrier, 'iccidCarrier', 'device.imei = iccidCarrier.imei');
|
|
67
|
+
}
|
|
68
|
+
queryBuilder = queryBuilder.where('device.deviceTypeId = :deviceTypeId', { deviceTypeId });
|
|
69
|
+
if (onlyActiveDevices) {
|
|
70
|
+
queryBuilder = queryBuilder.andWhere('device.status = :status', {
|
|
71
|
+
status: DeviceStatus.Active,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
devices = await queryBuilder.getMany();
|
|
75
|
+
}
|
|
76
|
+
return devices;
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
// TODO: Add logger
|
|
80
|
+
// logger.error({ error }, 'DevicesRepository::getDeviceByImei error')
|
|
81
|
+
throw error;
|
|
82
|
+
}
|
|
83
|
+
finally {
|
|
84
|
+
await novaDataSource.disconnect();
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Get device types
|
|
89
|
+
* @param {boolean} onlyWithRelatedIccidCarrier Whether to get only device types with iccid carrier
|
|
90
|
+
*/
|
|
91
|
+
async getDeviceTypes(onlyWithRelatedIccidCarrier) {
|
|
92
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig);
|
|
93
|
+
try {
|
|
94
|
+
await novaDataSource.connect();
|
|
95
|
+
const deviceTypesRepository = novaDataSource.getRepository(DeviceType);
|
|
96
|
+
let deviceTypes = null;
|
|
97
|
+
if (!onlyWithRelatedIccidCarrier) {
|
|
98
|
+
deviceTypes = await deviceTypesRepository
|
|
99
|
+
.createQueryBuilder('deviceType')
|
|
100
|
+
.orderBy('deviceType.id')
|
|
101
|
+
.getMany();
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
deviceTypes = await deviceTypesRepository
|
|
105
|
+
.createQueryBuilder('deviceType')
|
|
106
|
+
.innerJoin(ImeiIccidCarrier, 'iccidCarrier', 'deviceType.id = iccidCarrier.deviceTypeId')
|
|
107
|
+
.groupBy('deviceType.id')
|
|
108
|
+
.orderBy('deviceType.id')
|
|
109
|
+
.getMany();
|
|
110
|
+
}
|
|
111
|
+
return deviceTypes;
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
// TODO: Add logger
|
|
115
|
+
// logger.error({ error }, 'DevicesRepository::getDeviceTypes error')
|
|
116
|
+
throw error;
|
|
117
|
+
}
|
|
118
|
+
finally {
|
|
119
|
+
await novaDataSource.disconnect();
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { SecurityRole, UserSecurityRole } from '../entities';
|
|
2
|
+
import { HapnSecurityRole } from '../types/enums';
|
|
3
|
+
import { BaseRepository } from './baseRepository';
|
|
4
|
+
export declare class SecurityRepository extends BaseRepository {
|
|
5
|
+
/**
|
|
6
|
+
* Get all security roles
|
|
7
|
+
*/
|
|
8
|
+
getAllRoles(): Promise<SecurityRole[]>;
|
|
9
|
+
/**
|
|
10
|
+
* Get roles of the user
|
|
11
|
+
*/
|
|
12
|
+
getUserRoles(userId: string): Promise<UserSecurityRole[]>;
|
|
13
|
+
/**
|
|
14
|
+
* Get user roles by clientId
|
|
15
|
+
*/
|
|
16
|
+
getUserRolesByClientId(clientId: number, filterRole?: HapnSecurityRole): Promise<UserSecurityRole[]>;
|
|
17
|
+
/**
|
|
18
|
+
* Whether the user is in role
|
|
19
|
+
*/
|
|
20
|
+
isInRole(userId: string, role: HapnSecurityRole): Promise<boolean>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
// import { logger } from '@spytecgps/sdk'
|
|
2
|
+
import { SecurityRole, UserSecurityRole } from '../entities';
|
|
3
|
+
import { NovaDataSource } from '../novaDataSource';
|
|
4
|
+
import { uuidStringToBinaryBuffer } from '../utils/uuidHelpers';
|
|
5
|
+
import { BaseRepository } from './baseRepository';
|
|
6
|
+
export class SecurityRepository extends BaseRepository {
|
|
7
|
+
/**
|
|
8
|
+
* Get all security roles
|
|
9
|
+
*/
|
|
10
|
+
async getAllRoles() {
|
|
11
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig);
|
|
12
|
+
try {
|
|
13
|
+
await novaDataSource.connect();
|
|
14
|
+
const rolesRepository = novaDataSource.getRepository(SecurityRole);
|
|
15
|
+
const roles = await rolesRepository.find();
|
|
16
|
+
return roles;
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
// TODO: Add logger
|
|
20
|
+
// logger.error({ error }, 'SecurityRepository::getAllRoles error')
|
|
21
|
+
throw error;
|
|
22
|
+
}
|
|
23
|
+
finally {
|
|
24
|
+
await novaDataSource.disconnect();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Get roles of the user
|
|
29
|
+
*/
|
|
30
|
+
async getUserRoles(userId) {
|
|
31
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig);
|
|
32
|
+
try {
|
|
33
|
+
await novaDataSource.connect();
|
|
34
|
+
const userSecurityRolesRepository = novaDataSource.getRepository(UserSecurityRole);
|
|
35
|
+
const userRoles = await userSecurityRolesRepository.find({
|
|
36
|
+
where: { userId: uuidStringToBinaryBuffer(userId) },
|
|
37
|
+
});
|
|
38
|
+
return userRoles;
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
// TODO: Add logger
|
|
42
|
+
// logger.error({ error }, 'SecurityRepository::getUserRoles error')
|
|
43
|
+
throw error;
|
|
44
|
+
}
|
|
45
|
+
finally {
|
|
46
|
+
await novaDataSource.disconnect();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get user roles by clientId
|
|
51
|
+
*/
|
|
52
|
+
async getUserRolesByClientId(clientId, filterRole = null) {
|
|
53
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig);
|
|
54
|
+
try {
|
|
55
|
+
await novaDataSource.connect();
|
|
56
|
+
const userSecurityRolesRepository = novaDataSource.getRepository(UserSecurityRole);
|
|
57
|
+
const filterCondition = filterRole
|
|
58
|
+
? { where: { clientId, securityRoleId: filterRole } }
|
|
59
|
+
: {
|
|
60
|
+
where: { clientId },
|
|
61
|
+
};
|
|
62
|
+
const userRoles = await userSecurityRolesRepository.find(filterCondition);
|
|
63
|
+
return userRoles;
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
// TODO: Add logger
|
|
67
|
+
// logger.error({ error }, 'SecurityRepository::getUserRolesByClientId error')
|
|
68
|
+
throw error;
|
|
69
|
+
}
|
|
70
|
+
finally {
|
|
71
|
+
await novaDataSource.disconnect();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Whether the user is in role
|
|
76
|
+
*/
|
|
77
|
+
async isInRole(userId, role) {
|
|
78
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig);
|
|
79
|
+
try {
|
|
80
|
+
await novaDataSource.connect();
|
|
81
|
+
const userSecurityRolesRepository = novaDataSource.getRepository(UserSecurityRole);
|
|
82
|
+
const userRole = await userSecurityRolesRepository.findOne({
|
|
83
|
+
where: {
|
|
84
|
+
userId: uuidStringToBinaryBuffer(userId),
|
|
85
|
+
securityRoleId: role,
|
|
86
|
+
},
|
|
87
|
+
});
|
|
88
|
+
return userRole !== null;
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
// TODO: Add logger
|
|
92
|
+
// logger.error({ error }, 'SecurityRepository::isAdmin error')
|
|
93
|
+
throw error;
|
|
94
|
+
}
|
|
95
|
+
finally {
|
|
96
|
+
await novaDataSource.disconnect();
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export var HapnSecurityRole;
|
|
2
|
+
(function (HapnSecurityRole) {
|
|
3
|
+
HapnSecurityRole[HapnSecurityRole["Admin"] = 1] = "Admin";
|
|
4
|
+
HapnSecurityRole[HapnSecurityRole["Collaborator"] = 2] = "Collaborator";
|
|
5
|
+
HapnSecurityRole[HapnSecurityRole["Owner"] = 3] = "Owner";
|
|
6
|
+
})(HapnSecurityRole || (HapnSecurityRole = {}));
|
|
7
|
+
export var DeviceStatus;
|
|
8
|
+
(function (DeviceStatus) {
|
|
9
|
+
DeviceStatus["Active"] = "A";
|
|
10
|
+
DeviceStatus["Deleted"] = "D";
|
|
11
|
+
})(DeviceStatus || (DeviceStatus = {}));
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spytecgps/nova-orm",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"description": "ORM with PlanetScale",
|
|
5
|
-
"main": "dist/index.js",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
7
7
|
"devDependencies": {
|
|
8
8
|
"@types/jest": "^29.5.1",
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
"@typescript-eslint/eslint-plugin": "^5.59.0",
|
|
11
11
|
"@typescript-eslint/parser": "^5.59.0",
|
|
12
12
|
"aws-sdk": "^2.877.0",
|
|
13
|
+
"axios": "^1.4.0",
|
|
13
14
|
"eslint": "^8.38.0",
|
|
14
15
|
"eslint-config-prettier": "^6.15.0",
|
|
15
16
|
"eslint-plugin-import": "^2.27.5",
|
|
@@ -26,19 +27,18 @@
|
|
|
26
27
|
"webpack-cli": "^4.9.2"
|
|
27
28
|
},
|
|
28
29
|
"dependencies": {
|
|
29
|
-
"@spytecgps/sdk": "^0.5.97",
|
|
30
30
|
"mysql2": "^3.2.3",
|
|
31
31
|
"reflect-metadata": "^0.1.13",
|
|
32
32
|
"typeorm": "0.3.15"
|
|
33
33
|
},
|
|
34
34
|
"scripts": {
|
|
35
|
+
"prepare": "npm run build",
|
|
35
36
|
"test": "yarn jest --ci --runInBand --reporters=default --reporters=jest-junit --collectCoverage=true",
|
|
36
|
-
"start": "ts-node src/index.ts",
|
|
37
37
|
"typeorm": "typeorm-ts-node-commonjs",
|
|
38
38
|
"lint": "eslint \"./src/**\"",
|
|
39
39
|
"lint-fix": "eslint \"./src/**\" --fix",
|
|
40
40
|
"build-dev": "webpack --mode=development",
|
|
41
|
-
"build": "
|
|
41
|
+
"build": "tsc",
|
|
42
42
|
"schema-sync": "yarn typeorm schema:drop --dataSource ./data-source.ts & yarn typeorm schema:sync --dataSource ./data-source.ts"
|
|
43
43
|
},
|
|
44
44
|
"author": "Spytec",
|