@spytecgps/nova-orm 1.0.42 → 1.0.43

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.
@@ -0,0 +1,4 @@
1
+ import { NovaDataSource } from '../../novaDataSource';
2
+ import { Logger } from '../../types/logger';
3
+ import { GetUserClientRelatedEntitiesCountParams, UserClientRelatedEntitiesCountResult } from '../../types/user';
4
+ export declare const getUserClientRelatedEntitiesCount: (novaDataSource: NovaDataSource, params: GetUserClientRelatedEntitiesCountParams, logger: Logger) => Promise<UserClientRelatedEntitiesCountResult | null>;
@@ -0,0 +1,59 @@
1
+ import { Client } from '../../entities';
2
+ import { BoundaryStatus, DeviceStatus, UserStatus } from '../../types/enums';
3
+ import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
4
+ export const getUserClientRelatedEntitiesCount = async (novaDataSource, params, logger) => {
5
+ if (!params.filters.userId) {
6
+ logger.warn({ params }, 'UsersRepository::getUserClientRelatedEntitiesCount - missing required parameters');
7
+ return null;
8
+ }
9
+ const binaryBuffer = uuidStringToBinaryBuffer(params?.filters?.userId);
10
+ if (!binaryBuffer?.length) {
11
+ logger.warn({ params }, 'UsersRepository::getUserClientRelatedEntitiesCount - user id should be a valid UUID');
12
+ return null;
13
+ }
14
+ return novaDataSource.safeQuery(async (dataSource) => {
15
+ const clientsRepository = dataSource.getRepository(Client);
16
+ const queryBuilder = clientsRepository
17
+ .createQueryBuilder('client')
18
+ .select('client.id', 'clientId');
19
+ if (params.projectionOptions?.withDevicesCount) {
20
+ queryBuilder.addSelect(subQuery => {
21
+ return subQuery
22
+ .select('COUNT(*)', 'devicesCount')
23
+ .from('device', 'd')
24
+ .where('client.id = d.clientId')
25
+ .andWhere('d.status = :deviceStatus', { deviceStatus: DeviceStatus.Active });
26
+ }, 'devicesCount');
27
+ }
28
+ if (params.projectionOptions?.withBoundariesCount) {
29
+ queryBuilder.addSelect(subQuery => {
30
+ return subQuery
31
+ .select('COUNT(*)', 'boundariesCount')
32
+ .from('boundary', 'b')
33
+ .where('client.id = b.clientId')
34
+ .andWhere('b.status = :boundaryStatus', { boundaryStatus: BoundaryStatus.Active });
35
+ }, 'boundariesCount');
36
+ }
37
+ if (params.projectionOptions?.withUsersCount) {
38
+ queryBuilder.addSelect(subQuery => {
39
+ return subQuery
40
+ .select('COUNT(*)', 'usersCount')
41
+ .from('user', 'u')
42
+ .where('client.id = u.clientId')
43
+ .andWhere('u.status = :userStatus', { userStatus: UserStatus.Active });
44
+ }, 'usersCount');
45
+ }
46
+ queryBuilder.where(`EXISTS (
47
+ SELECT 1
48
+ FROM user u2
49
+ WHERE client.id = u2.clientId
50
+ AND u2.id = :userId
51
+ LIMIT 1
52
+ )`, {
53
+ userId: binaryBuffer,
54
+ });
55
+ const result = await queryBuilder.getRawOne();
56
+ return result;
57
+ }, 'UsersRepository::getUserClientRelatedEntitiesCount');
58
+ };
59
+ //# sourceMappingURL=getUserClientRelatedEntitiesCount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUserClientRelatedEntitiesCount.js","sourceRoot":"","sources":["../../../src/repositories/users/getUserClientRelatedEntitiesCount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAM5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAElE,MAAM,CAAC,MAAM,iCAAiC,GAAG,KAAK,EACpD,cAA8B,EAC9B,MAA+C,EAC/C,MAAc,EACwC,EAAE;IACxD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;QAC1B,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,kFAAkF,CACnF,CAAA;QAED,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,qFAAqF,CACtF,CAAA;QAED,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,cAAc,CAAC,SAAS,CAC7B,KAAK,EAAE,UAA0B,EAAwD,EAAE;QACzF,MAAM,iBAAiB,GAAG,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAE1D,MAAM,YAAY,GAAG,iBAAiB;aACnC,kBAAkB,CAAC,QAAQ,CAAC;aAC5B,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;QAElC,IAAI,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,EAAE;YAC9C,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBAChC,OAAO,QAAQ;qBACZ,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC;qBAClC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC;qBACnB,KAAK,CAAC,wBAAwB,CAAC;qBAC/B,QAAQ,CAAC,0BAA0B,EAAE,EAAE,YAAY,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAA;YAChF,CAAC,EAAE,cAAc,CAAC,CAAA;SACnB;QAED,IAAI,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,EAAE;YACjD,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBAChC,OAAO,QAAQ;qBACZ,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC;qBACrC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC;qBACrB,KAAK,CAAC,wBAAwB,CAAC;qBAC/B,QAAQ,CAAC,4BAA4B,EAAE,EAAE,cAAc,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAA;YACtF,CAAC,EAAE,iBAAiB,CAAC,CAAA;SACtB;QAED,IAAI,MAAM,CAAC,iBAAiB,EAAE,cAAc,EAAE;YAC5C,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBAChC,OAAO,QAAQ;qBACZ,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC;qBAChC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;qBACjB,KAAK,CAAC,wBAAwB,CAAC;qBAC/B,QAAQ,CAAC,wBAAwB,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;YAC1E,CAAC,EAAE,YAAY,CAAC,CAAA;SACjB;QAED,YAAY,CAAC,KAAK,CAChB;;;;;;UAME,EACF;YACE,MAAM,EAAE,YAAY;SACrB,CACF,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,CAAA;QAE7C,OAAO,MAAM,CAAA;IACf,CAAC,EACD,oDAAoD,CACrD,CAAA;AACH,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { User } from '../../entities/user';
2
- import { CreateUserParams, DeleteAccountParams, DeleteUserParams, GetUserByIdParams, GetUsersConfigurationByImeiParams, GetUsersDataParams, GetUsersIdsByPhoneAndCountryCodeParams, GetUsersParams, GetUsersWithRolesParams, UpdateUserParams, UserData, UserWithRole } from '../../types/user';
2
+ import { CreateUserParams, DeleteAccountParams, DeleteUserParams, GetUserByIdParams, GetUserClientRelatedEntitiesCountParams, GetUsersConfigurationByImeiParams, GetUsersDataParams, GetUsersIdsByPhoneAndCountryCodeParams, GetUsersParams, GetUsersWithRolesParams, UpdateUserParams, UserClientRelatedEntitiesCountResult, UserData, UserWithRole } from '../../types/user';
3
3
  import { BaseRepository } from '../baseRepository';
4
4
  export declare class UsersRepository extends BaseRepository {
5
5
  /**
@@ -123,4 +123,11 @@ export declare class UsersRepository extends BaseRepository {
123
123
  * @returns Whether the account was deleted or not
124
124
  */
125
125
  deleteAccount(params: DeleteAccountParams): Promise<boolean>;
126
+ /**
127
+ * Get user client related entities count
128
+ * @param {GetUserClientRelatedEntitiesCountParams} params containing information to get user client related entities count
129
+ * - filters.userId: The user id to get the count of related entities
130
+ * @returns The user client related entities count
131
+ */
132
+ getUserClientRelatedEntitiesCount(params: GetUserClientRelatedEntitiesCountParams): Promise<UserClientRelatedEntitiesCountResult>;
126
133
  }
@@ -4,6 +4,7 @@ import { createUser } from './createUser';
4
4
  import { deleteAccount } from './deleteAccount';
5
5
  import { deleteUser } from './deleteUser';
6
6
  import { getUserById } from './getUserById';
7
+ import { getUserClientRelatedEntitiesCount } from './getUserClientRelatedEntitiesCount';
7
8
  import { getUsersData } from './getUserData';
8
9
  import { getUsers } from './getUsers';
9
10
  import { getUsersConfigurationByImei } from './getUsersConfigurationByImei';
@@ -192,5 +193,18 @@ export class UsersRepository extends BaseRepository {
192
193
  this.logger.trace({ result }, 'UsersRepository::deleteAccount result');
193
194
  return result;
194
195
  }
196
+ /**
197
+ * Get user client related entities count
198
+ * @param {GetUserClientRelatedEntitiesCountParams} params containing information to get user client related entities count
199
+ * - filters.userId: The user id to get the count of related entities
200
+ * @returns The user client related entities count
201
+ */
202
+ async getUserClientRelatedEntitiesCount(params) {
203
+ this.logger.trace(params, 'UsersRepository::getUserClientRelatedEntitiesCount started with params');
204
+ const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger);
205
+ const result = await getUserClientRelatedEntitiesCount(novaDataSource, params, this.logger);
206
+ this.logger.trace({ result }, 'UsersRepository::getUserClientRelatedEntitiesCount result');
207
+ return result;
208
+ }
195
209
  }
196
210
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/users/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/users/index.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,10 @@ export declare enum BoundaryStatus {
12
12
  Inactive = 2,
13
13
  Deleted = 3
14
14
  }
15
+ export declare enum UserStatus {
16
+ Active = "A",
17
+ Deleted = "D"
18
+ }
15
19
  export declare enum HapnClientType {
16
20
  b2c = 1,
17
21
  b2b = 2,
@@ -15,6 +15,11 @@ export var BoundaryStatus;
15
15
  BoundaryStatus[BoundaryStatus["Inactive"] = 2] = "Inactive";
16
16
  BoundaryStatus[BoundaryStatus["Deleted"] = 3] = "Deleted";
17
17
  })(BoundaryStatus || (BoundaryStatus = {}));
18
+ export var UserStatus;
19
+ (function (UserStatus) {
20
+ UserStatus["Active"] = "A";
21
+ UserStatus["Deleted"] = "D";
22
+ })(UserStatus || (UserStatus = {}));
18
23
  export var HapnClientType;
19
24
  (function (HapnClientType) {
20
25
  HapnClientType[HapnClientType["b2c"] = 1] = "b2c";
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/types/enums.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,yDAAS,CAAA;IACT,uEAAgB,CAAA;IAChB,yDAAS,CAAA;AACX,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAED,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,4BAAY,CAAA;IACZ,6BAAa,CAAA;AACf,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,uDAAU,CAAA;IACV,2DAAY,CAAA;IACZ,yDAAW,CAAA;AACb,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAED,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,iDAAO,CAAA;IACP,iDAAO,CAAA;IACP,mDAAQ,CAAA;AACV,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAED,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,+DAAyC,CAAA;IACzC,2CAAqB,CAAA;IACrB,qCAAe,CAAA;IACf,yCAAmB,CAAA;AACrB,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAED,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,yCAAiB,CAAA;IACjB,6CAAqB,CAAA;AACvB,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B;AAED,MAAM,CAAN,IAAY,wBAKX;AALD,WAAY,wBAAwB;IAClC,qDAAyB,CAAA;IACzB,mDAAuB,CAAA;IACvB,iDAAqB,CAAA;IACrB,6CAAiB,CAAA;AACnB,CAAC,EALW,wBAAwB,KAAxB,wBAAwB,QAKnC;AAED,MAAM,CAAN,IAAY,yBAGX;AAHD,WAAY,yBAAyB;IACnC,2EAAS,CAAA;IACT,2EAAS,CAAA;AACX,CAAC,EAHW,yBAAyB,KAAzB,yBAAyB,QAGpC;AAED,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,6DAAc,CAAA;IACd,mDAAS,CAAA;IACT,uDAAW,CAAA;IACX,6CAAM,CAAA;IACN,iDAAQ,CAAA;IACR,yDAAY,CAAA;AACd,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAED,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,uCAAQ,CAAA;IACR,uCAAQ,CAAA;AACV,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAED,MAAM,CAAN,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC9B,qEAAW,CAAA;IACX,yEAAa,CAAA;IACb,qEAAW,CAAA;IACX,8EAAgB,CAAA;IAChB,kFAAkB,CAAA;AACpB,CAAC,EANW,oBAAoB,KAApB,oBAAoB,QAM/B;AAED,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,4CAAuB,CAAA;IACvB,0CAAqB,CAAA;AACvB,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B"}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/types/enums.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,yDAAS,CAAA;IACT,uEAAgB,CAAA;IAChB,yDAAS,CAAA;AACX,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAED,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,4BAAY,CAAA;IACZ,6BAAa,CAAA;AACf,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,uDAAU,CAAA;IACV,2DAAY,CAAA;IACZ,yDAAW,CAAA;AACb,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAED,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,0BAAY,CAAA;IACZ,2BAAa,CAAA;AACf,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAED,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,iDAAO,CAAA;IACP,iDAAO,CAAA;IACP,mDAAQ,CAAA;AACV,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAED,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,+DAAyC,CAAA;IACzC,2CAAqB,CAAA;IACrB,qCAAe,CAAA;IACf,yCAAmB,CAAA;AACrB,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAED,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,yCAAiB,CAAA;IACjB,6CAAqB,CAAA;AACvB,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B;AAED,MAAM,CAAN,IAAY,wBAKX;AALD,WAAY,wBAAwB;IAClC,qDAAyB,CAAA;IACzB,mDAAuB,CAAA;IACvB,iDAAqB,CAAA;IACrB,6CAAiB,CAAA;AACnB,CAAC,EALW,wBAAwB,KAAxB,wBAAwB,QAKnC;AAED,MAAM,CAAN,IAAY,yBAGX;AAHD,WAAY,yBAAyB;IACnC,2EAAS,CAAA;IACT,2EAAS,CAAA;AACX,CAAC,EAHW,yBAAyB,KAAzB,yBAAyB,QAGpC;AAED,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,6DAAc,CAAA;IACd,mDAAS,CAAA;IACT,uDAAW,CAAA;IACX,6CAAM,CAAA;IACN,iDAAQ,CAAA;IACR,yDAAY,CAAA;AACd,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAED,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,uCAAQ,CAAA;IACR,uCAAQ,CAAA;AACV,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAED,MAAM,CAAN,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC9B,qEAAW,CAAA;IACX,yEAAa,CAAA;IACb,qEAAW,CAAA;IACX,8EAAgB,CAAA;IAChB,kFAAkB,CAAA;AACpB,CAAC,EANW,oBAAoB,KAApB,oBAAoB,QAM/B;AAED,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,4CAAuB,CAAA;IACvB,0CAAqB,CAAA;AACvB,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B"}
@@ -131,3 +131,20 @@ export interface DeleteAccountParams {
131
131
  email?: string;
132
132
  };
133
133
  }
134
+ export interface GetUserClientRelatedEntitiesCountParams {
135
+ filters: {
136
+ userId: string;
137
+ };
138
+ projectionOptions?: {
139
+ withDevicesCount?: boolean;
140
+ withBoundariesCount?: boolean;
141
+ withUsersCount?: boolean;
142
+ };
143
+ }
144
+ export interface UserClientRelatedEntitiesCountResult {
145
+ userId: string;
146
+ clientId: number;
147
+ devicesCount?: number;
148
+ boundariesCount?: number;
149
+ usersCount?: number;
150
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spytecgps/nova-orm",
3
- "version": "1.0.42",
3
+ "version": "1.0.43",
4
4
  "description": "ORM with PlanetScale",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",