@spytecgps/nova-orm 1.0.23 → 1.0.25

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.
@@ -51,13 +51,26 @@ export const getTaskSchedules = async (novaDataSource, params, logger) => {
51
51
  const taskScheduleRepository = dataSource.getRepository(TaskSchedule);
52
52
  let queryBuilder = taskScheduleRepository.createQueryBuilder('taskSchedule');
53
53
  if (params.filters.imeiList?.length) {
54
- queryBuilder = queryBuilder
55
- .innerJoin(DeviceTask, 'dt', 'taskSchedule.id = dt.taskScheduleId')
56
- .andWhere('dt.imei IN (:imeiList)', {
54
+ queryBuilder = queryBuilder.innerJoin(DeviceTask, 'dt', 'taskSchedule.id = dt.taskScheduleId');
55
+ }
56
+ if (params.filters.imeiList?.length) {
57
+ queryBuilder = queryBuilder.andWhere('dt.imei IN (:imeiList)', {
57
58
  imeiList: params.filters.imeiList,
58
59
  });
59
60
  }
60
61
  queryBuilder = addFilters(queryBuilder, params.filters, getTaskSchedulesFilterMapping, 'taskSchedule');
62
+ if (params.filters.authorizedImeis?.length) {
63
+ queryBuilder = queryBuilder.andWhere(`
64
+ NOT EXISTS (
65
+ SELECT 1
66
+ FROM deviceTask dt1
67
+ WHERE dt1.taskScheduleId = taskSchedule.id
68
+ AND dt1.imei NOT IN (:authorizedDevices)
69
+ )
70
+ `, {
71
+ authorizedDevices: params.filters.authorizedImeis,
72
+ });
73
+ }
61
74
  const sortField = params.sortOptions?.sortField ?? 'id';
62
75
  const sortOrder = params.sortOptions?.sortOrder ?? 'DESC';
63
76
  queryBuilder = queryBuilder.orderBy(`taskSchedule.${sortField}`, sortOrder);
@@ -1 +1 @@
1
- {"version":3,"file":"getTaskSchedules.js","sourceRoot":"","sources":["../../../src/repositories/tasks/getTaskSchedules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getTaskSchedules.js","sourceRoot":"","sources":["../../../src/repositories/tasks/getTaskSchedules.ts"],"names":[],"mappings":"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"}
@@ -9,14 +9,27 @@ export const getTaskSchedulesCount = async (novaDataSource, params, logger) => {
9
9
  return novaDataSource.safeQuery(async (dataSource) => {
10
10
  const taskScheduleRepository = dataSource.getRepository(TaskSchedule);
11
11
  let queryBuilder = taskScheduleRepository.createQueryBuilder('taskSchedule');
12
- if (params.filters.imeiList) {
13
- queryBuilder = queryBuilder
14
- .innerJoin(DeviceTask, 'dt', 'taskSchedule.id = dt.taskScheduleId')
15
- .andWhere('dt.imei IN(:imeiList)', {
12
+ if (params.filters.imeiList?.length) {
13
+ queryBuilder = queryBuilder.innerJoin(DeviceTask, 'dt', 'taskSchedule.id = dt.taskScheduleId');
14
+ }
15
+ if (params.filters.imeiList?.length) {
16
+ queryBuilder = queryBuilder.andWhere('dt.imei IN (:imeiList)', {
16
17
  imeiList: params.filters.imeiList,
17
18
  });
18
19
  }
19
20
  queryBuilder = addFilters(queryBuilder, params.filters, getTaskSchedulesFilterMapping, 'taskSchedule');
21
+ if (params.filters.authorizedImeis?.length) {
22
+ queryBuilder = queryBuilder.andWhere(`
23
+ NOT EXISTS (
24
+ SELECT 1
25
+ FROM deviceTask dt1
26
+ WHERE dt1.taskScheduleId = taskSchedule.id
27
+ AND dt1.imei NOT IN (:authorizedDevices)
28
+ )
29
+ `, {
30
+ authorizedDevices: params.filters.authorizedImeis,
31
+ });
32
+ }
20
33
  const result = await queryBuilder.getCount();
21
34
  return result;
22
35
  }, 'TasksRepository::getTaskSchedulesCount');
@@ -1 +1 @@
1
- {"version":3,"file":"getTaskSchedulesCount.js","sourceRoot":"","sources":["../../../src/repositories/tasks/getTaskSchedulesCount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAIzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,EAAE,UAAU,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAA;AAEnF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACxC,cAA8B,EAC9B,MAAmC,EACnC,MAAc,EACG,EAAE;IACnB,IAAI,CAAC,oBAAoB,CAA0B,MAAM,EAAE,OAAO,CAAC,EAAE;QACnE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,oEAAoE,CAAC,CAAA;QAC7F,OAAO,CAAC,CAAC,CAAA;KACV;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,UAA0B,EAAmB,EAAE;QACpF,MAAM,sBAAsB,GAAG,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;QAErE,IAAI,YAAY,GAAG,sBAAsB,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA;QAE5E,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;YAC3B,YAAY,GAAG,YAAY;iBACxB,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,qCAAqC,CAAC;iBAClE,QAAQ,CAAC,uBAAuB,EAAE;gBACjC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;aAClC,CAAC,CAAA;SACL;QAED,YAAY,GAAG,UAAU,CACvB,YAAY,EACZ,MAAM,CAAC,OAAO,EACd,6BAA6B,EAC7B,cAAc,CACf,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAA;QAE5C,OAAO,MAAM,CAAA;IACf,CAAC,EAAE,wCAAwC,CAAC,CAAA;AAC9C,CAAC,CAAA"}
1
+ {"version":3,"file":"getTaskSchedulesCount.js","sourceRoot":"","sources":["../../../src/repositories/tasks/getTaskSchedulesCount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAIzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,EAAE,UAAU,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAA;AAEnF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACxC,cAA8B,EAC9B,MAAmC,EACnC,MAAc,EACG,EAAE;IACnB,IAAI,CAAC,oBAAoB,CAA0B,MAAM,EAAE,OAAO,CAAC,EAAE;QACnE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,oEAAoE,CAAC,CAAA;QAC7F,OAAO,CAAC,CAAC,CAAA;KACV;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,UAA0B,EAAmB,EAAE;QACpF,MAAM,sBAAsB,GAAG,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;QAErE,IAAI,YAAY,GAAG,sBAAsB,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA;QAE5E,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE;YACnC,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,qCAAqC,CAAC,CAAA;SAC/F;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE;YACnC,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,wBAAwB,EAAE;gBAC7D,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;aAClC,CAAC,CAAA;SACH;QAED,YAAY,GAAG,UAAU,CACvB,YAAY,EACZ,MAAM,CAAC,OAAO,EACd,6BAA6B,EAC7B,cAAc,CACf,CAAA;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,EAAE;YAC1C,YAAY,GAAG,YAAY,CAAC,QAAQ,CAClC;;;;;;;SAOC,EACD;gBACE,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe;aAClD,CACF,CAAA;SACF;QAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAA;QAE5C,OAAO,MAAM,CAAA;IACf,CAAC,EAAE,wCAAwC,CAAC,CAAA;AAC9C,CAAC,CAAA"}
@@ -56,6 +56,16 @@ export const getTasks = async (novaDataSource, params, logger) => {
56
56
  dueInMinActiveHours: params.filters.dueInActiveHoursFilter.minValue,
57
57
  });
58
58
  }
59
+ if (params.filters?.authorizedImeis?.length) {
60
+ queryBuilder = queryBuilder.andWhere(`NOT EXISTS (
61
+ SELECT 1
62
+ FROM task task1
63
+ WHERE task1.taskScheduleId = task.taskScheduleId
64
+ AND task1.imei NOT IN (:authorizedDevices)
65
+ )`, {
66
+ authorizedDevices: params.filters.authorizedImeis,
67
+ });
68
+ }
59
69
  const sortField = params.sortOptions?.sortField ?? 'id';
60
70
  const sortOrder = params.sortOptions?.sortOrder ?? 'DESC';
61
71
  queryBuilder = queryBuilder.orderBy(`task.${sortField}`, sortOrder);
@@ -1 +1 @@
1
- {"version":3,"file":"getTasks.js","sourceRoot":"","sources":["../../../src/repositories/tasks/getTasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getTasks.js","sourceRoot":"","sources":["../../../src/repositories/tasks/getTasks.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,16 @@ export const getTasksCount = async (novaDataSource, params, logger) => {
14
14
  }
15
15
  queryBuilder = addFilters(queryBuilder, params.filters, tasksFilterMapping, 'task');
16
16
  queryBuilder = addFilters(queryBuilder, params.filters, tasksFilterMappingWithSchedule, 'taskSchedule');
17
+ if (params.filters?.authorizedImeis?.length) {
18
+ queryBuilder = queryBuilder.andWhere(`NOT EXISTS (
19
+ SELECT 1
20
+ FROM task task1
21
+ WHERE task1.taskScheduleId = task.taskScheduleId
22
+ AND task1.imei NOT IN (:authorizedDevices)
23
+ )`, {
24
+ authorizedDevices: params.filters.authorizedImeis,
25
+ });
26
+ }
17
27
  const result = await queryBuilder.getCount();
18
28
  return result;
19
29
  }, 'TasksRepository::getTasksCount');
@@ -1 +1 @@
1
- {"version":3,"file":"getTasksCount.js","sourceRoot":"","sources":["../../../src/repositories/tasks/getTasksCount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAgB,MAAM,gBAAgB,CAAA;AAInD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,8BAA8B,GAC/B,MAAM,yBAAyB,CAAA;AAEhC,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,cAA8B,EAC9B,MAA2B,EAC3B,MAAc,EACG,EAAE;IACnB,IAAI,CAAC,oBAAoB,CAAkB,MAAM,EAAE,OAAO,CAAC,EAAE;QAC3D,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,4DAA4D,CAAC,CAAA;QACrF,OAAO,CAAC,CAAC,CAAA;KACV;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,UAA0B,EAAmB,EAAE;QACpF,MAAM,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAErD,IAAI,YAAY,GAAG,cAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;QAE5D,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE;YACtD,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAA;SAC3E;QAED,YAAY,GAAG,UAAU,CAAa,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAA;QAC/F,YAAY,GAAG,UAAU,CACvB,YAAY,EACZ,MAAM,CAAC,OAAO,EACd,8BAA8B,EAC9B,cAAc,CACf,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAA;QAE5C,OAAO,MAAM,CAAA;IACf,CAAC,EAAE,gCAAgC,CAAC,CAAA;AACtC,CAAC,CAAA"}
1
+ {"version":3,"file":"getTasksCount.js","sourceRoot":"","sources":["../../../src/repositories/tasks/getTasksCount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAgB,MAAM,gBAAgB,CAAA;AAInD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,8BAA8B,GAC/B,MAAM,yBAAyB,CAAA;AAEhC,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,cAA8B,EAC9B,MAA2B,EAC3B,MAAc,EACG,EAAE;IACnB,IAAI,CAAC,oBAAoB,CAAkB,MAAM,EAAE,OAAO,CAAC,EAAE;QAC3D,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,4DAA4D,CAAC,CAAA;QACrF,OAAO,CAAC,CAAC,CAAA;KACV;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,UAA0B,EAAmB,EAAE;QACpF,MAAM,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAErD,IAAI,YAAY,GAAG,cAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;QAE5D,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE;YACtD,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAA;SAC3E;QAED,YAAY,GAAG,UAAU,CAAa,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAA;QAC/F,YAAY,GAAG,UAAU,CACvB,YAAY,EACZ,MAAM,CAAC,OAAO,EACd,8BAA8B,EAC9B,cAAc,CACf,CAAA;QAED,IAAI,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE;YAC3C,YAAY,GAAG,YAAY,CAAC,QAAQ,CAClC;;;;;UAKE,EACF;gBACE,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe;aAClD,CACF,CAAA;SACF;QAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAA;QAE5C,OAAO,MAAM,CAAA;IACf,CAAC,EAAE,gCAAgC,CAAC,CAAA;AACtC,CAAC,CAAA"}
@@ -78,6 +78,7 @@ export interface GetTaskSchedulesFilters {
78
78
  deletedBy?: string;
79
79
  deletedAtFilter?: RangeFilter<Date>;
80
80
  statusList?: TaskScheduleStatus[];
81
+ authorizedImeis?: string[];
81
82
  }
82
83
  export interface GetTaskSchedulesParams {
83
84
  filters: GetTaskSchedulesFilters;
@@ -157,6 +158,7 @@ export interface GetTasksFilters {
157
158
  deletedBy?: string | null;
158
159
  title?: string | null;
159
160
  description?: string | null;
161
+ authorizedImeis?: string[];
160
162
  }
161
163
  export interface GetTasksParams {
162
164
  filters: GetTasksFilters;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spytecgps/nova-orm",
3
- "version": "1.0.23",
3
+ "version": "1.0.25",
4
4
  "description": "ORM with PlanetScale",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",