@spytecgps/nova-orm 1.0.112 → 1.0.114

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 (33) hide show
  1. package/dist/entities/acumaticaOrderShipmentDetails.js +3 -2
  2. package/dist/entities/acumaticaOrderShipmentDetails.js.map +1 -1
  3. package/dist/entities/boundary.d.ts +2 -0
  4. package/dist/entities/boundary.js +1 -0
  5. package/dist/entities/boundary.js.map +1 -1
  6. package/dist/entities/device.d.ts +2 -0
  7. package/dist/entities/device.js +1 -0
  8. package/dist/entities/device.js.map +1 -1
  9. package/dist/entities/entityTag.js +1 -0
  10. package/dist/entities/entityTag.js.map +1 -1
  11. package/dist/entities/user.d.ts +2 -0
  12. package/dist/entities/user.js +1 -0
  13. package/dist/entities/user.js.map +1 -1
  14. package/dist/index.js +1 -1
  15. package/dist/repositories/boundaries/getBoundariesByClientId.js +25 -2
  16. package/dist/repositories/boundaries/getBoundariesByClientId.js.map +1 -1
  17. package/dist/repositories/devices/getDevices.js +25 -2
  18. package/dist/repositories/devices/getDevices.js.map +1 -1
  19. package/dist/repositories/entityTags/getEntityTagById.d.ts +5 -0
  20. package/dist/repositories/entityTags/getEntityTagById.js +23 -0
  21. package/dist/repositories/entityTags/getEntityTagById.js.map +1 -0
  22. package/dist/repositories/entityTags/index.d.ts +2 -1
  23. package/dist/repositories/entityTags/index.js +8 -0
  24. package/dist/repositories/entityTags/index.js.map +1 -1
  25. package/dist/repositories/users/getUsers.js +26 -3
  26. package/dist/repositories/users/getUsers.js.map +1 -1
  27. package/dist/types/boundaries.d.ts +3 -0
  28. package/dist/types/devices.d.ts +1 -0
  29. package/dist/types/entitiesTags.d.ts +6 -0
  30. package/dist/types/entitiesTags.js +1 -0
  31. package/dist/types/entitiesTags.js.map +1 -1
  32. package/dist/types/user.d.ts +3 -0
  33. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { Boundary, EntityTag } from '../../entities';
1
+ import { Boundary, EntityTag, Tag } from '../../entities';
2
2
  export const getBoundariesByClientId = async (novaDataSource, params, logger) => {
3
3
  if (!params.filters.clientId) {
4
4
  logger.warn({ params }, 'BoundariesRepository::getBoundariesByClientId - missing required parameters');
@@ -24,7 +24,30 @@ export const getBoundariesByClientId = async (novaDataSource, params, logger) =>
24
24
  tagIdList: params.filters.tagIdList,
25
25
  });
26
26
  }
27
- const boundaries = await queryBuilder.getMany();
27
+ let boundaries = await queryBuilder.getMany();
28
+ if (params.projectionOptions?.withSecurityGroupTag) {
29
+ //TODO: Refactor this to a common function,
30
+ // change the approach to get the security group tags for all the users in one query,
31
+ // then map them to the users. Target methods: getDevices, getUsers
32
+ const entityTagRepo = dataSource.getRepository(EntityTag);
33
+ boundaries = await Promise.all(boundaries.map(async (boundary) => {
34
+ const entityTagQueryBuilder = entityTagRepo.createQueryBuilder('entityTag');
35
+ if (queryRunner) {
36
+ entityTagQueryBuilder.setQueryRunner(queryRunner);
37
+ }
38
+ const securityGroupEntityTags = await entityTagQueryBuilder
39
+ .where('entityTag.entityId = :entityId AND entityTag.entityType = :entityType', {
40
+ entityId: boundary.id,
41
+ entityType: 'Boundary',
42
+ })
43
+ .innerJoin(Tag, 'tag', `tag.id = entityTag.tagId AND JSON_CONTAINS(tag.metadata, :metadata)`, { metadata: JSON.stringify({ isSecurityGroup: true }) })
44
+ .getMany();
45
+ return {
46
+ ...boundary,
47
+ securityGroupEntityTags,
48
+ };
49
+ }));
50
+ }
28
51
  return boundaries;
29
52
  }, 'BoundariesRepository::getBoundariesByClientId', dbQueryRunner);
30
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"getBoundariesByClientId.js","sourceRoot":"","sources":["../../../src/repositories/boundaries/getBoundariesByClientId.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAKpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC1C,cAA8B,EAC9B,MAAqC,EACrC,MAAc,EACO,EAAE;IACvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;QAC5B,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,6EAA6E,CAC9E,CAAA;QACD,OAAO,EAAE,CAAA;KACV;IAED,4CAA4C;IAC5C,MAAM,aAAa,GAAG,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAExE,OAAO,cAAc,CAAC,SAAS,CAC7B,KAAK,EAAE,UAA0B,EAAE,WAAyB,EAAuB,EAAE;QACnF,MAAM,oBAAoB,GAAG,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAE/D,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM;YAC3C,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;YACtE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;QAEzC,MAAM,YAAY,GAAG,oBAAoB;aACtC,kBAAkB,CAAC,UAAU,CAAC;aAC9B,KAAK,CAAC,eAAe,CAAC,CAAA;QAEzB,IAAI,WAAW,EAAE;YACf,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;SACzC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE;YACpC,YAAY,CAAC,SAAS,CACpB,SAAS,EACT,WAAW,EACX;;kDAEwC,EACxC;gBACE,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;aACpC,CACF,CAAA;SACF;QAED,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAA;QAE/C,OAAO,UAAU,CAAA;IACnB,CAAC,EACD,+CAA+C,EAC/C,aAAa,CACd,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"getBoundariesByClientId.js","sourceRoot":"","sources":["../../../src/repositories/boundaries/getBoundariesByClientId.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAKzD,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC1C,cAA8B,EAC9B,MAAqC,EACrC,MAAc,EACO,EAAE;IACvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;QAC5B,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,6EAA6E,CAC9E,CAAA;QACD,OAAO,EAAE,CAAA;KACV;IAED,4CAA4C;IAC5C,MAAM,aAAa,GAAG,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAExE,OAAO,cAAc,CAAC,SAAS,CAC7B,KAAK,EAAE,UAA0B,EAAE,WAAyB,EAAuB,EAAE;QACnF,MAAM,oBAAoB,GAAG,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAE/D,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM;YAC3C,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;YACtE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;QAEzC,MAAM,YAAY,GAAG,oBAAoB;aACtC,kBAAkB,CAAC,UAAU,CAAC;aAC9B,KAAK,CAAC,eAAe,CAAC,CAAA;QAEzB,IAAI,WAAW,EAAE;YACf,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;SACzC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE;YACpC,YAAY,CAAC,SAAS,CACpB,SAAS,EACT,WAAW,EACX;;kDAEwC,EACxC;gBACE,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;aACpC,CACF,CAAA;SACF;QAED,IAAI,UAAU,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAA;QAE7C,IAAI,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,EAAE;YAClD,2CAA2C;YAC3C,qFAAqF;YACrF,mEAAmE;YACnE,MAAM,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;YAEzD,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5B,UAAU,CAAC,GAAG,CAAC,KAAK,EAAC,QAAQ,EAAC,EAAE;gBAC9B,MAAM,qBAAqB,GAAG,aAAa,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;gBAE3E,IAAI,WAAW,EAAE;oBACf,qBAAqB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;iBAClD;gBAED,MAAM,uBAAuB,GAAG,MAAM,qBAAqB;qBACxD,KAAK,CAAC,uEAAuE,EAAE;oBAC9E,QAAQ,EAAE,QAAQ,CAAC,EAAE;oBACrB,UAAU,EAAE,UAAU;iBACvB,CAAC;qBACD,SAAS,CACR,GAAG,EACH,KAAK,EACL,qEAAqE,EACrE,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CACxD;qBACA,OAAO,EAAE,CAAA;gBAEZ,OAAO;oBACL,GAAG,QAAQ;oBACX,uBAAuB;iBACxB,CAAA;YACH,CAAC,CAAC,CACH,CAAA;SACF;QAED,OAAO,UAAU,CAAA;IACnB,CAAC,EACD,+CAA+C,EAC/C,aAAa,CACd,CAAA;AACH,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { ClientDeviceSetting, Device, EntityTag, ImeiIccidCarrier, ServiceProvider, } from '../../entities';
1
+ import { ClientDeviceSetting, Device, EntityTag, ImeiIccidCarrier, ServiceProvider, Tag, } from '../../entities';
2
2
  export const getDevices = async (novaDataSource, params, logger) => {
3
3
  if (!params?.filters?.deviceTypeId &&
4
4
  !params?.filters?.clientId &&
@@ -62,7 +62,30 @@ export const getDevices = async (novaDataSource, params, logger) => {
62
62
  queryBuilder = queryBuilder.offset(realPageIndex * pageSize);
63
63
  queryBuilder = queryBuilder.limit(pageSize);
64
64
  }
65
- const devices = await queryBuilder.getMany();
65
+ let devices = await queryBuilder.getMany();
66
+ if (params.projectionOptions?.withSecurityGroupTag) {
67
+ //TODO: Refactor this to a common function,
68
+ // change the approach to get the security group tags for all the users in one query,
69
+ // then map them to the users. Target methods: getUsers, getBoundariesByClientId
70
+ const entityTagRepo = dataSource.getRepository(EntityTag);
71
+ devices = await Promise.all(devices.map(async (device) => {
72
+ const entityTagQueryBuilder = entityTagRepo.createQueryBuilder('entityTag');
73
+ if (queryRunner) {
74
+ entityTagQueryBuilder.setQueryRunner(queryRunner);
75
+ }
76
+ const securityGroupEntityTags = await entityTagQueryBuilder
77
+ .where('entityTag.entityId = :entityId AND entityTag.entityType = :entityType', {
78
+ entityId: device.id,
79
+ entityType: 'Device',
80
+ })
81
+ .innerJoin(Tag, 'tag', `tag.id = entityTag.tagId AND JSON_CONTAINS(tag.metadata, :metadata)`, { metadata: JSON.stringify({ isSecurityGroup: true }) })
82
+ .getMany();
83
+ return {
84
+ ...device,
85
+ securityGroupEntityTags,
86
+ };
87
+ }));
88
+ }
66
89
  return devices;
67
90
  }, 'DevicesRepository::getDevices', dbQueryRunner);
68
91
  };
@@ -1 +1 @@
1
- {"version":3,"file":"getDevices.js","sourceRoot":"","sources":["../../../src/repositories/devices/getDevices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getDevices.js","sourceRoot":"","sources":["../../../src/repositories/devices/getDevices.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { EntityTag } from '../../entities';
2
+ import { NovaDataSource } from '../../novaDataSource';
3
+ import { GetEntityTagByIdParams } from '../../types/entitiesTags';
4
+ import { Logger } from '../../types/logger';
5
+ export declare const getEntityTagById: (novaDataSource: NovaDataSource, params: GetEntityTagByIdParams, logger: Logger) => Promise<EntityTag | null>;
@@ -0,0 +1,23 @@
1
+ import { EntityTag } from '../../entities';
2
+ import { requiredGetEntityTagByIdParamsAttributes, } from '../../types/entitiesTags';
3
+ import { anyAttributeIsNull } from '../../utils/paramsValidators';
4
+ export const getEntityTagById = async (novaDataSource, params, logger) => {
5
+ if (anyAttributeIsNull(params, requiredGetEntityTagByIdParamsAttributes)) {
6
+ logger.warn('EntityTagsRepository::getEntityTagByEntityTagId missing required id parameter');
7
+ return null;
8
+ }
9
+ // Force the query to run on master or slave
10
+ const dbQueryRunner = novaDataSource.createQueryRunnerFromParams(params);
11
+ return novaDataSource.safeQuery(async (dataSource, queryRunner) => {
12
+ const entityTagsRepository = dataSource.getRepository(EntityTag);
13
+ const queryBuilder = entityTagsRepository
14
+ .createQueryBuilder('entityTag')
15
+ .where('entityTag.id = :id', { id: params.filters.id });
16
+ if (queryRunner) {
17
+ queryBuilder.setQueryRunner(queryRunner);
18
+ }
19
+ const result = await queryBuilder.getOne();
20
+ return result;
21
+ }, 'EntityTagsRepository::getEntityTagByEntityTagId', dbQueryRunner);
22
+ };
23
+ //# sourceMappingURL=getEntityTagById.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getEntityTagById.js","sourceRoot":"","sources":["../../../src/repositories/entityTags/getEntityTagById.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAEL,wCAAwC,GACzC,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAEjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,cAA8B,EAC9B,MAA8B,EAC9B,MAAc,EACa,EAAE;IAC7B,IAAI,kBAAkB,CAAC,MAAM,EAAE,wCAAwC,CAAC,EAAE;QACxE,MAAM,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAA;QAC5F,OAAO,IAAI,CAAA;KACZ;IAED,4CAA4C;IAC5C,MAAM,aAAa,GAAG,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAExE,OAAO,cAAc,CAAC,SAAS,CAC7B,KAAK,EAAE,UAA0B,EAAE,WAAyB,EAAsB,EAAE;QAClF,MAAM,oBAAoB,GAAG,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAEhE,MAAM,YAAY,GAAG,oBAAoB;aACtC,kBAAkB,CAAC,WAAW,CAAC;aAC/B,KAAK,CAAC,oBAAoB,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;QAEzD,IAAI,WAAW,EAAE;YACf,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;SACzC;QAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,CAAA;QAE1C,OAAO,MAAM,CAAA;IACf,CAAC,EACD,iDAAiD,EACjD,aAAa,CACd,CAAA;AACH,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { EntityTag } from '../../entities';
2
- import { BulkDeleteParams, CreateEntityTagParams, DeleteEntityTagParams, EnforceEntityTagsByEntityParams, EnforceEntityTagsByEntityResult, GetEntityTagsResult, SearchEntityTagsParams } from '../../types/entitiesTags';
2
+ import { BulkDeleteParams, CreateEntityTagParams, DeleteEntityTagParams, EnforceEntityTagsByEntityParams, EnforceEntityTagsByEntityResult, GetEntityTagByIdParams, GetEntityTagsResult, SearchEntityTagsParams } from '../../types/entitiesTags';
3
3
  import { BaseRepository } from '../baseRepository';
4
4
  export declare class EntityTagsRepository extends BaseRepository {
5
5
  /**
@@ -44,4 +44,5 @@ export declare class EntityTagsRepository extends BaseRepository {
44
44
  * @returns {boolean} Whether the entity tag was deleted
45
45
  */
46
46
  deleteEntityTagById(id: number): Promise<boolean>;
47
+ getEntityTagById(params: GetEntityTagByIdParams): Promise<EntityTag>;
47
48
  }
@@ -6,6 +6,7 @@ import { createEntityTag } from './createEntityTag';
6
6
  import { deleteEntityTag } from './deleteEntityTag';
7
7
  import { deleteEntityTagById } from './deleteEntityTagById';
8
8
  import { enforceEntityTagsByEntity } from './enforceEntityTagsByEntity';
9
+ import { getEntityTagById } from './getEntityTagById';
9
10
  import { searchEntityTags } from './searchEntityTags';
10
11
  export class EntityTagsRepository extends BaseRepository {
11
12
  /**
@@ -92,5 +93,12 @@ export class EntityTagsRepository extends BaseRepository {
92
93
  this.logger.trace({ wasDeleted: result }, 'EntityTagsRepository::deleteEntityTagById result');
93
94
  return result;
94
95
  }
96
+ async getEntityTagById(params) {
97
+ this.logger.trace({ params }, `EntityTagsRepository::getEntityTagById started with params`);
98
+ const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
99
+ const result = await getEntityTagById(novaDataSource, params, this.logger);
100
+ this.logger.trace(result, 'EntityTagsRepository::getEntityTagById result');
101
+ return result;
102
+ }
95
103
  }
96
104
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/entityTags/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/entityTags/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { EntityTag, User } from '../../entities';
1
+ import { EntityTag, Tag, User } from '../../entities';
2
2
  import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
3
3
  export const getUsers = async (novaDataSource, params, logger) => {
4
4
  if (!params?.filters?.emailList?.length &&
@@ -56,8 +56,31 @@ export const getUsers = async (novaDataSource, params, logger) => {
56
56
  });
57
57
  }
58
58
  queryBuilder = queryBuilder.orderBy('user.lastname', 'DESC');
59
- const result = await queryBuilder.getMany();
60
- return result;
59
+ let users = await queryBuilder.getMany();
60
+ if (params.projectionOptions?.withSecurityGroupTag) {
61
+ //TODO: Refactor this to a common function,
62
+ // change the approach to get the security group tags for all the users in one query,
63
+ // then map them to the users. Target methods: getDevices, getBoundariesByClientId
64
+ const entityTagRepo = dataSource.getRepository(EntityTag);
65
+ users = await Promise.all(users.map(async (user) => {
66
+ const entityTagQueryBuilder = entityTagRepo.createQueryBuilder('entityTag');
67
+ if (queryRunner) {
68
+ entityTagQueryBuilder.setQueryRunner(queryRunner);
69
+ }
70
+ const securityGroupEntityTags = await entityTagQueryBuilder
71
+ .where('entityTag.entityId = :entityId AND entityTag.entityType = :entityType', {
72
+ entityId: user.numberId,
73
+ entityType: 'User',
74
+ })
75
+ .innerJoin(Tag, 'tag', `tag.id = entityTag.tagId AND JSON_CONTAINS(tag.metadata, :metadata)`, { metadata: JSON.stringify({ isSecurityGroup: true }) })
76
+ .getMany();
77
+ return {
78
+ ...user,
79
+ securityGroupEntityTags,
80
+ };
81
+ }));
82
+ }
83
+ return users;
61
84
  }, 'UsersRepository::getUsers', dbQueryRunner);
62
85
  };
63
86
  //# sourceMappingURL=getUsers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getUsers.js","sourceRoot":"","sources":["../../../src/repositories/users/getUsers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getUsers.js","sourceRoot":"","sources":["../../../src/repositories/users/getUsers.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,9 @@ export interface GetBoundariesByClientIdParams extends BaseSelectQueryParams {
6
6
  status?: BoundaryStatus;
7
7
  tagIdList?: number[];
8
8
  };
9
+ projectionOptions?: {
10
+ withSecurityGroupTag?: boolean;
11
+ };
9
12
  }
10
13
  export interface GetBoundaryByIdParams extends BaseSelectQueryParams {
11
14
  filters: {
@@ -23,6 +23,7 @@ export interface GetDevicesParams extends OptionalReportPagination {
23
23
  withDeviceType?: boolean;
24
24
  withIccidCarrier?: boolean;
25
25
  withClientDeviceSettings?: boolean;
26
+ withSecurityGroupTag?: boolean;
26
27
  };
27
28
  sortOptions?: {
28
29
  sortField?: 'name';
@@ -55,3 +55,9 @@ export interface EnforceEntityTagsByEntityResult {
55
55
  entitiesTags: EntityTag[];
56
56
  totalCount: number;
57
57
  }
58
+ export declare const requiredGetEntityTagByIdParamsAttributes: string[];
59
+ export interface GetEntityTagByIdParams extends OptionalReportPagination {
60
+ filters: {
61
+ id: number;
62
+ };
63
+ }
@@ -22,4 +22,5 @@ export const requiredEnforceEntityTagsByEntityParamsAttributes = [
22
22
  'values.enforcedBy',
23
23
  'values.tagIds',
24
24
  ];
25
+ export const requiredGetEntityTagByIdParamsAttributes = ['filters.id'];
25
26
  //# sourceMappingURL=entitiesTags.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entitiesTags.js","sourceRoot":"","sources":["../../src/types/entitiesTags.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,uCAAuC,GAAG;IACrD,UAAU;IACV,WAAW;IACX,OAAO;IACP,YAAY;IACZ,UAAU;CACX,CAAA;AASD,MAAM,CAAC,MAAM,uCAAuC,GAAG;IACrD,YAAY;IACZ,UAAU;IACV,OAAO;IACP,UAAU;IACV,WAAW;CACZ,CAAA;AASD,MAAM,CAAC,MAAM,wCAAwC,GAAG,CAAC,kBAAkB,CAAC,CAAA;AAe5E,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC,CAAA;AACzF,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;AAS5E,MAAM,CAAC,MAAM,iDAAiD,GAAG;IAC/D,kBAAkB;IAClB,kBAAkB;IAClB,oBAAoB;IACpB,mBAAmB;IACnB,eAAe;CAChB,CAAA"}
1
+ {"version":3,"file":"entitiesTags.js","sourceRoot":"","sources":["../../src/types/entitiesTags.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,uCAAuC,GAAG;IACrD,UAAU;IACV,WAAW;IACX,OAAO;IACP,YAAY;IACZ,UAAU;CACX,CAAA;AASD,MAAM,CAAC,MAAM,uCAAuC,GAAG;IACrD,YAAY;IACZ,UAAU;IACV,OAAO;IACP,UAAU;IACV,WAAW;CACZ,CAAA;AASD,MAAM,CAAC,MAAM,wCAAwC,GAAG,CAAC,kBAAkB,CAAC,CAAA;AAe5E,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC,CAAA;AACzF,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;AAS5E,MAAM,CAAC,MAAM,iDAAiD,GAAG;IAC/D,kBAAkB;IAClB,kBAAkB;IAClB,oBAAoB;IACpB,mBAAmB;IACnB,eAAe;CAChB,CAAA;AAkBD,MAAM,CAAC,MAAM,wCAAwC,GAAG,CAAC,YAAY,CAAC,CAAA"}
@@ -21,6 +21,9 @@ export interface GetUsersParams extends BaseSelectQueryParams {
21
21
  status?: string;
22
22
  tagIdList?: number[];
23
23
  };
24
+ projectionOptions?: {
25
+ withSecurityGroupTag?: boolean;
26
+ };
24
27
  }
25
28
  export interface GetUsersIdsByPhoneAndCountryCodeParams extends BaseSelectQueryParams {
26
29
  filters: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spytecgps/nova-orm",
3
- "version": "1.0.112",
3
+ "version": "1.0.114",
4
4
  "description": "ORM with PlanetScale",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",