@fastybird/smart-panel-backend 1.1.0-alpha.4 → 1.1.0-alpha.6

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 (134) hide show
  1. package/dist/app.module.js +7 -0
  2. package/dist/app.module.js.map +1 -1
  3. package/dist/modules/devices/controllers/channels.properties.controller.js +16 -4
  4. package/dist/modules/devices/controllers/channels.properties.controller.js.map +1 -1
  5. package/dist/modules/devices/controllers/devices.channels.properties.controller.js +16 -4
  6. package/dist/modules/devices/controllers/devices.channels.properties.controller.js.map +1 -1
  7. package/dist/modules/devices/devices.module.js +9 -0
  8. package/dist/modules/devices/devices.module.js.map +1 -1
  9. package/dist/modules/devices/services/channels.properties.service.d.ts +23 -3
  10. package/dist/modules/devices/services/channels.properties.service.js +271 -26
  11. package/dist/modules/devices/services/channels.properties.service.js.map +1 -1
  12. package/dist/modules/devices/services/channels.service.js +42 -38
  13. package/dist/modules/devices/services/channels.service.js.map +1 -1
  14. package/dist/modules/devices/services/device-structure-lock.service.d.ts +10 -2
  15. package/dist/modules/devices/services/device-structure-lock.service.js +86 -7
  16. package/dist/modules/devices/services/device-structure-lock.service.js.map +1 -1
  17. package/dist/modules/devices/services/devices.service.js +37 -33
  18. package/dist/modules/devices/services/devices.service.js.map +1 -1
  19. package/dist/modules/devices/services/module-reset.service.d.ts +3 -1
  20. package/dist/modules/devices/services/module-reset.service.js +21 -16
  21. package/dist/modules/devices/services/module-reset.service.js.map +1 -1
  22. package/dist/modules/devices/services/property-command-dispatch.service.d.ts +43 -0
  23. package/dist/modules/devices/services/property-command-dispatch.service.js +218 -0
  24. package/dist/modules/devices/services/property-command-dispatch.service.js.map +1 -0
  25. package/dist/modules/devices/services/property-command-window.service.d.ts +70 -0
  26. package/dist/modules/devices/services/property-command-window.service.js +200 -0
  27. package/dist/modules/devices/services/property-command-window.service.js.map +1 -0
  28. package/dist/modules/devices/services/property-command.service.d.ts +18 -3
  29. package/dist/modules/devices/services/property-command.service.js +44 -10
  30. package/dist/modules/devices/services/property-command.service.js.map +1 -1
  31. package/dist/modules/devices/services/property-state-coordinator.service.d.ts +4 -0
  32. package/dist/modules/devices/services/property-state-coordinator.service.js +35 -0
  33. package/dist/modules/devices/services/property-state-coordinator.service.js.map +1 -0
  34. package/dist/modules/devices/services/property-value.service.d.ts +1 -0
  35. package/dist/modules/devices/services/property-value.service.js +4 -0
  36. package/dist/modules/devices/services/property-value.service.js.map +1 -1
  37. package/dist/plugins/devices-home-assistant/services/state-changed.event.service.js +2 -3
  38. package/dist/plugins/devices-home-assistant/services/state-changed.event.service.js.map +1 -1
  39. package/dist/plugins/devices-homekit/listeners/homekit-event.listener.js +6 -1
  40. package/dist/plugins/devices-homekit/listeners/homekit-event.listener.js.map +1 -1
  41. package/dist/plugins/devices-homekit/mappers/base.mapper.js +27 -4
  42. package/dist/plugins/devices-homekit/mappers/base.mapper.js.map +1 -1
  43. package/dist/plugins/devices-homekit/mappers/homekit-mapper.interface.d.ts +8 -0
  44. package/dist/plugins/devices-homekit/mappers/thermostat-coordinator.d.ts +7 -0
  45. package/dist/plugins/devices-homekit/mappers/thermostat-coordinator.js +84 -73
  46. package/dist/plugins/devices-homekit/mappers/thermostat-coordinator.js.map +1 -1
  47. package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.d.ts +11 -0
  48. package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js +121 -15
  49. package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js.map +1 -1
  50. package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.d.ts +5 -1
  51. package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js +49 -8
  52. package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js.map +1 -1
  53. package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.d.ts +9 -1
  54. package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js +59 -24
  55. package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js.map +1 -1
  56. package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.js +1 -3
  57. package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.js.map +1 -1
  58. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.d.ts +17 -0
  59. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.js +147 -0
  60. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.js.map +1 -0
  61. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.d.ts +15 -0
  62. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.js +98 -0
  63. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.js.map +1 -0
  64. package/dist/plugins/remote-access-cloudflare-tunnel/dto/update-config.dto.d.ts +9 -0
  65. package/dist/plugins/remote-access-cloudflare-tunnel/dto/update-config.dto.js +94 -0
  66. package/dist/plugins/remote-access-cloudflare-tunnel/dto/update-config.dto.js.map +1 -0
  67. package/dist/plugins/remote-access-cloudflare-tunnel/models/config.model.d.ts +9 -0
  68. package/dist/plugins/remote-access-cloudflare-tunnel/models/config.model.js +92 -0
  69. package/dist/plugins/remote-access-cloudflare-tunnel/models/config.model.js.map +1 -0
  70. package/dist/plugins/remote-access-cloudflare-tunnel/models/install.model.d.ts +7 -0
  71. package/dist/plugins/remote-access-cloudflare-tunnel/models/install.model.js +48 -0
  72. package/dist/plugins/remote-access-cloudflare-tunnel/models/install.model.js.map +1 -0
  73. package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.d.ts +42 -0
  74. package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.js +352 -0
  75. package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.js.map +1 -0
  76. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.constants.d.ts +24 -0
  77. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.constants.js +27 -0
  78. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.constants.js.map +1 -0
  79. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.exceptions.d.ts +8 -0
  80. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.exceptions.js +19 -0
  81. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.exceptions.js.map +1 -0
  82. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.openapi.d.ts +4 -0
  83. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.openapi.js +20 -0
  84. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.openapi.js.map +1 -0
  85. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.plugin.d.ts +21 -0
  86. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.plugin.js +135 -0
  87. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.plugin.js.map +1 -0
  88. package/dist/plugins/remote-access-cloudflare-tunnel/scripts/cloudflared-setup.sh +185 -0
  89. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.d.ts +82 -0
  90. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.js +507 -0
  91. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.js.map +1 -0
  92. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.d.ts +10 -0
  93. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.js +37 -0
  94. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.js.map +1 -0
  95. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-setup.service.d.ts +38 -0
  96. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-setup.service.js +147 -0
  97. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-setup.service.js.map +1 -0
  98. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.d.ts +15 -0
  99. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.js +67 -0
  100. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.js.map +1 -0
  101. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.d.ts +8 -0
  102. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.js +46 -0
  103. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.js.map +1 -0
  104. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-process.service.d.ts +27 -0
  105. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-process.service.js +139 -0
  106. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-process.service.js.map +1 -0
  107. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.d.ts +2 -0
  108. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.js +3 -1
  109. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.js.map +1 -1
  110. package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.js +4 -0
  111. package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.js.map +1 -1
  112. package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.d.ts +4 -1
  113. package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.js +59 -5
  114. package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.js.map +1 -1
  115. package/dist/plugins/scenes-local/platforms/local-scene.platform.d.ts +3 -1
  116. package/dist/plugins/scenes-local/platforms/local-scene.platform.js +12 -7
  117. package/dist/plugins/scenes-local/platforms/local-scene.platform.js.map +1 -1
  118. package/dist/plugins/spaces-home-control/services/climate-intent.service.d.ts +3 -1
  119. package/dist/plugins/spaces-home-control/services/climate-intent.service.js +6 -3
  120. package/dist/plugins/spaces-home-control/services/climate-intent.service.js.map +1 -1
  121. package/dist/plugins/spaces-home-control/services/covers-intent.service.d.ts +3 -1
  122. package/dist/plugins/spaces-home-control/services/covers-intent.service.js +6 -3
  123. package/dist/plugins/spaces-home-control/services/covers-intent.service.js.map +1 -1
  124. package/dist/plugins/spaces-home-control/services/lighting-intent.service.d.ts +3 -1
  125. package/dist/plugins/spaces-home-control/services/lighting-intent.service.js +7 -4
  126. package/dist/plugins/spaces-home-control/services/lighting-intent.service.js.map +1 -1
  127. package/dist/plugins/spaces-home-control/services/space-media-activity.service.d.ts +3 -1
  128. package/dist/plugins/spaces-home-control/services/space-media-activity.service.js +11 -5
  129. package/dist/plugins/spaces-home-control/services/space-media-activity.service.js.map +1 -1
  130. package/dist/plugins/spaces-home-control/services/space-undo-history.service.d.ts +3 -1
  131. package/dist/plugins/spaces-home-control/services/space-undo-history.service.js +8 -5
  132. package/dist/plugins/spaces-home-control/services/space-undo-history.service.js.map +1 -1
  133. package/dist/tsconfig.build.tsbuildinfo +1 -1
  134. package/package.json +2 -2
@@ -0,0 +1,94 @@
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.UpdateRemoteAccessCloudflareTunnelPluginConfigDto = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const swagger_1 = require("@nestjs/swagger");
16
+ const transform_utils_1 = require("../../../common/utils/transform.utils");
17
+ const config_dto_1 = require("../../../modules/config/dto/config.dto");
18
+ const remote_access_cloudflare_tunnel_constants_1 = require("../remote-access-cloudflare-tunnel.constants");
19
+ let UpdateRemoteAccessCloudflareTunnelPluginConfigDto = class UpdateRemoteAccessCloudflareTunnelPluginConfigDto extends config_dto_1.UpdatePluginConfigDto {
20
+ constructor() {
21
+ super(...arguments);
22
+ this.type = remote_access_cloudflare_tunnel_constants_1.REMOTE_ACCESS_CLOUDFLARE_TUNNEL_PLUGIN_NAME;
23
+ }
24
+ };
25
+ exports.UpdateRemoteAccessCloudflareTunnelPluginConfigDto = UpdateRemoteAccessCloudflareTunnelPluginConfigDto;
26
+ __decorate([
27
+ (0, swagger_1.ApiProperty)({
28
+ description: 'Plugin type',
29
+ type: 'string',
30
+ example: remote_access_cloudflare_tunnel_constants_1.REMOTE_ACCESS_CLOUDFLARE_TUNNEL_PLUGIN_NAME,
31
+ }),
32
+ (0, class_transformer_1.Expose)(),
33
+ (0, class_validator_1.IsString)({ message: '[{"field":"type","reason":"Type must be a valid string."}]' }),
34
+ __metadata("design:type", String)
35
+ ], UpdateRemoteAccessCloudflareTunnelPluginConfigDto.prototype, "type", void 0);
36
+ __decorate([
37
+ (0, swagger_1.ApiPropertyOptional)({
38
+ description: 'Enable or disable the plugin',
39
+ type: 'boolean',
40
+ example: true,
41
+ }),
42
+ (0, class_transformer_1.Expose)(),
43
+ (0, class_transformer_1.Transform)(({ value }) => (value === null ? undefined : value)),
44
+ (0, class_validator_1.IsOptional)(),
45
+ (0, class_validator_1.IsBoolean)({ message: '[{"field":"enabled","reason":"Enabled must be a boolean."}]' }),
46
+ __metadata("design:type", Boolean)
47
+ ], UpdateRemoteAccessCloudflareTunnelPluginConfigDto.prototype, "enabled", void 0);
48
+ __decorate([
49
+ (0, swagger_1.ApiPropertyOptional)({
50
+ name: 'public_hostname',
51
+ description: 'Replacement public hostname, e.g. panel.example.com. Hostname only — no scheme or path. Omit to preserve the stored value or send null to clear it.',
52
+ type: 'string',
53
+ nullable: true,
54
+ }),
55
+ (0, class_transformer_1.Expose)({ name: 'public_hostname' }),
56
+ (0, class_validator_1.IsOptional)(),
57
+ (0, class_validator_1.ValidateIf)((dto) => dto.publicHostname !== null),
58
+ (0, class_validator_1.IsFQDN)({}, {
59
+ message: '[{"field":"public_hostname","reason":"Public hostname must be a valid hostname, without a scheme or path."}]',
60
+ }),
61
+ __metadata("design:type", String)
62
+ ], UpdateRemoteAccessCloudflareTunnelPluginConfigDto.prototype, "publicHostname", void 0);
63
+ __decorate([
64
+ (0, swagger_1.ApiPropertyOptional)({
65
+ description: 'Protocol cloudflared uses to connect to the Cloudflare edge',
66
+ enum: remote_access_cloudflare_tunnel_constants_1.CLOUDFLARE_TUNNEL_PROTOCOLS,
67
+ example: 'auto',
68
+ }),
69
+ (0, class_transformer_1.Expose)(),
70
+ (0, class_validator_1.IsOptional)(),
71
+ (0, class_validator_1.IsEnum)(remote_access_cloudflare_tunnel_constants_1.CLOUDFLARE_TUNNEL_PROTOCOLS, {
72
+ message: '[{"field":"protocol","reason":"Protocol must be one of auto, http2, quic."}]',
73
+ }),
74
+ __metadata("design:type", String)
75
+ ], UpdateRemoteAccessCloudflareTunnelPluginConfigDto.prototype, "protocol", void 0);
76
+ __decorate([
77
+ (0, swagger_1.ApiPropertyOptional)({
78
+ name: 'tunnel_token',
79
+ description: 'Replacement tunnel token from the Cloudflare Zero Trust dashboard. Omit to preserve the stored token or send null to clear it.',
80
+ type: 'string',
81
+ nullable: true,
82
+ }),
83
+ (0, class_transformer_1.Expose)({ name: 'tunnel_token' }),
84
+ (0, class_transformer_1.Transform)(({ obj }) => (0, transform_utils_1.readSubmittedValue)(obj, 'tunnel_token', 'tunnelToken'), {
85
+ toClassOnly: true,
86
+ }),
87
+ (0, class_validator_1.IsOptional)(),
88
+ (0, class_validator_1.IsString)({ message: '[{"field":"tunnel_token","reason":"Tunnel token must be a string."}]' }),
89
+ __metadata("design:type", String)
90
+ ], UpdateRemoteAccessCloudflareTunnelPluginConfigDto.prototype, "tunnelToken", void 0);
91
+ exports.UpdateRemoteAccessCloudflareTunnelPluginConfigDto = UpdateRemoteAccessCloudflareTunnelPluginConfigDto = __decorate([
92
+ (0, swagger_1.ApiSchema)({ name: 'RemoteAccessCloudflareTunnelPluginUpdateConfig' })
93
+ ], UpdateRemoteAccessCloudflareTunnelPluginConfigDto);
94
+ //# sourceMappingURL=update-config.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-config.dto.js","sourceRoot":"","sources":["../../../../src/plugins/remote-access-cloudflare-tunnel/dto/update-config.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAsD;AACtD,qDAA8F;AAE9F,6CAA8E;AAE9E,2EAA2E;AAC3E,uEAA+E;AAC/E,4GAIsD;AAG/C,IAAM,iDAAiD,GAAvD,MAAM,iDAAkD,SAAQ,kCAAqB;IAArF;;QAQN,SAAI,GAAW,uFAA2C,CAAC;IA0D5D,CAAC;CAAA,CAAA;AAlEY,8GAAiD;AAQ7D;IAPC,IAAA,qBAAW,EAAC;QACZ,WAAW,EAAE,aAAa;QAC1B,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,uFAA2C;KACpD,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,4DAA4D,EAAE,CAAC;;+EACzB;AAW3D;IATC,IAAA,6BAAmB,EAAC;QACpB,WAAW,EAAE,8BAA8B;QAC3C,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI;KACb,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAsB,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAClF,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,EAAC,EAAE,OAAO,EAAE,6DAA6D,EAAE,CAAC;;kFACpE;AAmBlB;IAjBC,IAAA,6BAAmB,EAAC;QACpB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACV,qJAAqJ;QACtJ,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;KACd,CAAC;IACD,IAAA,0BAAM,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;IACnC,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,EAAC,CAAC,GAAsD,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC;IACnG,IAAA,wBAAM,EACN,EAAE,EACF;QACC,OAAO,EACN,8GAA8G;KAC/G,CACD;;yFAC8B;AAY/B;IAVC,IAAA,6BAAmB,EAAC;QACpB,WAAW,EAAE,6DAA6D;QAC1E,IAAI,EAAE,uEAA2B;QACjC,OAAO,EAAE,MAAM;KACf,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,uEAA2B,EAAE;QACpC,OAAO,EAAE,8EAA8E;KACvF,CAAC;;mFACkC;AAepC;IAbC,IAAA,6BAAmB,EAAC;QACpB,IAAI,EAAE,cAAc;QACpB,WAAW,EACV,gIAAgI;QACjI,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;KACd,CAAC;IACD,IAAA,0BAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;IAChC,IAAA,6BAAS,EAAC,CAAC,EAAE,GAAG,EAAoB,EAAE,EAAE,CAAC,IAAA,oCAAkB,EAAS,GAAG,EAAE,cAAc,EAAE,aAAa,CAAC,EAAE;QACzG,WAAW,EAAE,IAAI;KACjB,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,sEAAsE,EAAE,CAAC;;sFAClE;4DAjEhB,iDAAiD;IAD7D,IAAA,mBAAS,EAAC,EAAE,IAAI,EAAE,gDAAgD,EAAE,CAAC;GACzD,iDAAiD,CAkE7D"}
@@ -0,0 +1,9 @@
1
+ import { PluginConfigModel } from '../../../modules/config/models/config.model';
2
+ import { CloudflareTunnelProtocol } from '../remote-access-cloudflare-tunnel.constants';
3
+ export declare class RemoteAccessCloudflareTunnelPluginConfigModel extends PluginConfigModel {
4
+ type: string;
5
+ publicHostname: string | null;
6
+ protocol: CloudflareTunnelProtocol;
7
+ tunnelToken: string | null;
8
+ tunnelTokenConfigured?: boolean;
9
+ }
@@ -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.RemoteAccessCloudflareTunnelPluginConfigModel = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const swagger_1 = require("@nestjs/swagger");
16
+ const config_model_1 = require("../../../modules/config/models/config.model");
17
+ const remote_access_cloudflare_tunnel_constants_1 = require("../remote-access-cloudflare-tunnel.constants");
18
+ let RemoteAccessCloudflareTunnelPluginConfigModel = class RemoteAccessCloudflareTunnelPluginConfigModel extends config_model_1.PluginConfigModel {
19
+ constructor() {
20
+ super(...arguments);
21
+ this.type = remote_access_cloudflare_tunnel_constants_1.REMOTE_ACCESS_CLOUDFLARE_TUNNEL_PLUGIN_NAME;
22
+ this.publicHostname = null;
23
+ this.protocol = remote_access_cloudflare_tunnel_constants_1.CLOUDFLARE_TUNNEL_DEFAULT_PROTOCOL;
24
+ this.tunnelToken = null;
25
+ }
26
+ };
27
+ exports.RemoteAccessCloudflareTunnelPluginConfigModel = RemoteAccessCloudflareTunnelPluginConfigModel;
28
+ __decorate([
29
+ (0, swagger_1.ApiProperty)({
30
+ description: 'Plugin type',
31
+ type: 'string',
32
+ example: remote_access_cloudflare_tunnel_constants_1.REMOTE_ACCESS_CLOUDFLARE_TUNNEL_PLUGIN_NAME,
33
+ }),
34
+ (0, class_transformer_1.Expose)(),
35
+ (0, class_validator_1.IsString)(),
36
+ __metadata("design:type", String)
37
+ ], RemoteAccessCloudflareTunnelPluginConfigModel.prototype, "type", void 0);
38
+ __decorate([
39
+ (0, swagger_1.ApiProperty)({
40
+ name: 'public_hostname',
41
+ description: 'Public hostname the tunnel publishes, e.g. panel.example.com. Hostname only — no scheme or path.',
42
+ type: 'string',
43
+ nullable: true,
44
+ example: 'panel.example.com',
45
+ }),
46
+ (0, class_transformer_1.Expose)({ name: 'public_hostname' }),
47
+ (0, class_validator_1.ValidateIf)((config) => config.publicHostname !== null),
48
+ (0, class_validator_1.IsFQDN)({}, {
49
+ message: '[{"field":"public_hostname","reason":"Public hostname must be a valid hostname, without a scheme or path."}]',
50
+ }),
51
+ __metadata("design:type", String)
52
+ ], RemoteAccessCloudflareTunnelPluginConfigModel.prototype, "publicHostname", void 0);
53
+ __decorate([
54
+ (0, swagger_1.ApiProperty)({
55
+ description: 'Protocol cloudflared uses to connect to the Cloudflare edge',
56
+ enum: remote_access_cloudflare_tunnel_constants_1.CLOUDFLARE_TUNNEL_PROTOCOLS,
57
+ example: remote_access_cloudflare_tunnel_constants_1.CLOUDFLARE_TUNNEL_DEFAULT_PROTOCOL,
58
+ }),
59
+ (0, class_transformer_1.Expose)(),
60
+ (0, class_validator_1.IsEnum)(remote_access_cloudflare_tunnel_constants_1.CLOUDFLARE_TUNNEL_PROTOCOLS),
61
+ __metadata("design:type", String)
62
+ ], RemoteAccessCloudflareTunnelPluginConfigModel.prototype, "protocol", void 0);
63
+ __decorate([
64
+ (0, swagger_1.ApiPropertyOptional)({
65
+ name: 'tunnel_token',
66
+ description: 'Tunnel token from the Cloudflare Zero Trust dashboard. This value is accepted on write and never returned.',
67
+ type: 'string',
68
+ nullable: true,
69
+ writeOnly: true,
70
+ }),
71
+ (0, class_transformer_1.Expose)({ name: 'tunnel_token' }),
72
+ (0, class_validator_1.ValidateIf)((config) => config.tunnelToken !== null),
73
+ (0, class_validator_1.IsNotEmpty)(),
74
+ (0, class_validator_1.IsString)(),
75
+ __metadata("design:type", String)
76
+ ], RemoteAccessCloudflareTunnelPluginConfigModel.prototype, "tunnelToken", void 0);
77
+ __decorate([
78
+ (0, swagger_1.ApiProperty)({
79
+ name: 'tunnel_token_configured',
80
+ description: 'Whether a tunnel token is configured',
81
+ type: 'boolean',
82
+ example: false,
83
+ }),
84
+ (0, class_transformer_1.Expose)({ name: 'tunnel_token_configured' }),
85
+ (0, class_validator_1.IsOptional)(),
86
+ (0, class_validator_1.IsBoolean)(),
87
+ __metadata("design:type", Boolean)
88
+ ], RemoteAccessCloudflareTunnelPluginConfigModel.prototype, "tunnelTokenConfigured", void 0);
89
+ exports.RemoteAccessCloudflareTunnelPluginConfigModel = RemoteAccessCloudflareTunnelPluginConfigModel = __decorate([
90
+ (0, swagger_1.ApiSchema)({ name: 'RemoteAccessCloudflareTunnelPluginDataConfig' })
91
+ ], RemoteAccessCloudflareTunnelPluginConfigModel);
92
+ //# sourceMappingURL=config.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.model.js","sourceRoot":"","sources":["../../../../src/plugins/remote-access-cloudflare-tunnel/models/config.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA2C;AAC3C,qDAA0G;AAE1G,6CAA8E;AAE9E,8EAAgF;AAChF,4GAKsD;AAG/C,IAAM,6CAA6C,GAAnD,MAAM,6CAA8C,SAAQ,gCAAiB;IAA7E;;QAQN,SAAI,GAAW,uFAA2C,CAAC;QAkB3D,mBAAc,GAAkB,IAAI,CAAC;QASrC,aAAQ,GAA6B,8EAAkC,CAAC;QAcxE,gBAAW,GAAkB,IAAI,CAAC;IAYnC,CAAC;CAAA,CAAA;AA7DY,sGAA6C;AAQzD;IAPC,IAAA,qBAAW,EAAC;QACZ,WAAW,EAAE,aAAa;QAC1B,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,uFAA2C;KACpD,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;2EACgD;AAkB3D;IAhBC,IAAA,qBAAW,EAAC;QACZ,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,kGAAkG;QAC/G,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,mBAAmB;KAC5B,CAAC;IACD,IAAA,0BAAM,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;IACnC,IAAA,4BAAU,EAAC,CAAC,MAAqD,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,KAAK,IAAI,CAAC;IACrG,IAAA,wBAAM,EACN,EAAE,EACF;QACC,OAAO,EACN,8GAA8G;KAC/G,CACD;;qFACoC;AASrC;IAPC,IAAA,qBAAW,EAAC;QACZ,WAAW,EAAE,6DAA6D;QAC1E,IAAI,EAAE,uEAA2B;QACjC,OAAO,EAAE,8EAAkC;KAC3C,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,wBAAM,EAAC,uEAA2B,CAAC;;+EACoC;AAcxE;IAZC,IAAA,6BAAmB,EAAC;QACpB,IAAI,EAAE,cAAc;QACpB,WAAW,EACV,4GAA4G;QAC7G,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;KACf,CAAC;IACD,IAAA,0BAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;IAChC,IAAA,4BAAU,EAAC,CAAC,MAAqD,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC;IAClG,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;kFACuB;AAWlC;IATC,IAAA,qBAAW,EAAC;QACZ,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,sCAAsC;QACnD,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;KACd,CAAC;IACD,IAAA,0BAAM,EAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC;IAC3C,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;4FACoB;wDA5DpB,6CAA6C;IADzD,IAAA,mBAAS,EAAC,EAAE,IAAI,EAAE,8CAA8C,EAAE,CAAC;GACvD,6CAA6C,CA6DzD"}
@@ -0,0 +1,7 @@
1
+ import { BaseSuccessResponseModel } from '../../../modules/api/models/api-response.model';
2
+ export declare class RemoteAccessCloudflareTunnelPluginInstallModel {
3
+ job: string;
4
+ }
5
+ export declare class RemoteAccessCloudflareTunnelPluginInstallResponseModel extends BaseSuccessResponseModel<RemoteAccessCloudflareTunnelPluginInstallModel> {
6
+ data: RemoteAccessCloudflareTunnelPluginInstallModel;
7
+ }
@@ -0,0 +1,48 @@
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.RemoteAccessCloudflareTunnelPluginInstallResponseModel = exports.RemoteAccessCloudflareTunnelPluginInstallModel = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const swagger_1 = require("@nestjs/swagger");
16
+ const api_response_model_1 = require("../../../modules/api/models/api-response.model");
17
+ let RemoteAccessCloudflareTunnelPluginInstallModel = class RemoteAccessCloudflareTunnelPluginInstallModel {
18
+ };
19
+ exports.RemoteAccessCloudflareTunnelPluginInstallModel = RemoteAccessCloudflareTunnelPluginInstallModel;
20
+ __decorate([
21
+ (0, swagger_1.ApiProperty)({
22
+ description: 'Privileged setup job id, matching the `job` field of RemoteAccessModule.Setup.Progress events',
23
+ type: 'string',
24
+ format: 'uuid',
25
+ example: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
26
+ }),
27
+ (0, class_transformer_1.Expose)(),
28
+ (0, class_validator_1.IsString)(),
29
+ __metadata("design:type", String)
30
+ ], RemoteAccessCloudflareTunnelPluginInstallModel.prototype, "job", void 0);
31
+ exports.RemoteAccessCloudflareTunnelPluginInstallModel = RemoteAccessCloudflareTunnelPluginInstallModel = __decorate([
32
+ (0, swagger_1.ApiSchema)({ name: 'RemoteAccessCloudflareTunnelPluginDataInstall' })
33
+ ], RemoteAccessCloudflareTunnelPluginInstallModel);
34
+ let RemoteAccessCloudflareTunnelPluginInstallResponseModel = class RemoteAccessCloudflareTunnelPluginInstallResponseModel extends api_response_model_1.BaseSuccessResponseModel {
35
+ };
36
+ exports.RemoteAccessCloudflareTunnelPluginInstallResponseModel = RemoteAccessCloudflareTunnelPluginInstallResponseModel;
37
+ __decorate([
38
+ (0, swagger_1.ApiProperty)({
39
+ description: 'The actual data payload returned by the API',
40
+ type: () => RemoteAccessCloudflareTunnelPluginInstallModel,
41
+ }),
42
+ (0, class_transformer_1.Expose)(),
43
+ __metadata("design:type", RemoteAccessCloudflareTunnelPluginInstallModel)
44
+ ], RemoteAccessCloudflareTunnelPluginInstallResponseModel.prototype, "data", void 0);
45
+ exports.RemoteAccessCloudflareTunnelPluginInstallResponseModel = RemoteAccessCloudflareTunnelPluginInstallResponseModel = __decorate([
46
+ (0, swagger_1.ApiSchema)({ name: 'RemoteAccessCloudflareTunnelPluginResInstall' })
47
+ ], RemoteAccessCloudflareTunnelPluginInstallResponseModel);
48
+ //# sourceMappingURL=install.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.model.js","sourceRoot":"","sources":["../../../../src/plugins/remote-access-cloudflare-tunnel/models/install.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA2C;AAC3C,qDAA2C;AAE3C,6CAAyD;AAEzD,uFAA0F;AASnF,IAAM,8CAA8C,GAApD,MAAM,8CAA8C;CAU1D,CAAA;AAVY,wGAA8C;AAS1D;IARC,IAAA,qBAAW,EAAC;QACZ,WAAW,EAAE,+FAA+F;QAC5G,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,sCAAsC;KAC/C,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;2EACC;yDATA,8CAA8C;IAD1D,IAAA,mBAAS,EAAC,EAAE,IAAI,EAAE,+CAA+C,EAAE,CAAC;GACxD,8CAA8C,CAU1D;AAMM,IAAM,sDAAsD,GAA5D,MAAM,sDAAuD,SAAQ,6CAAwE;CAOnJ,CAAA;AAPY,wHAAsD;AAM1D;IALP,IAAA,qBAAW,EAAC;QACZ,WAAW,EAAE,6CAA6C;QAC1D,IAAI,EAAE,GAAG,EAAE,CAAC,8CAA8C;KAC1D,CAAC;IACD,IAAA,0BAAM,GAAE;8BACK,8CAA8C;oFAAC;iEANjD,sDAAsD;IADlE,IAAA,mBAAS,EAAC,EAAE,IAAI,EAAE,8CAA8C,EAAE,CAAC;GACvD,sDAAsD,CAOlE"}
@@ -0,0 +1,42 @@
1
+ import { BaseSuccessResponseModel } from '../../../modules/api/models/api-response.model';
2
+ import { RemoteAccessAdvisoryModel, RemoteAccessEndpointModel } from '../../../modules/remote-access/models/provider.model';
3
+ import { RemoteAccessProviderState } from '../../../modules/remote-access/platforms/remote-access-provider.platform';
4
+ import { PrivilegedJobStatus } from '../../../modules/system/services/privileged-worker.service';
5
+ import { CloudflareTunnelRequirementCode } from '../services/cloudflare-tunnel-managed.service';
6
+ export declare class RemoteAccessCloudflareTunnelPluginRequirementRemedyModel {
7
+ commands: string[];
8
+ note: string | null;
9
+ }
10
+ export declare class RemoteAccessCloudflareTunnelPluginRequirementModel {
11
+ code: CloudflareTunnelRequirementCode;
12
+ satisfied: boolean;
13
+ message: string;
14
+ remedy: RemoteAccessCloudflareTunnelPluginRequirementRemedyModel | null;
15
+ }
16
+ export declare class RemoteAccessCloudflareTunnelPluginSetupJobModel {
17
+ jobId: string;
18
+ state: PrivilegedJobStatus['state'];
19
+ step: string | null;
20
+ message: string | null;
21
+ updatedAt: string;
22
+ }
23
+ export declare class RemoteAccessCloudflareTunnelPluginPrivilegedSetupModel {
24
+ available: boolean;
25
+ reason: string | null;
26
+ }
27
+ export declare class RemoteAccessCloudflareTunnelPluginStatusModel {
28
+ type: string;
29
+ state: RemoteAccessProviderState;
30
+ endpoints: RemoteAccessEndpointModel[];
31
+ message?: string | null;
32
+ details: Record<string, string | number | boolean | null>;
33
+ proxyAddresses: string[];
34
+ advisories: RemoteAccessAdvisoryModel[];
35
+ updatedAt: string;
36
+ requirements: RemoteAccessCloudflareTunnelPluginRequirementModel[];
37
+ setup: RemoteAccessCloudflareTunnelPluginSetupJobModel | null;
38
+ privilegedSetup: RemoteAccessCloudflareTunnelPluginPrivilegedSetupModel;
39
+ }
40
+ export declare class RemoteAccessCloudflareTunnelPluginStatusResponseModel extends BaseSuccessResponseModel<RemoteAccessCloudflareTunnelPluginStatusModel> {
41
+ data: RemoteAccessCloudflareTunnelPluginStatusModel;
42
+ }