@spytecgps/nova-orm 1.0.104 → 1.0.105
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/index.d.ts +1 -4
- package/dist/entities/index.js +1 -4
- package/dist/entities/index.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/repositories/userConfigurations/index.d.ts +2 -56
- package/dist/repositories/userConfigurations/index.js +0 -89
- package/dist/repositories/userConfigurations/index.js.map +1 -1
- package/dist/types/userConfigurations.d.ts +1 -40
- package/package.json +1 -1
- package/dist/entities/alertTimeWindowConfiguration.d.ts +0 -12
- package/dist/entities/alertTimeWindowConfiguration.js +0 -62
- package/dist/entities/alertTimeWindowConfiguration.js.map +0 -1
- package/dist/entities/customUserAlertConfiguration.d.ts +0 -14
- package/dist/entities/customUserAlertConfiguration.js +0 -73
- package/dist/entities/customUserAlertConfiguration.js.map +0 -1
- package/dist/entities/deviceAlertConfiguration.d.ts +0 -14
- package/dist/entities/deviceAlertConfiguration.js +0 -72
- package/dist/entities/deviceAlertConfiguration.js.map +0 -1
- package/dist/repositories/userConfigurations/createCustomUserAlertConfiguration.d.ts +0 -5
- package/dist/repositories/userConfigurations/createCustomUserAlertConfiguration.js +0 -36
- package/dist/repositories/userConfigurations/createCustomUserAlertConfiguration.js.map +0 -1
- package/dist/repositories/userConfigurations/deleteCustomUserAlertConfiguration.d.ts +0 -4
- package/dist/repositories/userConfigurations/deleteCustomUserAlertConfiguration.js +0 -18
- package/dist/repositories/userConfigurations/deleteCustomUserAlertConfiguration.js.map +0 -1
- package/dist/repositories/userConfigurations/getCustomUserAlertConfiguration.d.ts +0 -7
- package/dist/repositories/userConfigurations/getCustomUserAlertConfiguration.js +0 -56
- package/dist/repositories/userConfigurations/getCustomUserAlertConfiguration.js.map +0 -1
- package/dist/repositories/userConfigurations/getCustomUserAlertConfigurationCount.d.ts +0 -4
- package/dist/repositories/userConfigurations/getCustomUserAlertConfigurationCount.js +0 -26
- package/dist/repositories/userConfigurations/getCustomUserAlertConfigurationCount.js.map +0 -1
- package/dist/repositories/userConfigurations/updateCustomUserAlertConfiguration.d.ts +0 -4
- package/dist/repositories/userConfigurations/updateCustomUserAlertConfiguration.js +0 -29
- package/dist/repositories/userConfigurations/updateCustomUserAlertConfiguration.js.map +0 -1
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { CustomUserAlertConfiguration } from '../../entities';
|
|
2
|
-
export const deleteCustomUserAlertConfiguration = async (novaDataSource, params, logger) => {
|
|
3
|
-
// userId filter is required
|
|
4
|
-
if (!params?.filters?.configId) {
|
|
5
|
-
logger.warn({ params }, 'UserConfigurationsRepository::deleteCustomUserAlertConfiguration - missing required parameters');
|
|
6
|
-
return false;
|
|
7
|
-
}
|
|
8
|
-
return novaDataSource.safeQuery(async (dataSource) => {
|
|
9
|
-
const userConfigurationsRepository = dataSource.getRepository(CustomUserAlertConfiguration);
|
|
10
|
-
const queryBuilder = userConfigurationsRepository
|
|
11
|
-
.createQueryBuilder()
|
|
12
|
-
.delete()
|
|
13
|
-
.where('id = :id', { id: params?.filters?.configId });
|
|
14
|
-
const result = await queryBuilder.execute();
|
|
15
|
-
return result.affected > 0;
|
|
16
|
-
}, 'UserConfigurationsRepository::deleteCustomUserAlertConfiguration');
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=deleteCustomUserAlertConfiguration.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deleteCustomUserAlertConfiguration.js","sourceRoot":"","sources":["../../../src/repositories/userConfigurations/deleteCustomUserAlertConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAA;AAK7D,MAAM,CAAC,MAAM,kCAAkC,GAAG,KAAK,EACrD,cAA8B,EAC9B,MAAgD,EAChD,MAAc,EACI,EAAE;IACpB,4BAA4B;IAC5B,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;QAC9B,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,gGAAgG,CACjG,CAAA;QACD,OAAO,KAAK,CAAA;KACb;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,UAA0B,EAAoB,EAAE;QACrF,MAAM,4BAA4B,GAAG,UAAU,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAA;QAE3F,MAAM,YAAY,GAAG,4BAA4B;aAC9C,kBAAkB,EAAE;aACpB,MAAM,EAAE;aACR,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;QAEvD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAA;QAE3C,OAAO,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAA;IAC5B,CAAC,EAAE,kEAAkE,CAAC,CAAA;AACxE,CAAC,CAAA"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { SelectQueryBuilder } from 'typeorm';
|
|
2
|
-
import { CustomUserAlertConfiguration } from '../../entities';
|
|
3
|
-
import { NovaDataSource } from '../../novaDataSource';
|
|
4
|
-
import { Logger } from '../../types/logger';
|
|
5
|
-
import { GetCustomUserAlertConfigurationParams } from '../../types/userConfigurations';
|
|
6
|
-
export declare const createGetCustomUserAlertConfigQuery: (dataSource: NovaDataSource, params: GetCustomUserAlertConfigurationParams, userIdBinaryBuffer: Buffer) => SelectQueryBuilder<CustomUserAlertConfiguration>;
|
|
7
|
-
export declare const getCustomUserAlertConfiguration: (novaDataSource: NovaDataSource, params: GetCustomUserAlertConfigurationParams, logger: Logger) => Promise<CustomUserAlertConfiguration[]>;
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { CustomUserAlertConfiguration } from '../../entities';
|
|
2
|
-
import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
|
|
3
|
-
export const createGetCustomUserAlertConfigQuery = (dataSource, params, userIdBinaryBuffer) => {
|
|
4
|
-
const userAlertTimeWindowsRepository = dataSource.getRepository(CustomUserAlertConfiguration);
|
|
5
|
-
let queryBuilder = userAlertTimeWindowsRepository.createQueryBuilder('customUserAlertConfig');
|
|
6
|
-
if (params?.filters?.configId) {
|
|
7
|
-
queryBuilder = queryBuilder.andWhere('customUserAlertConfig.id = :id', {
|
|
8
|
-
id: params.filters.configId,
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
if (params?.filters?.imei) {
|
|
12
|
-
queryBuilder = queryBuilder.andWhere('(customUserAlertConfig.imei IS NULL OR customUserAlertConfig.imei = :imei)', {
|
|
13
|
-
imei: params.filters.imei,
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
if (params?.filters?.clientId) {
|
|
17
|
-
queryBuilder = queryBuilder.andWhere('customUserAlertConfig.clientId = :clientId', {
|
|
18
|
-
clientId: params.filters.clientId,
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
if (userIdBinaryBuffer) {
|
|
22
|
-
queryBuilder = queryBuilder.andWhere('customUserAlertConfig.userId = :userId', {
|
|
23
|
-
userId: userIdBinaryBuffer,
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
return queryBuilder;
|
|
27
|
-
};
|
|
28
|
-
export const getCustomUserAlertConfiguration = async (novaDataSource, params, logger) => {
|
|
29
|
-
// imei filter is required
|
|
30
|
-
if (!params?.filters?.imei &&
|
|
31
|
-
!params?.filters?.clientId &&
|
|
32
|
-
!params?.filters?.userId &&
|
|
33
|
-
!params?.filters?.configId) {
|
|
34
|
-
logger.warn({ params }, 'UserConfigurationsRepository::getCustomUserAlertConfiguration - missing required parameters');
|
|
35
|
-
return [];
|
|
36
|
-
}
|
|
37
|
-
let userIdBinaryBuffer = null;
|
|
38
|
-
if (params?.filters?.userId) {
|
|
39
|
-
userIdBinaryBuffer = uuidStringToBinaryBuffer(params?.filters?.userId);
|
|
40
|
-
}
|
|
41
|
-
// Force the query to run on master or slave
|
|
42
|
-
const dbQueryRunner = novaDataSource.createQueryRunnerFromParams(params);
|
|
43
|
-
return novaDataSource.safeQuery(async (dataSource, queryRunner) => {
|
|
44
|
-
let queryBuilder = createGetCustomUserAlertConfigQuery(dataSource, params, userIdBinaryBuffer);
|
|
45
|
-
if (queryRunner) {
|
|
46
|
-
queryBuilder.setQueryRunner(queryRunner);
|
|
47
|
-
}
|
|
48
|
-
queryBuilder = queryBuilder
|
|
49
|
-
.orderBy('customUserAlertConfig.alertTypeId')
|
|
50
|
-
.limit(params.pagingOptions?.pageSize ?? 100)
|
|
51
|
-
.offset((params.pagingOptions?.pageSize ?? 100) * (params.pagingOptions?.pageIndex ?? 0));
|
|
52
|
-
const result = await queryBuilder.getMany();
|
|
53
|
-
return result;
|
|
54
|
-
}, 'UserConfigurationsRepository::getCustomUserAlertConfiguration', dbQueryRunner);
|
|
55
|
-
};
|
|
56
|
-
//# sourceMappingURL=getCustomUserAlertConfiguration.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getCustomUserAlertConfiguration.js","sourceRoot":"","sources":["../../../src/repositories/userConfigurations/getCustomUserAlertConfiguration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { NovaDataSource } from '../../novaDataSource';
|
|
2
|
-
import { Logger } from '../../types/logger';
|
|
3
|
-
import { GetCustomUserAlertConfigurationParams } from '../../types/userConfigurations';
|
|
4
|
-
export declare const getCustomUserAlertConfigurationCount: (novaDataSource: NovaDataSource, params: GetCustomUserAlertConfigurationParams, logger: Logger) => Promise<number>;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
|
|
2
|
-
import { createGetCustomUserAlertConfigQuery } from './getCustomUserAlertConfiguration';
|
|
3
|
-
export const getCustomUserAlertConfigurationCount = async (novaDataSource, params, logger) => {
|
|
4
|
-
// imei filter is required
|
|
5
|
-
if (!params?.filters?.imei &&
|
|
6
|
-
!params?.filters?.clientId &&
|
|
7
|
-
!params?.filters?.userId &&
|
|
8
|
-
!params?.filters?.configId) {
|
|
9
|
-
logger.warn({ params }, 'UserConfigurationsRepository::getCustomUserAlertConfigurationCount - missing required parameters');
|
|
10
|
-
return -1;
|
|
11
|
-
}
|
|
12
|
-
let userIdBinaryBuffer = null;
|
|
13
|
-
if (params?.filters?.userId) {
|
|
14
|
-
userIdBinaryBuffer = uuidStringToBinaryBuffer(params?.filters?.userId);
|
|
15
|
-
}
|
|
16
|
-
// Force the query to run on master or slave
|
|
17
|
-
const dbQueryRunner = novaDataSource.createQueryRunnerFromParams(params);
|
|
18
|
-
return novaDataSource.safeQuery(async (dataSource, queryRunner) => {
|
|
19
|
-
const queryBuilder = createGetCustomUserAlertConfigQuery(dataSource, params, userIdBinaryBuffer);
|
|
20
|
-
if (queryRunner) {
|
|
21
|
-
queryBuilder.setQueryRunner(queryRunner);
|
|
22
|
-
}
|
|
23
|
-
return await queryBuilder.getCount();
|
|
24
|
-
}, 'UserConfigurationsRepository::getCustomUserAlertConfigurationCount', dbQueryRunner);
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=getCustomUserAlertConfigurationCount.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getCustomUserAlertConfigurationCount.js","sourceRoot":"","sources":["../../../src/repositories/userConfigurations/getCustomUserAlertConfigurationCount.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,mCAAmC,EAAE,MAAM,mCAAmC,CAAA;AAEvF,MAAM,CAAC,MAAM,oCAAoC,GAAG,KAAK,EACvD,cAA8B,EAC9B,MAA6C,EAC7C,MAAc,EACG,EAAE;IACnB,0BAA0B;IAC1B,IACE,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI;QACtB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ;QAC1B,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM;QACxB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAC1B;QACA,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,kGAAkG,CACnG,CAAA;QACD,OAAO,CAAC,CAAC,CAAA;KACV;IAED,IAAI,kBAAkB,GAAG,IAAI,CAAA;IAC7B,IAAI,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;QAC3B,kBAAkB,GAAG,wBAAwB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;KACvE;IAED,4CAA4C;IAC5C,MAAM,aAAa,GAAG,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAExE,OAAO,cAAc,CAAC,SAAS,CAC7B,KAAK,EAAE,UAA0B,EAAE,WAAyB,EAAmB,EAAE;QAC/E,MAAM,YAAY,GAAG,mCAAmC,CACtD,UAAU,EACV,MAAM,EACN,kBAAkB,CACnB,CAAA;QAED,IAAI,WAAW,EAAE;YACf,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;SACzC;QAED,OAAO,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAA;IACtC,CAAC,EACD,oEAAoE,EACpE,aAAa,CACd,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { NovaDataSource } from '../../novaDataSource';
|
|
2
|
-
import { Logger } from '../../types/logger';
|
|
3
|
-
import { UpdateCustomUserAlertConfigurationParams } from '../../types/userConfigurations';
|
|
4
|
-
export declare const updateCustomUserAlertConfiguration: (novaDataSource: NovaDataSource, params: UpdateCustomUserAlertConfigurationParams, logger: Logger) => Promise<boolean>;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { CustomUserAlertConfiguration } from '../../entities';
|
|
2
|
-
export const updateCustomUserAlertConfiguration = async (novaDataSource, params, logger) => {
|
|
3
|
-
// userId filter is required
|
|
4
|
-
if (!params?.filters?.configId) {
|
|
5
|
-
logger.warn({ params }, 'UserConfigurationsRepository::updateCustomUserAlertConfiguration - missing required parameters');
|
|
6
|
-
return false;
|
|
7
|
-
}
|
|
8
|
-
if (Object.values(params?.values).every(value => value === null || value === undefined)) {
|
|
9
|
-
logger.warn({ params }, 'UserConfigurationsRepository::updateCustomUserAlertConfiguration - missing required parameters');
|
|
10
|
-
return false;
|
|
11
|
-
}
|
|
12
|
-
return novaDataSource.safeQuery(async (dataSource) => {
|
|
13
|
-
const userAlertConfigurationsRepository = dataSource.getRepository(CustomUserAlertConfiguration);
|
|
14
|
-
const queryBuilder = userAlertConfigurationsRepository
|
|
15
|
-
.createQueryBuilder()
|
|
16
|
-
.update(CustomUserAlertConfiguration)
|
|
17
|
-
.set({
|
|
18
|
-
daysOfTheWeek: params?.values?.daysOfTheWeek ?? undefined,
|
|
19
|
-
startTime: params?.values?.startTime ?? undefined,
|
|
20
|
-
endTime: params?.values?.endTime ?? undefined,
|
|
21
|
-
filter: params?.values?.filter ?? 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::updateCustomUserAlertConfiguration');
|
|
28
|
-
};
|
|
29
|
-
//# sourceMappingURL=updateCustomUserAlertConfiguration.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"updateCustomUserAlertConfiguration.js","sourceRoot":"","sources":["../../../src/repositories/userConfigurations/updateCustomUserAlertConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAA;AAK7D,MAAM,CAAC,MAAM,kCAAkC,GAAG,KAAK,EACrD,cAA8B,EAC9B,MAAgD,EAChD,MAAc,EACI,EAAE;IACpB,4BAA4B;IAC5B,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;QAC9B,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,gGAAgG,CACjG,CAAA;QACD,OAAO,KAAK,CAAA;KACb;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,EAAE;QACvF,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,gGAAgG,CACjG,CAAA;QACD,OAAO,KAAK,CAAA;KACb;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,UAA0B,EAAoB,EAAE;QACrF,MAAM,iCAAiC,GAAG,UAAU,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAA;QAEhG,MAAM,YAAY,GAAG,iCAAiC;aACnD,kBAAkB,EAAE;aACpB,MAAM,CAAC,4BAA4B,CAAC;aACpC,GAAG,CAAC;YACH,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,IAAI,SAAS;YACzD,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,IAAI,SAAS;YACjD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,IAAI,SAAS;YAC7C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,SAAS;YAC3C,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,SAAS;SAC1C,CAAC;aACD,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;QAEvD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAA;QAE3C,OAAO,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAA;IAC5B,CAAC,EAAE,kEAAkE,CAAC,CAAA;AACxE,CAAC,CAAA"}
|