@theotherwillembotha/node-red-plugincore 0.1.0 → 0.3.0

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 (167) hide show
  1. package/README.md +616 -220
  2. package/build/GenerateNodes.js +9 -33
  3. package/build/Nodes.html +2 -1505
  4. package/build/Nodes.js +5 -19
  5. package/build/Plugins.html +11 -0
  6. package/build/Plugins.js +17 -12
  7. package/build/core/NodeConstructor.d.ts +12 -16
  8. package/build/core/NodeConstructor.d.ts.map +1 -1
  9. package/build/core/NodeConstructor.js +125 -185
  10. package/build/core/NodeGenerator.d.ts +3 -1
  11. package/build/core/NodeGenerator.d.ts.map +1 -1
  12. package/build/core/NodeGenerator.js +139 -43
  13. package/build/core/NodeManagerRuntime.d.ts +44 -0
  14. package/build/core/NodeManagerRuntime.d.ts.map +1 -0
  15. package/build/core/NodeManagerRuntime.js +140 -0
  16. package/build/core/Utils.d.ts.map +1 -1
  17. package/build/core/logger/service/LoggerService.d.ts +8 -6
  18. package/build/core/logger/service/LoggerService.d.ts.map +1 -1
  19. package/build/core/logger/service/LoggerService.js +101 -23
  20. package/build/core/logger/template/LoggerTemplate.d.ts +1 -2
  21. package/build/core/logger/template/LoggerTemplate.d.ts.map +1 -1
  22. package/build/core/logger/template/LoggerTemplate.js +18 -5
  23. package/build/core/metrics/MetricsDecorator.d.ts +1 -2
  24. package/build/core/metrics/MetricsDecorator.d.ts.map +1 -1
  25. package/build/core/metrics/MetricsDecorator.js +89 -116
  26. package/build/core/metrics/node/CounterMetricConfigNode.d.ts.map +1 -1
  27. package/build/core/metrics/node/CounterMetricConfigNode.js +4 -5
  28. package/build/core/metrics/node/GaugeMetricConfigNode.d.ts.map +1 -1
  29. package/build/core/metrics/node/GaugeMetricConfigNode.js +5 -6
  30. package/build/core/metrics/node/MetricsConfigNode.d.ts +19 -9
  31. package/build/core/metrics/node/MetricsConfigNode.d.ts.map +1 -1
  32. package/build/core/metrics/node/MetricsConfigNode.js +14 -45
  33. package/build/core/metrics/node/TimerMetricConfigNode.d.ts.map +1 -1
  34. package/build/core/metrics/node/TimerMetricConfigNode.js +11 -17
  35. package/build/core/metrics/service/MetricsService.d.ts +110 -114
  36. package/build/core/metrics/service/MetricsService.d.ts.map +1 -1
  37. package/build/core/metrics/service/MetricsService.js +122 -339
  38. package/build/core/metrics/template/CounterMetricTemplate.d.ts +1 -2
  39. package/build/core/metrics/template/CounterMetricTemplate.d.ts.map +1 -1
  40. package/build/core/metrics/template/CounterMetricTemplate.js +16 -5
  41. package/build/core/metrics/template/GaugeMetricTemplate.d.ts +1 -2
  42. package/build/core/metrics/template/GaugeMetricTemplate.d.ts.map +1 -1
  43. package/build/core/metrics/template/GaugeMetricTemplate.js +16 -5
  44. package/build/core/metrics/template/MetricsTemplate.d.ts +1 -2
  45. package/build/core/metrics/template/MetricsTemplate.d.ts.map +1 -1
  46. package/build/core/metrics/template/MetricsTemplate.js +18 -6
  47. package/build/core/metrics/template/TimerMetricTemplate.d.ts +1 -2
  48. package/build/core/metrics/template/TimerMetricTemplate.d.ts.map +1 -1
  49. package/build/core/metrics/template/TimerMetricTemplate.js +16 -5
  50. package/build/core/other/node/DelegatedConfigReferenceNode.d.ts +1 -1
  51. package/build/core/other/node/DelegatedConfigReferenceNode.d.ts.map +1 -1
  52. package/build/core/other/node/DelegatedConfigReferenceNode.js +1 -1
  53. package/build/core/other/service/InputService.d.ts.map +1 -1
  54. package/build/core/other/service/SettingsService.d.ts +1 -2
  55. package/build/core/other/service/SettingsService.d.ts.map +1 -1
  56. package/build/core/other/service/SettingsService.js +19 -5
  57. package/build/core/other/template/BasicTemplate.d.ts +1 -2
  58. package/build/core/other/template/BasicTemplate.d.ts.map +1 -1
  59. package/build/core/other/template/BasicTemplate.js +15 -5
  60. package/build/core/other/template/SettingsTemplate.d.ts +1 -2
  61. package/build/core/other/template/SettingsTemplate.d.ts.map +1 -1
  62. package/build/core/other/template/SettingsTemplate.js +17 -5
  63. package/build/core/state/node/InternalStateConfigNode.d.ts +16 -0
  64. package/build/core/state/node/InternalStateConfigNode.d.ts.map +1 -0
  65. package/build/core/state/node/InternalStateConfigNode.js +89 -0
  66. package/build/core/state/node/StateConfigNode.d.ts +24 -0
  67. package/build/core/state/node/StateConfigNode.d.ts.map +1 -0
  68. package/build/core/state/node/StateConfigNode.js +22 -0
  69. package/build/core/state/service/StateService.d.ts +34 -0
  70. package/build/core/state/service/StateService.d.ts.map +1 -0
  71. package/build/core/state/service/StateService.js +201 -0
  72. package/build/core/state/template/StateTemplate.d.ts +7 -0
  73. package/build/core/state/template/StateTemplate.d.ts.map +1 -0
  74. package/build/core/state/template/StateTemplate.js +25 -0
  75. package/build/core/tagging/ServiceDescriptionDecorator.d.ts +10 -0
  76. package/build/core/tagging/ServiceDescriptionDecorator.d.ts.map +1 -0
  77. package/build/core/tagging/ServiceDescriptionDecorator.js +10 -0
  78. package/build/core/tagging/TemplateDescriptionDecorator.d.ts +8 -0
  79. package/build/core/tagging/TemplateDescriptionDecorator.d.ts.map +1 -0
  80. package/build/core/tagging/TemplateDescriptionDecorator.js +10 -0
  81. package/build/core/tagging/service/NodeTypeService.d.ts +1 -2
  82. package/build/core/tagging/service/NodeTypeService.d.ts.map +1 -1
  83. package/build/core/tagging/service/NodeTypeService.js +19 -5
  84. package/build/core/ui/template/ScriptEditorTemplate.d.ts +1 -2
  85. package/build/core/ui/template/ScriptEditorTemplate.d.ts.map +1 -1
  86. package/build/core/ui/template/ScriptEditorTemplate.js +15 -5
  87. package/build/core/ui/template/UIHelperTemplate.d.ts +1 -2
  88. package/build/core/ui/template/UIHelperTemplate.d.ts.map +1 -1
  89. package/build/core/ui/template/UIHelperTemplate.js +15 -5
  90. package/build/core/webhook/node/WebhookServerConfigNode.d.ts.map +1 -1
  91. package/build/core/webhook/service/ReverseProxyTypeService.d.ts.map +1 -1
  92. package/build/core/webhook/service/WebhookServerService.d.ts +3 -4
  93. package/build/core/webhook/service/WebhookServerService.d.ts.map +1 -1
  94. package/build/core/webhook/service/WebhookServerService.js +48 -18
  95. package/build/core/webhook/template/WebhookTemplate.d.ts +1 -2
  96. package/build/core/webhook/template/WebhookTemplate.d.ts.map +1 -1
  97. package/build/core/webhook/template/WebhookTemplate.js +19 -6
  98. package/build/index.d.ts +6 -2
  99. package/build/index.d.ts.map +1 -1
  100. package/build/index.js +7 -2
  101. package/build/runtime/NodeManagerRuntime.js +140 -0
  102. package/documentation/CounterMetricConfigNode.png +0 -0
  103. package/documentation/GaugeMetricConfigNode.png +0 -0
  104. package/documentation/LoggerTemplate.png +0 -0
  105. package/documentation/MetricsTemplate.png +0 -0
  106. package/documentation/StateTemplate.png +0 -0
  107. package/documentation/TimerMetricConfigNode_histogram.png +0 -0
  108. package/documentation/TimerMetricConfigNode_summary.png +0 -0
  109. package/documentation/WebhookServerConfigNode.png +0 -0
  110. package/documentation/WebhookTemplate.png +0 -0
  111. package/package.json +4 -11
  112. package/src/GenerateNodes.ts +10 -40
  113. package/src/core/NodeConstructor.ts +150 -228
  114. package/src/core/NodeGenerator.ts +156 -47
  115. package/src/core/NodeManagerRuntime.ts +179 -0
  116. package/src/core/logger/service/LoggerService.ts +60 -32
  117. package/src/core/logger/template/LoggerTemplate.html +11 -6
  118. package/src/core/logger/template/LoggerTemplate.ts +9 -11
  119. package/src/core/metrics/MetricsDecorator.ts +140 -168
  120. package/src/core/metrics/node/CounterMetricConfigNode.ts +20 -20
  121. package/src/core/metrics/node/GaugeMetricConfigNode.ts +24 -25
  122. package/src/core/metrics/node/MetricsConfigNode.ts +29 -48
  123. package/src/core/metrics/node/TimerMetricConfigNode.ts +50 -59
  124. package/src/core/metrics/service/MetricsService.ts +214 -489
  125. package/src/core/metrics/template/CounterMetricTemplate.html +0 -1
  126. package/src/core/metrics/template/CounterMetricTemplate.ts +8 -11
  127. package/src/core/metrics/template/GaugeMetricTemplate.html +1 -1
  128. package/src/core/metrics/template/GaugeMetricTemplate.ts +8 -11
  129. package/src/core/metrics/template/MetricsTemplate.html +132 -13
  130. package/src/core/metrics/template/MetricsTemplate.ts +9 -10
  131. package/src/core/metrics/template/TimerMetricTemplate.ts +8 -10
  132. package/src/core/other/node/DelegatedConfigReferenceNode.ts +1 -1
  133. package/src/core/other/service/SettingsService.ts +6 -10
  134. package/src/core/other/template/BasicTemplate.html +1 -1
  135. package/src/core/other/template/BasicTemplate.ts +6 -11
  136. package/src/core/other/template/SettingsTemplate.ts +8 -13
  137. package/src/core/state/node/InternalStateConfigNode.html +77 -0
  138. package/src/core/state/node/InternalStateConfigNode.ts +102 -0
  139. package/src/core/state/node/StateConfigNode.ts +29 -0
  140. package/src/core/state/service/StateService.ts +180 -0
  141. package/src/core/state/template/StateTemplate.html +244 -0
  142. package/src/core/state/template/StateTemplate.ts +18 -0
  143. package/src/core/tagging/ServiceDescriptionDecorator.ts +23 -0
  144. package/src/core/tagging/TemplateDescriptionDecorator.ts +19 -0
  145. package/src/core/tagging/service/NodeTypeService.ts +6 -11
  146. package/src/core/ui/template/ScriptEditorTemplate.ts +6 -10
  147. package/src/core/ui/template/UIHelperTemplate.html +41 -26
  148. package/src/core/ui/template/UIHelperTemplate.ts +6 -10
  149. package/src/core/webhook/service/WebhookServerService.ts +39 -23
  150. package/src/core/webhook/template/WebhookTemplate.html +28 -35
  151. package/src/core/webhook/template/WebhookTemplate.ts +10 -12
  152. package/src/index.ts +8 -2
  153. package/build/core/logger/node/ConsoleLoggerConfigNode.d.ts +0 -20
  154. package/build/core/logger/node/ConsoleLoggerConfigNode.d.ts.map +0 -1
  155. package/build/core/logger/node/ConsoleLoggerConfigNode.js +0 -62
  156. package/build/core/logger/node/RestLoggerConfigNode.d.ts +0 -40
  157. package/build/core/logger/node/RestLoggerConfigNode.d.ts.map +0 -1
  158. package/build/core/logger/node/RestLoggerConfigNode.js +0 -128
  159. package/documentation/ConsoleLoggerConfigNode.png +0 -0
  160. package/documentation/MetricsConfigNode.png +0 -0
  161. package/documentation/RestLoggerConfigNode.png +0 -0
  162. package/documentation/TimerMetricConfigNode.png +0 -0
  163. package/documentation/WebhookNode.png +0 -0
  164. package/src/core/logger/node/ConsoleLoggerConfigNode.html +0 -90
  165. package/src/core/logger/node/ConsoleLoggerConfigNode.ts +0 -71
  166. package/src/core/logger/node/RestLoggerConfigNode.html +0 -183
  167. package/src/core/logger/node/RestLoggerConfigNode.ts +0 -170
@@ -0,0 +1,25 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.StateTemplate = void 0;
10
+ const NodeGenerator_1 = require("../../NodeGenerator");
11
+ const NodeConstructor_1 = require("../../NodeConstructor");
12
+ const TemplateDescriptionDecorator_1 = require("../../tagging/TemplateDescriptionDecorator");
13
+ const DelegatedConfigReferenceNode_1 = require("../../other/node/DelegatedConfigReferenceNode");
14
+ const InternalStateConfigNode_1 = require("../node/InternalStateConfigNode");
15
+ const StateService_1 = require("../service/StateService");
16
+ let StateTemplate = class StateTemplate extends NodeConstructor_1.Template {
17
+ };
18
+ exports.StateTemplate = StateTemplate;
19
+ exports.StateTemplate = StateTemplate = __decorate([
20
+ (0, TemplateDescriptionDecorator_1.TemplateDescription)({
21
+ name: "state",
22
+ templateFile: NodeGenerator_1.SourceUtility.getSourcePath("/build/", "/src/") + "StateTemplate.html",
23
+ dependencies: [DelegatedConfigReferenceNode_1.DelegatedConfigReferenceNode, InternalStateConfigNode_1.InternalStateConfigNode, StateService_1.StateService],
24
+ })
25
+ ], StateTemplate);
@@ -0,0 +1,10 @@
1
+ import { DependencyType } from "../NodeConstructor";
2
+ export type ServiceDescriptionConfig = {
3
+ id: string;
4
+ sourceFile: string;
5
+ type?: string;
6
+ name?: string;
7
+ dependencies?: DependencyType[];
8
+ };
9
+ export declare function ServiceDescription(config: ServiceDescriptionConfig): (target: any) => void;
10
+ //# sourceMappingURL=ServiceDescriptionDecorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceDescriptionDecorator.d.ts","sourceRoot":"","sources":["../../../src/core/tagging/ServiceDescriptionDecorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,oBAAoB,CAAC;AAEvE,MAAM,MAAM,wBAAwB,GAAG;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;CACnC,CAAA;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,wBAAwB,YACvC,GAAG,UAW9B"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ServiceDescription = ServiceDescription;
4
+ const NodeConstructor_1 = require("../NodeConstructor");
5
+ function ServiceDescription(config) {
6
+ return function (target) {
7
+ const descriptor = new NodeConstructor_1.ServiceDescriptor(config.id, config.name ?? target.name, config.type ?? "services-plugin", config.sourceFile, target, config.dependencies);
8
+ target.getServiceDescriptor = () => descriptor;
9
+ };
10
+ }
@@ -0,0 +1,8 @@
1
+ import { DependencyType } from "../NodeConstructor";
2
+ export type TemplateDescriptionConfig = {
3
+ name: string;
4
+ templateFile: string;
5
+ dependencies?: DependencyType[];
6
+ };
7
+ export declare function TemplateDescription(config: TemplateDescriptionConfig): (target: any) => void;
8
+ //# sourceMappingURL=TemplateDescriptionDecorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplateDescriptionDecorator.d.ts","sourceRoot":"","sources":["../../../src/core/tagging/TemplateDescriptionDecorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAsB,MAAM,oBAAoB,CAAC;AAExE,MAAM,MAAM,yBAAyB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;CACnC,CAAA;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,yBAAyB,YACzC,GAAG,UAS9B"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TemplateDescription = TemplateDescription;
4
+ const NodeConstructor_1 = require("../NodeConstructor");
5
+ function TemplateDescription(config) {
6
+ return function (target) {
7
+ const descriptor = new NodeConstructor_1.TemplateDescriptor(config.name, target, config.templateFile, config.dependencies ?? []);
8
+ target.getTemplateDescriptor = () => descriptor;
9
+ };
10
+ }
@@ -1,5 +1,5 @@
1
1
  import { INodeClass } from "../../NodeGenerator";
2
- import { BaseService, FlowDeployment, ServiceDescriptor } from "../../NodeConstructor";
2
+ import { BaseService, FlowDeployment } from "../../NodeConstructor";
3
3
  import { NodeAPI, NodeAPISettingsWithData } from "node-red";
4
4
  export declare class NodeTypeService extends BaseService {
5
5
  private red;
@@ -10,6 +10,5 @@ export declare class NodeTypeService extends BaseService {
10
10
  onDeploy(flowDeployment: FlowDeployment): void | Promise<void>;
11
11
  registerNodeType(tag: string, resource: INodeClass): Promise<void>;
12
12
  getNodeTypesForTag(tag: string): INodeClass[];
13
- static getServiceDescriptor(): ServiceDescriptor;
14
13
  }
15
14
  //# sourceMappingURL=NodeTypeService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeTypeService.d.ts","sourceRoot":"","sources":["../../../../src/core/tagging/service/NodeTypeService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAc,cAAc,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAG5D,qBAAa,eAAgB,SAAQ,WAAW;IAC5C,OAAO,CAAC,GAAG,CAAoC;IAC/C,OAAO,CAAC,SAAS,CAAkC;;IAM5C,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBjE,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D,gBAAgB,CAAC,GAAG,EAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IASjE,kBAAkB,CAAC,GAAG,EAAC,MAAM,GAAE,UAAU,EAAE;WAIlC,oBAAoB,IAAG,iBAAiB;CAU3D"}
1
+ {"version":3,"file":"NodeTypeService.d.ts","sourceRoot":"","sources":["../../../../src/core/tagging/service/NodeTypeService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAc,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAG5D,qBAIa,eAAgB,SAAQ,WAAW;IAC5C,OAAO,CAAC,GAAG,CAAoC;IAC/C,OAAO,CAAC,SAAS,CAAkC;IAEnD,cAEC;IAEM,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBvE;IAEM,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzE;IAEM,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE;IAEM,gBAAgB,CAAC,GAAG,EAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAOvE;IAEM,kBAAkB,CAAC,GAAG,EAAC,MAAM,GAAE,UAAU,EAAE,CAEjD;CAEJ"}
@@ -1,8 +1,18 @@
1
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
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.NodeTypeService = void 0;
4
13
  const NodeConstructor_1 = require("../../NodeConstructor");
5
- class NodeTypeService extends NodeConstructor_1.BaseService {
14
+ const ServiceDescriptionDecorator_1 = require("../ServiceDescriptionDecorator");
15
+ let NodeTypeService = class NodeTypeService extends NodeConstructor_1.BaseService {
6
16
  constructor() {
7
17
  super("nodetypes");
8
18
  this.nodeTypes = {};
@@ -40,8 +50,12 @@ class NodeTypeService extends NodeConstructor_1.BaseService {
40
50
  getNodeTypesForTag(tag) {
41
51
  return this.nodeTypes[tag] ? this.nodeTypes[tag] : [];
42
52
  }
43
- static getServiceDescriptor() {
44
- return new NodeConstructor_1.ServiceDescriptor("@theotherwillembotha/nodetypeservice", "NodeTypeService", "services-plugin", "@theotherwillembotha/node-red-plugincore", NodeTypeService, []);
45
- }
46
- }
53
+ };
47
54
  exports.NodeTypeService = NodeTypeService;
55
+ exports.NodeTypeService = NodeTypeService = __decorate([
56
+ (0, ServiceDescriptionDecorator_1.ServiceDescription)({
57
+ id: "@theotherwillembotha/nodetypeservice",
58
+ sourceFile: "@theotherwillembotha/node-red-plugincore"
59
+ }),
60
+ __metadata("design:paramtypes", [])
61
+ ], NodeTypeService);
@@ -1,5 +1,4 @@
1
- import { Template, TemplateDescriptor } from "../../NodeConstructor";
1
+ import { Template } from "../../NodeConstructor";
2
2
  export declare class ScriptEditorTemplate extends Template {
3
- static getTemplateDescriptor(): TemplateDescriptor;
4
3
  }
5
4
  //# sourceMappingURL=ScriptEditorTemplate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScriptEditorTemplate.d.ts","sourceRoot":"","sources":["../../../../src/core/ui/template/ScriptEditorTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAGpE,qBAAa,oBAAqB,SAAQ,QAAQ;WAEhC,qBAAqB,IAAI,kBAAkB;CAQ5D"}
1
+ {"version":3,"file":"ScriptEditorTemplate.d.ts","sourceRoot":"","sources":["../../../../src/core/ui/template/ScriptEditorTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAIhD,qBAIa,oBAAqB,SAAQ,QAAQ;CACjD"}
@@ -1,11 +1,21 @@
1
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
+ };
2
8
  Object.defineProperty(exports, "__esModule", { value: true });
3
9
  exports.ScriptEditorTemplate = void 0;
4
10
  const NodeConstructor_1 = require("../../NodeConstructor");
5
11
  const NodeGenerator_1 = require("../../NodeGenerator");
6
- class ScriptEditorTemplate extends NodeConstructor_1.Template {
7
- static getTemplateDescriptor() {
8
- return new NodeConstructor_1.TemplateDescriptor("script-editor", ScriptEditorTemplate, NodeGenerator_1.SourceUtility.getSourcePath("/build/", "/src/") + "ScriptEditorTemplate.html", []);
9
- }
10
- }
12
+ const TemplateDescriptionDecorator_1 = require("../../tagging/TemplateDescriptionDecorator");
13
+ let ScriptEditorTemplate = class ScriptEditorTemplate extends NodeConstructor_1.Template {
14
+ };
11
15
  exports.ScriptEditorTemplate = ScriptEditorTemplate;
16
+ exports.ScriptEditorTemplate = ScriptEditorTemplate = __decorate([
17
+ (0, TemplateDescriptionDecorator_1.TemplateDescription)({
18
+ name: "script-editor",
19
+ templateFile: NodeGenerator_1.SourceUtility.getSourcePath("/build/", "/src/") + "ScriptEditorTemplate.html",
20
+ })
21
+ ], ScriptEditorTemplate);
@@ -1,5 +1,4 @@
1
- import { Template, TemplateDescriptor } from "../../NodeConstructor";
1
+ import { Template } from "../../NodeConstructor";
2
2
  export declare class UIHelperTemplate extends Template {
3
- static getTemplateDescriptor(): TemplateDescriptor;
4
3
  }
5
4
  //# sourceMappingURL=UIHelperTemplate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UIHelperTemplate.d.ts","sourceRoot":"","sources":["../../../../src/core/ui/template/UIHelperTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAGpE,qBAAa,gBAAiB,SAAQ,QAAQ;WAE5B,qBAAqB,IAAI,kBAAkB;CAQ5D"}
1
+ {"version":3,"file":"UIHelperTemplate.d.ts","sourceRoot":"","sources":["../../../../src/core/ui/template/UIHelperTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAIhD,qBAIa,gBAAiB,SAAQ,QAAQ;CAC7C"}
@@ -1,11 +1,21 @@
1
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
+ };
2
8
  Object.defineProperty(exports, "__esModule", { value: true });
3
9
  exports.UIHelperTemplate = void 0;
4
10
  const NodeConstructor_1 = require("../../NodeConstructor");
5
11
  const NodeGenerator_1 = require("../../NodeGenerator");
6
- class UIHelperTemplate extends NodeConstructor_1.Template {
7
- static getTemplateDescriptor() {
8
- return new NodeConstructor_1.TemplateDescriptor("ui-helper", UIHelperTemplate, NodeGenerator_1.SourceUtility.getSourcePath("/build/", "/src/") + "UIHelperTemplate.html", []);
9
- }
10
- }
12
+ const TemplateDescriptionDecorator_1 = require("../../tagging/TemplateDescriptionDecorator");
13
+ let UIHelperTemplate = class UIHelperTemplate extends NodeConstructor_1.Template {
14
+ };
11
15
  exports.UIHelperTemplate = UIHelperTemplate;
16
+ exports.UIHelperTemplate = UIHelperTemplate = __decorate([
17
+ (0, TemplateDescriptionDecorator_1.TemplateDescription)({
18
+ name: "ui-helper",
19
+ templateFile: NodeGenerator_1.SourceUtility.getSourcePath("/build/", "/src/") + "UIHelperTemplate.html",
20
+ })
21
+ ], UIHelperTemplate);
@@ -1 +1 @@
1
- {"version":3,"file":"WebhookServerConfigNode.d.ts","sourceRoot":"","sources":["../../../../src/core/webhook/node/WebhookServerConfigNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAEpE,OAAO,EAAE,aAAa,EAAwB,MAAM,iCAAiC,CAAC;AAGtF,UAAU,6BAA8B,SAAQ,gBAAgB;IAC5D,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAC,MAAM,CAAC;IACpB,YAAY,EAAC,MAAM,CAAC;CACvB;AAED,qBASa,uBAAwB,SAAQ,UAAU,CAAC,6BAA6B,CAAC;IAClF,OAAO,CAAC,OAAO,CAAgB;gBAEnB,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,6BAA6B;IAQtD,MAAM,IAAG,aAAa;CAGhC"}
1
+ {"version":3,"file":"WebhookServerConfigNode.d.ts","sourceRoot":"","sources":["../../../../src/core/webhook/node/WebhookServerConfigNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAEpE,OAAO,EAAE,aAAa,EAAwB,MAAM,iCAAiC,CAAC;AAGtF,UAAU,6BAA8B,SAAQ,gBAAgB;IAC5D,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAC,MAAM,CAAC;IACpB,YAAY,EAAC,MAAM,CAAC;CACvB;AAED,qBASa,uBAAwB,SAAQ,UAAU,CAAC,6BAA6B,CAAC;IAClF,OAAO,CAAC,OAAO,CAAgB;IAE/B,YAAY,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,6BAA6B,EAM5D;IAEM,MAAM,IAAG,aAAa,CAE5B;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"ReverseProxyTypeService.d.ts","sourceRoot":"","sources":["../../../../src/core/webhook/service/ReverseProxyTypeService.ts"],"names":[],"mappings":"AAGA,8BAAsB,gBAAgB;IAElC,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,KAAK,CAAS;gBAEV,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM;IAK3B,EAAE,IAAG,MAAM;IAGX,IAAI,IAAG,MAAM;CAGvB;AAED,MAAM,WAAW,kBAAkB;IAC/B,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,GAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,QAAQ,IAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAED,MAAM,MAAM,SAAS,GAAG;IACpB,EAAE,EAAC,MAAM,CAAC;IACV,WAAW,EAAC,MAAM,EAAE,CAAC;IACrB,MAAM,EAAC,UAAU,CAAC;IAClB,WAAW,EAAC,MAAM,CAAC;IACnB,WAAW,EAAC,MAAM,CAAC;IACnB,UAAU,EAAC,MAAM,CAAC;IAClB,WAAW,EAAC,OAAO,CAAC;IACpB,mBAAmB,EAAC,OAAO,CAAC;IAC5B,gBAAgB,EAAC,OAAO,CAAC;CAC5B,CAAA;AAED,oBAAY,UAAU;IAClB,IAAI,SAAS;IACb,KAAK,UAAU;CAClB"}
1
+ {"version":3,"file":"ReverseProxyTypeService.d.ts","sourceRoot":"","sources":["../../../../src/core/webhook/service/ReverseProxyTypeService.ts"],"names":[],"mappings":"AAGA,8BAAsB,gBAAgB;IAElC,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,KAAK,CAAS;IAEtB,YAAY,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,EAGjC;IAEM,EAAE,IAAG,MAAM,CAEjB;IACM,IAAI,IAAG,MAAM,CAEnB;CACJ;AAED,MAAM,WAAW,kBAAkB;IAC/B,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,GAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,QAAQ,IAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAED,MAAM,MAAM,SAAS,GAAG;IACpB,EAAE,EAAC,MAAM,CAAC;IACV,WAAW,EAAC,MAAM,EAAE,CAAC;IACrB,MAAM,EAAC,UAAU,CAAC;IAClB,WAAW,EAAC,MAAM,CAAC;IACnB,WAAW,EAAC,MAAM,CAAC;IACnB,UAAU,EAAC,MAAM,CAAC;IAClB,WAAW,EAAC,OAAO,CAAC;IACpB,mBAAmB,EAAC,OAAO,CAAC;IAC5B,gBAAgB,EAAC,OAAO,CAAC;CAC5B,CAAA;AAED,oBAAY,UAAU;IAClB,IAAI,SAAS;IACb,KAAK,UAAU;CAClB"}
@@ -1,6 +1,6 @@
1
- import { BaseService, FlowDeployment, ServiceDescriptor } from "../../NodeConstructor";
1
+ import { BaseService, FlowDeployment } from "../../NodeConstructor";
2
2
  import { NodeAPI, NodeAPISettingsWithData } from "node-red";
3
- import { Request, Response } from "express";
3
+ import type { Request, Response } from "express";
4
4
  import { ApiKeyMechanismType, RestAuthType } from "../../logger/service/LoggerService";
5
5
  export declare enum EndpointMethodType {
6
6
  GET = "GET",
@@ -32,6 +32,7 @@ export declare class WebhookServer {
32
32
  constructor(config: WebhookServerConfig);
33
33
  attach(endpoint: EndpointConfig, callback: (request: Request, response: Response) => any): void;
34
34
  detach(configuration: EndpointConfig): void;
35
+ close(): void;
35
36
  config(): WebhookServerConfig;
36
37
  }
37
38
  export type WebhookServerConfig = {
@@ -41,12 +42,10 @@ export type WebhookServerConfig = {
41
42
  externalPort: number;
42
43
  };
43
44
  export declare class WebhookServerService extends BaseService {
44
- private static webhookServers;
45
45
  constructor();
46
46
  init(red: NodeAPI<NodeAPISettingsWithData>): void | Promise<void>;
47
47
  deinit(red: NodeAPI<NodeAPISettingsWithData>): void | Promise<void>;
48
48
  onDeploy(flowDeployment: FlowDeployment): void | Promise<void>;
49
49
  static get(config: WebhookServerConfig): WebhookServer;
50
- static getServiceDescriptor(): ServiceDescriptor;
51
50
  }
52
51
  //# sourceMappingURL=WebhookServerService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WebhookServerService.d.ts","sourceRoot":"","sources":["../../../../src/core/webhook/service/WebhookServerService.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAG5D,OAAgB,EAAU,OAAO,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAIvF,oBAAY,kBAAkB;IAC1B,GAAG,QAAQ;IACX,IAAI,SAAS;CAChB;AAED,MAAM,MAAM,sBAAsB,GAAG;IACjC,IAAI,EAAC,YAAY,CAAC,IAAI,CAAC;CAC1B,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACpC,IAAI,EAAC,YAAY,CAAC,KAAK,CAAA;IACvB,QAAQ,EAAC,MAAM,CAAC;IAChB,QAAQ,EAAC,MAAM,CAAC;CACnB,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACrC,IAAI,EAAC,YAAY,CAAC,MAAM,CAAC;IACzB,SAAS,EAAC,mBAAmB,CAAC;IAC9B,GAAG,EAAC,MAAM,CAAC;IACX,KAAK,EAAC,MAAM,CAAC;CAChB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAC,kBAAkB,EAAE,CAAC;IAC7B,cAAc,EAAE,sBAAsB,GAAG,yBAAyB,GAAG,0BAA0B,CAAC;CACnG,CAAA;AAED,qBAAa,aAAa;IAEtB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,IAAI,CAAU;IACtB,OAAO,CAAC,SAAS,CAAS;gBAEP,MAAM,EAAC,mBAAmB;IAQtC,MAAM,CAAC,QAAQ,EAAC,cAAc,EAAE,QAAQ,EAAC,CAAC,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAC,QAAQ,KAAK,GAAG;IA8CpF,MAAM,CAAC,aAAa,EAAC,cAAc;IAoBnC,MAAM,IAAG,mBAAmB;CAGtC;AAED,MAAM,MAAO,mBAAmB,GAAG;IAC/B,EAAE,EAAC,MAAM,CAAA;IACT,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAC,MAAM,CAAC;IACpB,YAAY,EAAC,MAAM,CAAC;CACvB,CAAA;AAED,qBAAa,oBAAqB,SAAQ,WAAW;IAEjD,OAAO,CAAC,MAAM,CAAC,cAAc,CAAmC;;IAMzD,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;WAuCvD,GAAG,CAAE,MAAM,EAAC,mBAAmB,GAAG,aAAa;WAS7C,oBAAoB,IAAG,iBAAiB;CAU3D"}
1
+ {"version":3,"file":"WebhookServerService.d.ts","sourceRoot":"","sources":["../../../../src/core/webhook/service/WebhookServerService.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAE,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAG5D,OAAO,KAAK,EAAW,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAKvF,oBAAY,kBAAkB;IAC1B,GAAG,QAAQ;IACX,IAAI,SAAS;CAChB;AAED,MAAM,MAAM,sBAAsB,GAAG;IACjC,IAAI,EAAC,YAAY,CAAC,IAAI,CAAC;CAC1B,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACpC,IAAI,EAAC,YAAY,CAAC,KAAK,CAAA;IACvB,QAAQ,EAAC,MAAM,CAAC;IAChB,QAAQ,EAAC,MAAM,CAAC;CACnB,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACrC,IAAI,EAAC,YAAY,CAAC,MAAM,CAAC;IACzB,SAAS,EAAC,mBAAmB,CAAC;IAC9B,GAAG,EAAC,MAAM,CAAC;IACX,KAAK,EAAC,MAAM,CAAC;CAChB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAC,kBAAkB,EAAE,CAAC;IAC7B,cAAc,EAAE,sBAAsB,GAAG,yBAAyB,GAAG,0BAA0B,CAAC;CACnG,CAAA;AAED,qBAAa,aAAa;IAEtB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,IAAI,CAAU;IACtB,OAAO,CAAC,SAAS,CAAS;IAE1B,YAAmB,MAAM,EAAC,mBAAmB,EAM5C;IAEM,MAAM,CAAC,QAAQ,EAAC,cAAc,EAAE,QAAQ,EAAC,CAAC,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAC,QAAQ,KAAK,GAAG,QA4C1F;IAEM,MAAM,CAAC,aAAa,EAAC,cAAc,QAkBzC;IAEM,KAAK,IAAI,IAAI,CAEnB;IAEM,MAAM,IAAG,mBAAmB,CAElC;CACJ;AAED,MAAM,MAAO,mBAAmB,GAAG;IAC/B,EAAE,EAAC,MAAM,CAAA;IACT,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAC,MAAM,CAAC;IACpB,YAAY,EAAC,MAAM,CAAC;CACvB,CAAA;AASD,qBAKa,oBAAqB,SAAQ,WAAW;IAEjD,cAEC;IAEM,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvE;IAEM,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzE;IAEM,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA8CpE;IAED,OAAc,GAAG,CAAE,MAAM,EAAC,mBAAmB,GAAG,aAAa,CAQ5D;CAEJ"}
@@ -1,15 +1,22 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
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);
4
10
  };
5
11
  Object.defineProperty(exports, "__esModule", { value: true });
6
12
  exports.WebhookServerService = exports.WebhookServer = exports.EndpointMethodType = void 0;
7
13
  const NodeConstructor_1 = require("../../NodeConstructor");
14
+ const ServiceDescriptionDecorator_1 = require("../../tagging/ServiceDescriptionDecorator");
8
15
  const WebhookServerConfigNode_1 = require("../node/WebhookServerConfigNode");
9
16
  const WebhookTemplate_1 = require("../template/WebhookTemplate");
10
- const express_1 = __importDefault(require("express"));
11
17
  const LoggerService_1 = require("../../logger/service/LoggerService");
12
- var bodyParser = require('body-parser');
18
+ function getExpress() { return require('express'); }
19
+ function getBodyParser() { return require('body-parser'); }
13
20
  var EndpointMethodType;
14
21
  (function (EndpointMethodType) {
15
22
  EndpointMethodType["GET"] = "GET";
@@ -18,8 +25,8 @@ var EndpointMethodType;
18
25
  class WebhookServer {
19
26
  constructor(config) {
20
27
  this._config = config;
21
- this._app = (0, express_1.default)();
22
- this._app.use(bodyParser.json({ type: "application/json", limit: '50mb' }));
28
+ this._app = getExpress()();
29
+ this._app.use(getBodyParser().json({ type: "application/json", limit: '50mb' }));
23
30
  this._listener = this._app.listen(this._config.port, '0.0.0.0');
24
31
  }
25
32
  attach(endpoint, callback) {
@@ -78,13 +85,22 @@ class WebhookServer {
78
85
  });
79
86
  });
80
87
  }
88
+ close() {
89
+ this._listener.close();
90
+ }
81
91
  config() {
82
92
  return this._config;
83
93
  }
84
94
  }
85
95
  exports.WebhookServer = WebhookServer;
86
- class WebhookServerService extends NodeConstructor_1.BaseService {
87
- static { this.webhookServers = {}; }
96
+ // Stored on global so all bundled copies share the same server registry.
97
+ const _GLOBAL_WEBHOOKSERVERS_KEY = '__plugincore_webhookservers__';
98
+ function getWebhookServersStore() {
99
+ if (!global[_GLOBAL_WEBHOOKSERVERS_KEY])
100
+ global[_GLOBAL_WEBHOOKSERVERS_KEY] = {};
101
+ return global[_GLOBAL_WEBHOOKSERVERS_KEY];
102
+ }
103
+ let WebhookServerService = class WebhookServerService extends NodeConstructor_1.BaseService {
88
104
  constructor() {
89
105
  super("wehbookserver");
90
106
  }
@@ -98,8 +114,9 @@ class WebhookServerService extends NodeConstructor_1.BaseService {
98
114
  let removedServers = [];
99
115
  let addedServers = [];
100
116
  let webhookServerNodes = flowDeployment.flows.filter(node => node.type === "WebhookServerConfigNode");
117
+ const store = getWebhookServersStore();
101
118
  // find all the nodes that have been removed or changed.
102
- Object.entries(WebhookServerService.webhookServers).forEach(([key, serverService]) => {
119
+ Object.entries(store).forEach(([key, serverService]) => {
103
120
  let webhookServerNode = webhookServerNodes.find(node => node.id === key);
104
121
  let serverServiceConfig = serverService.config();
105
122
  // compare the properties.
@@ -121,21 +138,34 @@ class WebhookServerService extends NodeConstructor_1.BaseService {
121
138
  });
122
139
  // find all the servers that have been added.
123
140
  webhookServerNodes
124
- .filter(node => !WebhookServerService.webhookServers[node.id])
141
+ .filter(node => !store[node.id])
125
142
  .forEach(node => addedServers.push(node));
126
- //console.log("REMOVED SERVERS:", removedServers);
127
- //console.log("ADDED SERVERS:", addedServers);
143
+ // Close and remove servers that have been deleted or whose config changed.
144
+ removedServers.forEach(removedConfig => {
145
+ const server = store[removedConfig.id];
146
+ if (server) {
147
+ server.close();
148
+ delete store[removedConfig.id];
149
+ console.log(`Closed webhook server on port ${removedConfig.port}`);
150
+ }
151
+ });
128
152
  }
129
153
  static get(config) {
130
- let server = (this.webhookServers[config.id]);
154
+ const store = getWebhookServersStore();
155
+ let server = store[config.id];
131
156
  if (!server) {
132
- this.webhookServers[config.id] = server = new WebhookServer(config);
157
+ store[config.id] = server = new WebhookServer(config);
133
158
  console.log(`Creating webhook server on port ${config.port}`);
134
159
  }
135
160
  return server;
136
161
  }
137
- static getServiceDescriptor() {
138
- return new NodeConstructor_1.ServiceDescriptor("@theotherwillembotha/webhookserverservice", "WebhookServerService", "services-plugin", "@theotherwillembotha/node-red-plugincore", WebhookServerService, [WebhookServerConfigNode_1.WebhookServerConfigNode, WebhookTemplate_1.WebhookTemplate]);
139
- }
140
- }
162
+ };
141
163
  exports.WebhookServerService = WebhookServerService;
164
+ exports.WebhookServerService = WebhookServerService = __decorate([
165
+ (0, ServiceDescriptionDecorator_1.ServiceDescription)({
166
+ id: "@theotherwillembotha/webhookserverservice",
167
+ sourceFile: "@theotherwillembotha/node-red-plugincore",
168
+ dependencies: [WebhookServerConfigNode_1.WebhookServerConfigNode, WebhookTemplate_1.WebhookTemplate]
169
+ }),
170
+ __metadata("design:paramtypes", [])
171
+ ], WebhookServerService);
@@ -1,4 +1,4 @@
1
- import { BaseNodeConfig, Template, TemplateDescriptor } from "../../NodeConstructor";
1
+ import { BaseNodeConfig, Template } from "../../NodeConstructor";
2
2
  import { RestAuthType, ApiKeyMechanismType } from "../../logger/service/LoggerService";
3
3
  export interface WebhookTemplateConfig extends BaseNodeConfig {
4
4
  webhook: string;
@@ -17,6 +17,5 @@ export type ReverseproxyConnection = {
17
17
  domainname: string;
18
18
  };
19
19
  export declare class WebhookTemplate extends Template {
20
- static getTemplateDescriptor(): TemplateDescriptor;
21
20
  }
22
21
  //# sourceMappingURL=WebhookTemplate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WebhookTemplate.d.ts","sourceRoot":"","sources":["../../../../src/core/webhook/template/WebhookTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAGpF,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEvF,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IACzD,OAAO,EAAC,MAAM,CAAC;IACf,WAAW,EAAC,MAAM,CAAC;IACnB,WAAW,EAAC,YAAY,CAAC;IACzB,0BAA0B,EAAC,MAAM,CAAC;IAClC,0BAA0B,EAAC,MAAM,CAAC;IAClC,4BAA4B,EAAC,mBAAmB,CAAC;IACjD,sBAAsB,EAAC,MAAM,CAAC;IAC9B,wBAAwB,EAAC,MAAM,CAAC;IAEhC,sBAAsB,EAAC,OAAO,CAAC;IAC/B,0BAA0B,EAAC,sBAAsB,EAAE,CAAC;CACvD;AAED,MAAM,MAAM,sBAAsB,GAAG;IACjC,KAAK,EAAC,MAAM,CAAC;IACb,UAAU,EAAC,MAAM,CAAA;CACpB,CAAA;AAED,qBAAa,eAAgB,SAAQ,QAAQ;IAEzC,MAAM,CAAC,qBAAqB,IAAI,kBAAkB;CAMrD"}
1
+ {"version":3,"file":"WebhookTemplate.d.ts","sourceRoot":"","sources":["../../../../src/core/webhook/template/WebhookTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAMhE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEvF,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IACzD,OAAO,EAAC,MAAM,CAAC;IACf,WAAW,EAAC,MAAM,CAAC;IACnB,WAAW,EAAC,YAAY,CAAC;IACzB,0BAA0B,EAAC,MAAM,CAAC;IAClC,0BAA0B,EAAC,MAAM,CAAC;IAClC,4BAA4B,EAAC,mBAAmB,CAAC;IACjD,sBAAsB,EAAC,MAAM,CAAC;IAC9B,wBAAwB,EAAC,MAAM,CAAC;IAEhC,sBAAsB,EAAC,OAAO,CAAC;IAC/B,0BAA0B,EAAC,sBAAsB,EAAE,CAAC;CACvD;AAED,MAAM,MAAM,sBAAsB,GAAG;IACjC,KAAK,EAAC,MAAM,CAAC;IACb,UAAU,EAAC,MAAM,CAAA;CACpB,CAAA;AAED,qBAKa,eAAgB,SAAQ,QAAQ;CAC5C"}
@@ -1,12 +1,25 @@
1
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
+ };
2
8
  Object.defineProperty(exports, "__esModule", { value: true });
3
9
  exports.WebhookTemplate = void 0;
4
10
  const NodeConstructor_1 = require("../../NodeConstructor");
5
- const WebhookServerConfigNode_1 = require("../node/WebhookServerConfigNode");
6
11
  const NodeGenerator_1 = require("../../NodeGenerator");
7
- class WebhookTemplate extends NodeConstructor_1.Template {
8
- static getTemplateDescriptor() {
9
- return new NodeConstructor_1.TemplateDescriptor("webhook", WebhookTemplate, NodeGenerator_1.SourceUtility.getSourcePath("/build/", "/src/") + "WebhookTemplate.html", [WebhookServerConfigNode_1.WebhookServerConfigNode]);
10
- }
11
- }
12
+ const TemplateDescriptionDecorator_1 = require("../../tagging/TemplateDescriptionDecorator");
13
+ const DelegatedConfigReferenceNode_1 = require("../../other/node/DelegatedConfigReferenceNode");
14
+ const WebhookServerConfigNode_1 = require("../node/WebhookServerConfigNode");
15
+ const WebhookServerService_1 = require("../service/WebhookServerService");
16
+ let WebhookTemplate = class WebhookTemplate extends NodeConstructor_1.Template {
17
+ };
12
18
  exports.WebhookTemplate = WebhookTemplate;
19
+ exports.WebhookTemplate = WebhookTemplate = __decorate([
20
+ (0, TemplateDescriptionDecorator_1.TemplateDescription)({
21
+ name: "webhook",
22
+ templateFile: NodeGenerator_1.SourceUtility.getSourcePath("/build/", "/src/") + "WebhookTemplate.html",
23
+ dependencies: [DelegatedConfigReferenceNode_1.DelegatedConfigReferenceNode, WebhookServerConfigNode_1.WebhookServerConfigNode, WebhookServerService_1.WebhookServerService],
24
+ })
25
+ ], WebhookTemplate);
package/build/index.d.ts CHANGED
@@ -2,8 +2,6 @@ export * from "./core/Utils";
2
2
  export * from "./core/NodeGenerator";
3
3
  export * from "./core/NodeConstructor";
4
4
  export * from "./core/logger/service/LoggerService";
5
- export * from "./core/logger/node/ConsoleLoggerConfigNode";
6
- export * from "./core/logger/node/RestLoggerConfigNode";
7
5
  export * from "./core/logger/template/LoggerTemplate";
8
6
  export * from "./core/metrics/service/MetricsService";
9
7
  export * from "./core/metrics/template/MetricsTemplate";
@@ -14,8 +12,14 @@ export * from "./core/metrics/node/CounterMetricConfigNode";
14
12
  export * from "./core/metrics/node/GaugeMetricConfigNode";
15
13
  export * from "./core/metrics/node/TimerMetricConfigNode";
16
14
  export * from "./core/metrics/template/TimerMetricTemplate";
15
+ export * from "./core/state/service/StateService";
16
+ export * from "./core/state/node/StateConfigNode";
17
+ export * from "./core/state/node/InternalStateConfigNode";
18
+ export * from "./core/state/template/StateTemplate";
17
19
  export * from "./core/tagging/service/NodeTypeService";
18
20
  export * from "./core/tagging/NodeDescriptionDecorator";
21
+ export * from "./core/tagging/ServiceDescriptionDecorator";
22
+ export * from "./core/tagging/TemplateDescriptionDecorator";
19
23
  export * from "./core/ui/template/UIHelperTemplate";
20
24
  export * from "./core/ui/template/ScriptEditorTemplate";
21
25
  export * from "./core/other/node/DelegatedConfigReferenceNode";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,qCAAqC,CAAC;AACpD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,yCAAyC,CAAC;AACxD,cAAc,uCAAuC,CAAC;AAItD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,6CAA6C,CAAC;AAG5D,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC;AAGxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AAGxD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,mCAAmC,CAAC;AAClD,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AAGvD,cAAc,yCAAyC,CAAC;AACxD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,6CAA6C,CAAC;AAG5D,cAAc,gDAAgD,CAAC;AAG/D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AAItD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,6CAA6C,CAAC;AAG5D,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,qCAAqC,CAAC;AAGpD,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC;AACxD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6CAA6C,CAAC;AAG5D,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AAGxD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,mCAAmC,CAAC;AAClD,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AAGvD,cAAc,yCAAyC,CAAC;AACxD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,6CAA6C,CAAC;AAG5D,cAAc,gDAAgD,CAAC;AAG/D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC"}
package/build/index.js CHANGED
@@ -19,8 +19,6 @@ __exportStar(require("./core/NodeGenerator"), exports);
19
19
  __exportStar(require("./core/NodeConstructor"), exports);
20
20
  // LOGGER
21
21
  __exportStar(require("./core/logger/service/LoggerService"), exports);
22
- __exportStar(require("./core/logger/node/ConsoleLoggerConfigNode"), exports);
23
- __exportStar(require("./core/logger/node/RestLoggerConfigNode"), exports);
24
22
  __exportStar(require("./core/logger/template/LoggerTemplate"), exports);
25
23
  // METRICS
26
24
  __exportStar(require("./core/metrics/service/MetricsService"), exports);
@@ -32,9 +30,16 @@ __exportStar(require("./core/metrics/node/CounterMetricConfigNode"), exports);
32
30
  __exportStar(require("./core/metrics/node/GaugeMetricConfigNode"), exports);
33
31
  __exportStar(require("./core/metrics/node/TimerMetricConfigNode"), exports);
34
32
  __exportStar(require("./core/metrics/template/TimerMetricTemplate"), exports);
33
+ // STATE
34
+ __exportStar(require("./core/state/service/StateService"), exports);
35
+ __exportStar(require("./core/state/node/StateConfigNode"), exports);
36
+ __exportStar(require("./core/state/node/InternalStateConfigNode"), exports);
37
+ __exportStar(require("./core/state/template/StateTemplate"), exports);
35
38
  // TAGGING
36
39
  __exportStar(require("./core/tagging/service/NodeTypeService"), exports);
37
40
  __exportStar(require("./core/tagging/NodeDescriptionDecorator"), exports);
41
+ __exportStar(require("./core/tagging/ServiceDescriptionDecorator"), exports);
42
+ __exportStar(require("./core/tagging/TemplateDescriptionDecorator"), exports);
38
43
  // UI
39
44
  __exportStar(require("./core/ui/template/UIHelperTemplate"), exports);
40
45
  __exportStar(require("./core/ui/template/ScriptEditorTemplate"), exports);