@fastybird/smart-panel-backend 1.1.0-alpha.40 → 1.1.0-alpha.42

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 (180) hide show
  1. package/dist/app.module.js +1 -1
  2. package/dist/app.module.js.map +1 -1
  3. package/dist/common/utils/cancellable-exec.utils.d.ts +5 -0
  4. package/dist/common/utils/cancellable-exec.utils.js +34 -0
  5. package/dist/common/utils/cancellable-exec.utils.js.map +1 -0
  6. package/dist/common/utils/remote-access-observation.utils.d.ts +11 -0
  7. package/dist/common/utils/remote-access-observation.utils.js +89 -0
  8. package/dist/common/utils/remote-access-observation.utils.js.map +1 -0
  9. package/dist/modules/auth/auth.module.js +4 -0
  10. package/dist/modules/auth/auth.module.js.map +1 -1
  11. package/dist/modules/auth/guards/auth.guard.js +8 -13
  12. package/dist/modules/auth/guards/auth.guard.js.map +1 -1
  13. package/dist/modules/auth/services/token-metadata.service.d.ts +42 -0
  14. package/dist/modules/auth/services/token-metadata.service.js +202 -0
  15. package/dist/modules/auth/services/token-metadata.service.js.map +1 -0
  16. package/dist/modules/auth/services/token-usage.service.d.ts +22 -0
  17. package/dist/modules/auth/services/token-usage.service.js +93 -0
  18. package/dist/modules/auth/services/token-usage.service.js.map +1 -0
  19. package/dist/modules/auth/services/tokens.service.d.ts +8 -2
  20. package/dist/modules/auth/services/tokens.service.js +16 -10
  21. package/dist/modules/auth/services/tokens.service.js.map +1 -1
  22. package/dist/modules/devices/devices.module.js +7 -0
  23. package/dist/modules/devices/devices.module.js.map +1 -1
  24. package/dist/modules/devices/dto/property-command.dto.js +2 -8
  25. package/dist/modules/devices/dto/property-command.dto.js.map +1 -1
  26. package/dist/modules/devices/services/device-command-graph.service.d.ts +18 -0
  27. package/dist/modules/devices/services/device-command-graph.service.js +92 -0
  28. package/dist/modules/devices/services/device-command-graph.service.js.map +1 -0
  29. package/dist/modules/devices/services/devices.service.js +2 -17
  30. package/dist/modules/devices/services/devices.service.js.map +1 -1
  31. package/dist/modules/devices/services/property-command-dispatch.service.d.ts +5 -3
  32. package/dist/modules/devices/services/property-command-dispatch.service.js +15 -12
  33. package/dist/modules/devices/services/property-command-dispatch.service.js.map +1 -1
  34. package/dist/modules/devices/services/property-command.service.d.ts +7 -5
  35. package/dist/modules/devices/services/property-command.service.js +41 -20
  36. package/dist/modules/devices/services/property-command.service.js.map +1 -1
  37. package/dist/modules/devices/services/property-metadata.service.d.ts +9 -2
  38. package/dist/modules/devices/services/property-metadata.service.js +67 -17
  39. package/dist/modules/devices/services/property-metadata.service.js.map +1 -1
  40. package/dist/modules/devices/utils/device-graph-query.utils.d.ts +3 -0
  41. package/dist/modules/devices/utils/device-graph-query.utils.js +23 -0
  42. package/dist/modules/devices/utils/device-graph-query.utils.js.map +1 -0
  43. package/dist/modules/devices/validators/property-command-target-constraint.validator.d.ts +9 -0
  44. package/dist/modules/devices/validators/property-command-target-constraint.validator.js +58 -0
  45. package/dist/modules/devices/validators/property-command-target-constraint.validator.js.map +1 -0
  46. package/dist/modules/remote-access/controllers/remote-access.controller.js +9 -5
  47. package/dist/modules/remote-access/controllers/remote-access.controller.js.map +1 -1
  48. package/dist/modules/remote-access/models/provider.model.d.ts +3 -0
  49. package/dist/modules/remote-access/models/provider.model.js +23 -0
  50. package/dist/modules/remote-access/models/provider.model.js.map +1 -1
  51. package/dist/modules/remote-access/models/status.model.d.ts +2 -0
  52. package/dist/modules/remote-access/models/status.model.js +18 -1
  53. package/dist/modules/remote-access/models/status.model.js.map +1 -1
  54. package/dist/modules/remote-access/models/urls.model.d.ts +2 -0
  55. package/dist/modules/remote-access/models/urls.model.js +17 -0
  56. package/dist/modules/remote-access/models/urls.model.js.map +1 -1
  57. package/dist/modules/remote-access/platforms/remote-access-provider.platform.d.ts +18 -1
  58. package/dist/modules/remote-access/remote-access.constants.d.ts +2 -1
  59. package/dist/modules/remote-access/remote-access.constants.js +2 -1
  60. package/dist/modules/remote-access/remote-access.constants.js.map +1 -1
  61. package/dist/modules/remote-access/services/remote-access-proxy-contribution.service.d.ts +1 -0
  62. package/dist/modules/remote-access/services/remote-access-proxy-contribution.service.js +4 -1
  63. package/dist/modules/remote-access/services/remote-access-proxy-contribution.service.js.map +1 -1
  64. package/dist/modules/remote-access/services/remote-access-status.service.d.ts +40 -8
  65. package/dist/modules/remote-access/services/remote-access-status.service.js +314 -65
  66. package/dist/modules/remote-access/services/remote-access-status.service.js.map +1 -1
  67. package/dist/modules/remote-access/services/remote-access-url.service.d.ts +2 -2
  68. package/dist/modules/remote-access/services/remote-access-url.service.js +4 -2
  69. package/dist/modules/remote-access/services/remote-access-url.service.js.map +1 -1
  70. package/dist/modules/spaces/services/module-reset.service.d.ts +5 -1
  71. package/dist/modules/spaces/services/module-reset.service.js +10 -2
  72. package/dist/modules/spaces/services/module-reset.service.js.map +1 -1
  73. package/dist/modules/spaces/services/space-activity.service.d.ts +14 -0
  74. package/dist/modules/spaces/services/space-activity.service.js +56 -0
  75. package/dist/modules/spaces/services/space-activity.service.js.map +1 -0
  76. package/dist/modules/spaces/spaces.module.js +5 -0
  77. package/dist/modules/spaces/spaces.module.js.map +1 -1
  78. package/dist/modules/spaces/subscribers/space-activity.subscriber.d.ts +17 -0
  79. package/dist/modules/spaces/subscribers/space-activity.subscriber.js +89 -0
  80. package/dist/modules/spaces/subscribers/space-activity.subscriber.js.map +1 -0
  81. package/dist/modules/websocket/gateway/websocket.gateway.js +1 -0
  82. package/dist/modules/websocket/gateway/websocket.gateway.js.map +1 -1
  83. package/dist/modules/websocket/services/ws-auth.service.js +12 -28
  84. package/dist/modules/websocket/services/ws-auth.service.js.map +1 -1
  85. package/dist/plugins/devices-virtual/platforms/virtual-device.platform.d.ts +3 -8
  86. package/dist/plugins/devices-virtual/platforms/virtual-device.platform.js +6 -36
  87. package/dist/plugins/devices-virtual/platforms/virtual-device.platform.js.map +1 -1
  88. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.d.ts +5 -3
  89. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.js +20 -8
  90. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.js.map +1 -1
  91. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.d.ts +3 -5
  92. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.js +11 -10
  93. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.js.map +1 -1
  94. package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.d.ts +2 -0
  95. package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.js +17 -0
  96. package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.js.map +1 -1
  97. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.d.ts +20 -2
  98. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.js +105 -48
  99. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.js.map +1 -1
  100. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.d.ts +13 -1
  101. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.js +8 -2
  102. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.js.map +1 -1
  103. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.d.ts +1 -1
  104. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.js +12 -24
  105. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.js.map +1 -1
  106. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.d.ts +1 -1
  107. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.js +5 -2
  108. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.js.map +1 -1
  109. package/dist/plugins/remote-access-tailscale/controllers/setup.controller.d.ts +10 -5
  110. package/dist/plugins/remote-access-tailscale/controllers/setup.controller.js +105 -15
  111. package/dist/plugins/remote-access-tailscale/controllers/setup.controller.js.map +1 -1
  112. package/dist/plugins/remote-access-tailscale/controllers/status.controller.d.ts +5 -4
  113. package/dist/plugins/remote-access-tailscale/controllers/status.controller.js +19 -9
  114. package/dist/plugins/remote-access-tailscale/controllers/status.controller.js.map +1 -1
  115. package/dist/plugins/remote-access-tailscale/models/status.model.d.ts +16 -0
  116. package/dist/plugins/remote-access-tailscale/models/status.model.js +100 -1
  117. package/dist/plugins/remote-access-tailscale/models/status.model.js.map +1 -1
  118. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.d.ts +2 -0
  119. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.js +3 -1
  120. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.js.map +1 -1
  121. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.d.ts +17 -1
  122. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.js +33 -1
  123. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.js.map +1 -1
  124. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.d.ts +2 -2
  125. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.js +1 -0
  126. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.js.map +1 -1
  127. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.plugin.js +2 -0
  128. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.plugin.js.map +1 -1
  129. package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.d.ts +8 -4
  130. package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.js +58 -14
  131. package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.js.map +1 -1
  132. package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.d.ts +8 -3
  133. package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.js +175 -151
  134. package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.js.map +1 -1
  135. package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.d.ts +51 -7
  136. package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.js +481 -101
  137. package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.js.map +1 -1
  138. package/dist/plugins/remote-access-tailscale/services/tailscale-operation-coordinator.service.d.ts +33 -0
  139. package/dist/plugins/remote-access-tailscale/services/tailscale-operation-coordinator.service.js +167 -0
  140. package/dist/plugins/remote-access-tailscale/services/tailscale-operation-coordinator.service.js.map +1 -0
  141. package/dist/plugins/remote-access-tailscale/services/tailscale-provider.service.d.ts +13 -1
  142. package/dist/plugins/remote-access-tailscale/services/tailscale-provider.service.js +8 -2
  143. package/dist/plugins/remote-access-tailscale/services/tailscale-provider.service.js.map +1 -1
  144. package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.d.ts +1 -1
  145. package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.js +7 -6
  146. package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.js.map +1 -1
  147. package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.d.ts +1 -3
  148. package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.js +9 -11
  149. package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.js.map +1 -1
  150. package/dist/plugins/remote-access-tailscale/utils/tailscale-control.utils.d.ts +5 -0
  151. package/dist/plugins/remote-access-tailscale/utils/tailscale-control.utils.js +36 -0
  152. package/dist/plugins/remote-access-tailscale/utils/tailscale-control.utils.js.map +1 -0
  153. package/dist/plugins/spaces-home-control/listeners/space-activity.listener.d.ts +6 -7
  154. package/dist/plugins/spaces-home-control/listeners/space-activity.listener.js +19 -44
  155. package/dist/plugins/spaces-home-control/listeners/space-activity.listener.js.map +1 -1
  156. package/dist/plugins/spaces-home-control/listeners/space-climate-state.listener.d.ts +4 -4
  157. package/dist/plugins/spaces-home-control/listeners/space-climate-state.listener.js +9 -22
  158. package/dist/plugins/spaces-home-control/listeners/space-climate-state.listener.js.map +1 -1
  159. package/dist/plugins/spaces-home-control/listeners/space-lighting-state.listener.d.ts +4 -4
  160. package/dist/plugins/spaces-home-control/listeners/space-lighting-state.listener.js +9 -22
  161. package/dist/plugins/spaces-home-control/listeners/space-lighting-state.listener.js.map +1 -1
  162. package/dist/plugins/spaces-home-control/listeners/space-sensor-state.listener.d.ts +4 -4
  163. package/dist/plugins/spaces-home-control/listeners/space-sensor-state.listener.js +9 -22
  164. package/dist/plugins/spaces-home-control/listeners/space-sensor-state.listener.js.map +1 -1
  165. package/dist/plugins/spaces-home-control/services/space-climate-state.service.d.ts +3 -5
  166. package/dist/plugins/spaces-home-control/services/space-climate-state.service.js +9 -12
  167. package/dist/plugins/spaces-home-control/services/space-climate-state.service.js.map +1 -1
  168. package/dist/plugins/spaces-home-control/services/space-lighting-state.service.d.ts +3 -5
  169. package/dist/plugins/spaces-home-control/services/space-lighting-state.service.js +7 -10
  170. package/dist/plugins/spaces-home-control/services/space-lighting-state.service.js.map +1 -1
  171. package/dist/plugins/spaces-home-control/services/space-sensor-state.service.d.ts +3 -5
  172. package/dist/plugins/spaces-home-control/services/space-sensor-state.service.js +7 -10
  173. package/dist/plugins/spaces-home-control/services/space-sensor-state.service.js.map +1 -1
  174. package/dist/plugins/spaces-home-control/services/space-state-read.service.d.ts +47 -0
  175. package/dist/plugins/spaces-home-control/services/space-state-read.service.js +262 -0
  176. package/dist/plugins/spaces-home-control/services/space-state-read.service.js.map +1 -0
  177. package/dist/plugins/spaces-home-control/spaces-home-control.plugin.js +4 -0
  178. package/dist/plugins/spaces-home-control/spaces-home-control.plugin.js.map +1 -1
  179. package/dist/tsconfig.build.tsbuildinfo +1 -1
  180. package/package.json +2 -2
@@ -0,0 +1,22 @@
1
+ import { DataSource } from 'typeorm';
2
+ import { BeforeApplicationShutdown, OnModuleInit } from '@nestjs/common';
3
+ import { LongLiveTokenEntity } from '../entities/auth.entity';
4
+ export declare const tokenUsageFlushIntervalMs = 60000;
5
+ export declare const tokenUsageMaxPending = 1000;
6
+ type TokenIdentity = Pick<LongLiveTokenEntity, 'id' | 'hashedToken'>;
7
+ export declare class TokenUsageService implements OnModuleInit, BeforeApplicationShutdown {
8
+ private readonly dataSource;
9
+ private readonly logger;
10
+ private readonly pending;
11
+ private timer?;
12
+ private inFlight?;
13
+ private stopping;
14
+ private dropped;
15
+ constructor(dataSource: DataSource);
16
+ onModuleInit(): void;
17
+ record(token: TokenIdentity): void;
18
+ flush(): Promise<void>;
19
+ beforeApplicationShutdown(): Promise<void>;
20
+ private persist;
21
+ }
22
+ export {};
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.TokenUsageService = exports.tokenUsageMaxPending = exports.tokenUsageFlushIntervalMs = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const common_1 = require("@nestjs/common");
15
+ const logger_1 = require("../../../common/logger");
16
+ const auth_constants_1 = require("../auth.constants");
17
+ const auth_entity_1 = require("../entities/auth.entity");
18
+ exports.tokenUsageFlushIntervalMs = 60_000;
19
+ exports.tokenUsageMaxPending = 1_000;
20
+ let TokenUsageService = class TokenUsageService {
21
+ constructor(dataSource) {
22
+ this.dataSource = dataSource;
23
+ this.logger = (0, logger_1.createExtensionLogger)(auth_constants_1.AUTH_MODULE_NAME, 'TokenUsageService');
24
+ this.pending = new Map();
25
+ this.stopping = false;
26
+ this.dropped = 0;
27
+ }
28
+ onModuleInit() {
29
+ this.timer = setInterval(() => void this.flush(), exports.tokenUsageFlushIntervalMs);
30
+ this.timer.unref();
31
+ }
32
+ record(token) {
33
+ if (this.stopping)
34
+ return;
35
+ const key = `${token.id}:${token.hashedToken}`;
36
+ const previous = this.pending.get(key);
37
+ if (!previous && this.pending.size >= exports.tokenUsageMaxPending) {
38
+ this.dropped++;
39
+ return;
40
+ }
41
+ this.pending.set(key, {
42
+ id: token.id,
43
+ hashedToken: token.hashedToken,
44
+ lastUsedAt: new Date(Math.max(Date.now(), previous?.lastUsedAt.getTime() ?? 0)),
45
+ });
46
+ }
47
+ flush() {
48
+ if (this.inFlight !== undefined)
49
+ return this.inFlight;
50
+ if (this.pending.size === 0)
51
+ return Promise.resolve();
52
+ const batch = [...this.pending.values()];
53
+ this.pending.clear();
54
+ if (this.dropped > 0) {
55
+ this.logger.warn(`Dropped ${this.dropped} token usage observations because the telemetry queue was full`);
56
+ this.dropped = 0;
57
+ }
58
+ this.inFlight = this.persist(batch).finally(() => {
59
+ this.inFlight = undefined;
60
+ });
61
+ return this.inFlight;
62
+ }
63
+ async beforeApplicationShutdown() {
64
+ this.stopping = true;
65
+ if (this.timer)
66
+ clearInterval(this.timer);
67
+ await this.flush();
68
+ await this.flush();
69
+ }
70
+ async persist(batch) {
71
+ let failures = 0;
72
+ for (const { id, hashedToken, lastUsedAt } of batch) {
73
+ try {
74
+ const identity = { id, hashedToken, revoked: false };
75
+ await this.dataSource.getRepository(auth_entity_1.LongLiveTokenEntity).update([
76
+ { ...identity, lastUsedAt: (0, typeorm_1.IsNull)() },
77
+ { ...identity, lastUsedAt: (0, typeorm_1.LessThan)(lastUsedAt) },
78
+ ], { lastUsedAt });
79
+ }
80
+ catch {
81
+ failures++;
82
+ }
83
+ }
84
+ if (failures > 0)
85
+ this.logger.warn(`Failed to persist ${failures} token usage observations`);
86
+ }
87
+ };
88
+ exports.TokenUsageService = TokenUsageService;
89
+ exports.TokenUsageService = TokenUsageService = __decorate([
90
+ (0, common_1.Injectable)(),
91
+ __metadata("design:paramtypes", [typeorm_1.DataSource])
92
+ ], TokenUsageService);
93
+ //# sourceMappingURL=token-usage.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-usage.service.js","sourceRoot":"","sources":["../../../../src/modules/auth/services/token-usage.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAuD;AAEvD,2CAAqF;AAErF,mDAA+D;AAC/D,sDAAqD;AACrD,yDAA8D;AAEjD,QAAA,yBAAyB,GAAG,MAAM,CAAC;AACnC,QAAA,oBAAoB,GAAG,KAAK,CAAC;AAOnC,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAQ7B,YAA6B,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAPlC,WAAM,GAAG,IAAA,8BAAqB,EAAC,iCAAgB,EAAE,mBAAmB,CAAC,CAAC;QACtE,YAAO,GAAG,IAAI,GAAG,EAA4B,CAAC;QAGvD,aAAQ,GAAG,KAAK,CAAC;QACjB,YAAO,GAAG,CAAC,CAAC;IAEkC,CAAC;IAEvD,YAAY;QACX,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,EAAE,iCAAyB,CAAC,CAAC;QAC7E,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAGD,MAAM,CAAC,KAAoB;QAC1B,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAGvC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,4BAAoB,EAAE,CAAC;YAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO;QACR,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE;YACrB,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;SAC/E,CAAC,CAAC;IACJ,CAAC;IAGD,KAAK;QACJ,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACtD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAEtD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAErB,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO,gEAAgE,CAAC,CAAC;YAC1G,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QAClB,CAAC;QAGD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YAChD,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAGD,KAAK,CAAC,yBAAyB;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,KAAK;YAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE1C,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAEnB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,KAAyB;QAC9C,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,KAAK,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,KAAK,EAAE,CAAC;YACrD,IAAI,CAAC;gBAGJ,MAAM,QAAQ,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;gBACrD,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,iCAAmB,CAAC,CAAC,MAAM,CAC9D;oBACC,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,IAAA,gBAAM,GAAE,EAAE;oBACrC,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,IAAA,kBAAQ,EAAC,UAAU,CAAC,EAAE;iBACjD,EACD,EAAE,UAAU,EAAE,CACd,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBAGR,QAAQ,EAAE,CAAC;YACZ,CAAC;QACF,CAAC;QAED,IAAI,QAAQ,GAAG,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,QAAQ,2BAA2B,CAAC,CAAC;IAC9F,CAAC;CACD,CAAA;AAzFY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAS6B,oBAAU;GARvC,iBAAiB,CAyF7B"}
@@ -3,13 +3,17 @@ import { TokenOwnerType } from '../auth.constants';
3
3
  import { CreateTokenDto } from '../dto/create-token.dto';
4
4
  import { UpdateTokenDto } from '../dto/update-token.dto';
5
5
  import { AccessTokenEntity, LongLiveTokenEntity, TokenEntity } from '../entities/auth.entity';
6
+ import { AuthenticationAccessToken, AuthenticationToken, TokenMetadataService } from './token-metadata.service';
7
+ import { TokenUsageService } from './token-usage.service';
6
8
  import { TokensTypeMapperService } from './tokens-type-mapper.service';
7
9
  export declare class TokensService {
8
10
  private readonly repository;
9
11
  private readonly tokensMapperService;
10
12
  private readonly dataSource;
13
+ private readonly tokenUsageService;
14
+ private readonly tokenMetadata;
11
15
  private readonly logger;
12
- constructor(repository: Repository<TokenEntity>, tokensMapperService: TokensTypeMapperService, dataSource: DataSource);
16
+ constructor(repository: Repository<TokenEntity>, tokensMapperService: TokensTypeMapperService, dataSource: DataSource, tokenUsageService: TokenUsageService, tokenMetadata: TokenMetadataService);
13
17
  findAll<TToken extends TokenEntity>(type?: new (...args: any[]) => TToken): Promise<TToken[]>;
14
18
  findAllByOwner<TToken extends TokenEntity>(owner: string, type?: new (...args: any[]) => TToken): Promise<TToken[]>;
15
19
  findAccessTokenByOwnerAndHash(ownerId: string, hashedToken: string): Promise<AccessTokenEntity | null>;
@@ -18,8 +22,10 @@ export declare class TokensService {
18
22
  revokeByOwnerId(ownerId: string, ownerType: TokenOwnerType): Promise<void>;
19
23
  revokeUserCredentials(userId: string): Promise<void>;
20
24
  revoke(id: string, manager?: EntityManager): Promise<void>;
25
+ findAuthenticationAccessToken(ownerId: string, hashedToken: string): Promise<AuthenticationAccessToken | null>;
26
+ findAuthenticationTokenByHash(hashedToken: string): Promise<AuthenticationToken | null>;
21
27
  findOneByHashedToken(hashedToken: string): Promise<LongLiveTokenEntity | null>;
22
- updateLastUsedAt(tokenId: string): Promise<void>;
28
+ recordUsage(token: Pick<LongLiveTokenEntity, 'id' | 'hashedToken'>): void;
23
29
  findOne<TToken extends TokenEntity>(id: string, type?: new (...args: any[]) => TToken): Promise<TToken | null>;
24
30
  findByHashedToken<TToken extends TokenEntity>(token: string, type?: new (...args: any[]) => TToken): Promise<TToken | null>;
25
31
  create<TToken extends TokenEntity, TCreateDTO extends CreateTokenDto>(createDto: TCreateDTO): Promise<TToken>;
@@ -28,12 +28,16 @@ const auth_constants_1 = require("../auth.constants");
28
28
  const auth_exceptions_1 = require("../auth.exceptions");
29
29
  const auth_entity_1 = require("../entities/auth.entity");
30
30
  const token_utils_1 = require("../utils/token.utils");
31
+ const token_metadata_service_1 = require("./token-metadata.service");
32
+ const token_usage_service_1 = require("./token-usage.service");
31
33
  const tokens_type_mapper_service_1 = require("./tokens-type-mapper.service");
32
34
  let TokensService = class TokensService {
33
- constructor(repository, tokensMapperService, dataSource) {
35
+ constructor(repository, tokensMapperService, dataSource, tokenUsageService, tokenMetadata) {
34
36
  this.repository = repository;
35
37
  this.tokensMapperService = tokensMapperService;
36
38
  this.dataSource = dataSource;
39
+ this.tokenUsageService = tokenUsageService;
40
+ this.tokenMetadata = tokenMetadata;
37
41
  this.logger = (0, logger_1.createExtensionLogger)(auth_constants_1.AUTH_MODULE_NAME, 'TokensService');
38
42
  }
39
43
  async findAll(type) {
@@ -134,6 +138,12 @@ let TokensService = class TokensService {
134
138
  throw new auth_exceptions_1.AuthNotFoundException('Requested token does not exist');
135
139
  }
136
140
  }
141
+ findAuthenticationAccessToken(ownerId, hashedToken) {
142
+ return this.tokenMetadata.findAccessToken(ownerId, hashedToken);
143
+ }
144
+ findAuthenticationTokenByHash(hashedToken) {
145
+ return this.tokenMetadata.findByHash(hashedToken);
146
+ }
137
147
  async findOneByHashedToken(hashedToken) {
138
148
  this.logger.debug('Finding long-live token by hashed value');
139
149
  const repository = this.dataSource.getRepository(auth_entity_1.LongLiveTokenEntity);
@@ -142,14 +152,8 @@ let TokensService = class TokensService {
142
152
  });
143
153
  return token ?? null;
144
154
  }
145
- async updateLastUsedAt(tokenId) {
146
- try {
147
- const repository = this.dataSource.getRepository(auth_entity_1.LongLiveTokenEntity);
148
- await repository.update(tokenId, { lastUsedAt: new Date() });
149
- }
150
- catch (error) {
151
- this.logger.debug(`Failed to update lastUsedAt for token ${tokenId}: ${error.message}`);
152
- }
155
+ recordUsage(token) {
156
+ this.tokenUsageService.record(token);
153
157
  }
154
158
  async findOne(id, type) {
155
159
  return this.findByField('id', id, type);
@@ -326,6 +330,8 @@ exports.TokensService = TokensService = __decorate([
326
330
  __param(0, (0, typeorm_2.InjectRepository)(auth_entity_1.TokenEntity)),
327
331
  __metadata("design:paramtypes", [typeorm_1.Repository,
328
332
  tokens_type_mapper_service_1.TokensTypeMapperService,
329
- typeorm_1.DataSource])
333
+ typeorm_1.DataSource,
334
+ token_usage_service_1.TokenUsageService,
335
+ token_metadata_service_1.TokenMetadataService])
330
336
  ], TokensService);
331
337
  //# sourceMappingURL=tokens.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.service.js","sourceRoot":"","sources":["../../../../src/modules/auth/services/tokens.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokens.service.js","sourceRoot":"","sources":["../../../../src/modules/auth/services/tokens.service.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,7 @@ const channels_properties_type_mapper_service_1 = require("./services/channels.p
56
56
  const channels_properties_service_1 = require("./services/channels.properties.service");
57
57
  const channels_service_1 = require("./services/channels.service");
58
58
  const command_latency_trace_collector_service_1 = require("./services/command-latency-trace-collector.service");
59
+ const device_command_graph_service_1 = require("./services/device-command-graph.service");
59
60
  const device_connection_state_service_1 = require("./services/device-connection-state.service");
60
61
  const device_connectivity_service_1 = require("./services/device-connectivity.service");
61
62
  const device_control_tool_service_1 = require("./services/device-control-tool.service");
@@ -89,6 +90,7 @@ const channel_exists_constraint_validator_1 = require("./validators/channel-exis
89
90
  const channel_property_exists_constraint_validator_1 = require("./validators/channel-property-exists-constraint.validator");
90
91
  const device_exists_constraint_validator_1 = require("./validators/device-exists-constraint.validator");
91
92
  const device_not_hidden_constraint_validator_1 = require("./validators/device-not-hidden-constraint.validator");
93
+ const property_command_target_constraint_validator_1 = require("./validators/property-command-target-constraint.validator");
92
94
  let DevicesModule = class DevicesModule {
93
95
  constructor(moduleSeeder, moduleReset, devicesStatsProvider, storageService, seedRegistry, factoryResetRegistry, statsRegistryService, swaggerRegistry, modulesMapperService, extensionsService, toolProviderRegistry, deviceControlTool) {
94
96
  this.moduleSeeder = moduleSeeder;
@@ -239,6 +241,7 @@ exports.DevicesModule = DevicesModule = __decorate([
239
241
  channels_properties_service_1.ChannelsPropertiesService,
240
242
  device_validation_service_1.DeviceValidationService,
241
243
  device_structure_lock_service_1.DeviceStructureLockService,
244
+ property_command_target_constraint_validator_1.PropertyCommandTargetConstraintValidator,
242
245
  device_exists_constraint_validator_1.DeviceExistsConstraintValidator,
243
246
  device_not_hidden_constraint_validator_1.DeviceNotHiddenConstraintValidator,
244
247
  channel_exists_constraint_validator_1.ChannelExistsConstraintValidator,
@@ -254,6 +257,7 @@ exports.DevicesModule = DevicesModule = __decorate([
254
257
  property_value_lock_service_1.PropertyValueLockService,
255
258
  property_value_service_1.PropertyValueService,
256
259
  property_metadata_service_1.PropertyMetadataService,
260
+ device_command_graph_service_1.DeviceCommandGraphService,
257
261
  property_state_coordinator_service_1.PropertyStateCoordinatorService,
258
262
  property_timeseries_service_1.PropertyTimeseriesService,
259
263
  property_command_window_service_1.PropertyCommandWindowService,
@@ -295,12 +299,15 @@ exports.DevicesModule = DevicesModule = __decorate([
295
299
  platform_registry_service_1.PlatformRegistryService,
296
300
  property_value_source_registry_service_1.PropertyValueSourceRegistryService,
297
301
  property_value_service_1.PropertyValueService,
302
+ property_metadata_service_1.PropertyMetadataService,
303
+ device_command_graph_service_1.DeviceCommandGraphService,
298
304
  property_state_coordinator_service_1.PropertyStateCoordinatorService,
299
305
  property_timeseries_service_1.PropertyTimeseriesService,
300
306
  property_command_window_service_1.PropertyCommandWindowService,
301
307
  command_latency_trace_collector_service_1.CommandLatencyTraceCollectorService,
302
308
  property_command_dispatch_service_1.PropertyCommandDispatchService,
303
309
  property_command_service_1.PropertyCommandService,
310
+ property_command_target_constraint_validator_1.PropertyCommandTargetConstraintValidator,
304
311
  device_exists_constraint_validator_1.DeviceExistsConstraintValidator,
305
312
  device_not_hidden_constraint_validator_1.DeviceNotHiddenConstraintValidator,
306
313
  channel_exists_constraint_validator_1.ChannelExistsConstraintValidator,
@@ -1 +1 @@
1
- {"version":3,"file":"devices.module.js","sourceRoot":"","sources":["../../../src/modules/devices/devices.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devices.module.js","sourceRoot":"","sources":["../../../src/modules/devices/devices.module.ts"],"names":[],"mappings":"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"}
@@ -14,9 +14,7 @@ const class_transformer_1 = require("class-transformer");
14
14
  const class_validator_1 = require("class-validator");
15
15
  const swagger_1 = require("@nestjs/swagger");
16
16
  const intents_constants_1 = require("../../intents/intents.constants");
17
- const channel_exists_constraint_validator_1 = require("../validators/channel-exists-constraint.validator");
18
- const channel_property_exists_constraint_validator_1 = require("../validators/channel-property-exists-constraint.validator");
19
- const device_exists_constraint_validator_1 = require("../validators/device-exists-constraint.validator");
17
+ const property_command_target_constraint_validator_1 = require("../validators/property-command-target-constraint.validator");
20
18
  class PropertyCommandContextDto {
21
19
  }
22
20
  exports.PropertyCommandContextDto = PropertyCommandContextDto;
@@ -83,21 +81,17 @@ exports.PropertyCommandValueDto = PropertyCommandValueDto;
83
81
  __decorate([
84
82
  (0, class_transformer_1.Expose)(),
85
83
  (0, class_validator_1.IsUUID)('4', { message: '[{"field":"device","reason":"Device must be a valid UUID (version 4)."}]' }),
86
- (0, device_exists_constraint_validator_1.ValidateDeviceExists)({ message: '[{"field":"device","reason":"The specified device does not exist."}]' }),
87
84
  __metadata("design:type", String)
88
85
  ], PropertyCommandValueDto.prototype, "device", void 0);
89
86
  __decorate([
90
87
  (0, class_transformer_1.Expose)(),
91
88
  (0, class_validator_1.IsUUID)('4', { message: '[{"field":"channel","reason":"Channel must be a valid UUID (version 4)."}]' }),
92
- (0, channel_exists_constraint_validator_1.ValidateChannelExists)({ message: '[{"field":"channel","reason":"The specified channel does not exist."}]' }),
93
89
  __metadata("design:type", String)
94
90
  ], PropertyCommandValueDto.prototype, "channel", void 0);
95
91
  __decorate([
96
92
  (0, class_transformer_1.Expose)(),
97
93
  (0, class_validator_1.IsUUID)('4', { message: '[{"field":"property","reason":"Property must be a valid UUID (version 4)."}]' }),
98
- (0, channel_property_exists_constraint_validator_1.ValidateChannelPropertyExists)({
99
- message: '[{"field":"property","reason":"The specified property does not exist."}]',
100
- }),
94
+ (0, property_command_target_constraint_validator_1.ValidatePropertyCommandTarget)(),
101
95
  __metadata("design:type", String)
102
96
  ], PropertyCommandValueDto.prototype, "property", void 0);
103
97
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"property-command.dto.js","sourceRoot":"","sources":["../../../../src/modules/devices/dto/property-command.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"property-command.dto.js","sourceRoot":"","sources":["../../../../src/modules/devices/dto/property-command.dto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { ChannelEntity, ChannelPropertyEntity, DeviceEntity } from '../entities/devices.entity';
2
+ import { DeviceConnectionStateService } from './device-connection-state.service';
3
+ import { PropertyMetadataService } from './property-metadata.service';
4
+ import { PropertyValueService } from './property-value.service';
5
+ export declare class DeviceCommandGraphService {
6
+ private readonly metadata;
7
+ private readonly values;
8
+ private readonly connectivity;
9
+ private readonly logger;
10
+ constructor(metadata: PropertyMetadataService, values: PropertyValueService, connectivity: DeviceConnectionStateService);
11
+ findOne(id: string): Promise<DeviceEntity | null>;
12
+ findPropertyTarget(id: string): Promise<{
13
+ device: DeviceEntity;
14
+ channel: ChannelEntity;
15
+ property: ChannelPropertyEntity;
16
+ } | null>;
17
+ private hydrateProperty;
18
+ }
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DeviceCommandGraphService = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const logger_1 = require("../../../common/logger");
15
+ const devices_constants_1 = require("../devices.constants");
16
+ const devices_entity_1 = require("../entities/devices.entity");
17
+ const property_value_state_model_1 = require("../models/property-value-state.model");
18
+ const property_metadata_utils_1 = require("../utils/property-metadata.utils");
19
+ const device_connection_state_service_1 = require("./device-connection-state.service");
20
+ const property_metadata_service_1 = require("./property-metadata.service");
21
+ const property_value_service_1 = require("./property-value.service");
22
+ let DeviceCommandGraphService = class DeviceCommandGraphService {
23
+ constructor(metadata, values, connectivity) {
24
+ this.metadata = metadata;
25
+ this.values = values;
26
+ this.connectivity = connectivity;
27
+ this.logger = (0, logger_1.createExtensionLogger)(devices_constants_1.DEVICES_MODULE_NAME, 'DeviceCommandGraphService');
28
+ }
29
+ async findOne(id) {
30
+ const graph = await this.metadata.findDevice(id);
31
+ if (!graph)
32
+ return null;
33
+ const seen = new Set();
34
+ const states = new Map();
35
+ const visit = async (value) => {
36
+ if (!value || typeof value !== 'object' || seen.has(value))
37
+ return;
38
+ seen.add(value);
39
+ const children = Object.values(value);
40
+ if (value instanceof devices_entity_1.DeviceEntity) {
41
+ try {
42
+ if (!states.has(value.id))
43
+ states.set(value.id, this.connectivity.readLatest(value));
44
+ const state = await states.get(value.id);
45
+ value.status = Object.assign(new devices_entity_1.DeviceConnectionStatus(), state, {
46
+ lastChanged: state.lastChanged === null ? null : new Date(state.lastChanged),
47
+ });
48
+ }
49
+ catch (error) {
50
+ this.logger.error(`Failed to load device status id=${value.id}: ${String(error)}`);
51
+ }
52
+ }
53
+ else if (value instanceof devices_entity_1.ChannelPropertyEntity) {
54
+ await this.hydrateProperty(value);
55
+ }
56
+ await Promise.all(children.map(visit));
57
+ };
58
+ await visit(graph);
59
+ return graph;
60
+ }
61
+ async findPropertyTarget(id) {
62
+ const property = await this.metadata.findOne(id);
63
+ if (!property || typeof property.channel === 'string' || typeof property.channel.device === 'string')
64
+ return null;
65
+ const channelId = property.channel.id;
66
+ const device = await this.findOne(property.channel.device.id);
67
+ const channel = device?.channels.find((item) => item.id === channelId);
68
+ if (!device || !channel || !channel.properties.some((item) => item.id === property.id))
69
+ return null;
70
+ await this.hydrateProperty(property);
71
+ property.channel.device.status = device.status;
72
+ return { device, channel, property };
73
+ }
74
+ async hydrateProperty(property) {
75
+ property.unit = (0, property_metadata_utils_1.resolvePropertyUnit)(property);
76
+ try {
77
+ const value = await this.values.readLatest(property);
78
+ property.value = value === null ? null : new property_value_state_model_1.PropertyValueState(value.value, value.lastUpdated, value.trend);
79
+ }
80
+ catch (error) {
81
+ this.logger.error(`Failed to load property value id=${property.id}: ${String(error)}`);
82
+ }
83
+ }
84
+ };
85
+ exports.DeviceCommandGraphService = DeviceCommandGraphService;
86
+ exports.DeviceCommandGraphService = DeviceCommandGraphService = __decorate([
87
+ (0, common_1.Injectable)(),
88
+ __metadata("design:paramtypes", [property_metadata_service_1.PropertyMetadataService,
89
+ property_value_service_1.PropertyValueService,
90
+ device_connection_state_service_1.DeviceConnectionStateService])
91
+ ], DeviceCommandGraphService);
92
+ //# sourceMappingURL=device-command-graph.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-command-graph.service.js","sourceRoot":"","sources":["../../../../src/modules/devices/services/device-command-graph.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAE5C,mDAA+D;AAC/D,4DAA2D;AAC3D,+DAAwH;AACxH,qFAA0E;AAC1E,8EAAuE;AAEvE,uFAA6G;AAC7G,2EAAsE;AACtE,qEAAgE;AAIzD,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAGrC,YACkB,QAAiC,EACjC,MAA4B,EAC5B,YAA0C;QAF1C,aAAQ,GAAR,QAAQ,CAAyB;QACjC,WAAM,GAAN,MAAM,CAAsB;QAC5B,iBAAY,GAAZ,YAAY,CAA8B;QAL3C,WAAM,GAAG,IAAA,8BAAqB,EAAC,uCAAmB,EAAE,2BAA2B,CAAC,CAAC;IAM/F,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,EAAU;QACvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,GAAG,EAA+C,CAAC;QACtE,MAAM,KAAK,GAAG,KAAK,EAAE,KAAc,EAAiB,EAAE;YACrD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAO;YACnE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEhB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,KAAK,YAAY,6BAAY,EAAE,CAAC;gBACnC,IAAI,CAAC;oBACJ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;oBACrF,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACzC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,uCAAsB,EAAE,EAAE,KAAK,EAAE;wBACjE,WAAW,EAAE,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;qBAC5E,CAAC,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACpF,CAAC;YACF,CAAC;iBAAM,IAAI,KAAK,YAAY,sCAAqB,EAAE,CAAC;gBACnD,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;YACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC;QACF,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,KAAK,CAAC,kBAAkB,CACvB,EAAU;QAEV,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAClH,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QACpG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACrC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC/C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,QAA+B;QAC5D,QAAQ,CAAC,IAAI,GAAG,IAAA,6CAAmB,EAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC;YACJ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrD,QAAQ,CAAC,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,+CAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9G,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEhB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,QAAQ,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxF,CAAC;IACF,CAAC;CACD,CAAA;AA9DY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;qCAKgB,mDAAuB;QACzB,6CAAoB;QACd,8DAA4B;GANhD,yBAAyB,CA8DrC"}
@@ -32,6 +32,7 @@ const spaces_constants_1 = require("../../spaces/spaces.constants");
32
32
  const devices_constants_1 = require("../devices.constants");
33
33
  const devices_exceptions_1 = require("../devices.exceptions");
34
34
  const devices_entity_1 = require("../entities/devices.entity");
35
+ const device_graph_query_utils_1 = require("../utils/device-graph-query.utils");
35
36
  const unique_constraint_utils_1 = require("../utils/unique-constraint.utils");
36
37
  const channels_properties_service_1 = require("./channels.properties.service");
37
38
  const channels_service_1 = require("./channels.service");
@@ -603,23 +604,7 @@ let DevicesService = class DevicesService {
603
604
  return device;
604
605
  }
605
606
  buildDeviceQuery(repository) {
606
- const qb = repository
607
- .createQueryBuilder('device')
608
- .leftJoinAndSelect('device.controls', 'controls')
609
- .leftJoinAndSelect('controls.device', 'controlDevice')
610
- .leftJoinAndSelect('device.channels', 'channels')
611
- .leftJoinAndSelect('channels.device', 'channelDevice')
612
- .leftJoinAndSelect('channels.controls', 'channelControls')
613
- .leftJoinAndSelect('channelControls.channel', 'channelControlChannel')
614
- .leftJoinAndSelect('channels.properties', 'channelProperties')
615
- .leftJoinAndSelect('channelProperties.channel', 'channelPropertyChannel')
616
- .leftJoinAndSelect('device.deviceZones', 'deviceZones');
617
- for (const relation of repository.metadata?.relations ?? []) {
618
- if (relation.isEager && !['controls', 'channels', 'deviceZones'].includes(relation.propertyName)) {
619
- qb.leftJoinAndSelect(`device.${relation.propertyName}`, relation.propertyName);
620
- }
621
- }
622
- return qb;
607
+ return (0, device_graph_query_utils_1.buildDeviceGraphQuery)(repository);
623
608
  }
624
609
  async validateDto(DtoClass, dto) {
625
610
  const dtoInstance = (0, transform_utils_1.toInstance)(DtoClass, dto, {