tnp-helpers 18.0.18 → 18.0.19

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 (90) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/base/classes/base-cli-worker.mjs +54 -7
  3. package/browser/esm2022/lib/base/classes/base-vscode.mjs +26 -1
  4. package/browser/esm2022/lib/base/tcp-udp-ports/index.mjs +1 -2
  5. package/browser/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +169 -17
  6. package/browser/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +10 -3
  7. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +2 -3
  8. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +187 -11
  9. package/browser/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +16 -8
  10. package/browser/esm2022/migrations/1736454437350_addFreePorts.mjs +20 -7
  11. package/browser/fesm2022/tnp-helpers.mjs +475 -62
  12. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  13. package/browser/lib/base/classes/base-cli-worker.d.ts +27 -4
  14. package/browser/lib/base/tcp-udp-ports/index.d.ts +0 -1
  15. package/browser/lib/base/tcp-udp-ports/ports.controller.d.ts +15 -6
  16. package/browser/lib/base/tcp-udp-ports/ports.entity.d.ts +8 -4
  17. package/browser/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +10 -8
  18. package/client/esm2022/lib/base/classes/base-cli-worker.mjs +54 -7
  19. package/client/esm2022/lib/base/classes/base-vscode.mjs +26 -1
  20. package/client/esm2022/lib/base/tcp-udp-ports/index.mjs +1 -2
  21. package/client/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +169 -17
  22. package/client/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +10 -3
  23. package/client/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +2 -3
  24. package/client/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +187 -11
  25. package/client/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +16 -8
  26. package/client/esm2022/migrations/1736454437350_addFreePorts.mjs +20 -7
  27. package/client/fesm2022/tnp-helpers.mjs +475 -62
  28. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  29. package/client/lib/base/classes/base-cli-worker.d.ts +27 -4
  30. package/client/lib/base/tcp-udp-ports/index.d.ts +0 -1
  31. package/client/lib/base/tcp-udp-ports/ports.controller.d.ts +15 -6
  32. package/client/lib/base/tcp-udp-ports/ports.entity.d.ts +8 -4
  33. package/client/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +10 -8
  34. package/lib/base/classes/base-cli-worker.d.ts +27 -4
  35. package/lib/base/classes/base-cli-worker.js +94 -28
  36. package/lib/base/classes/base-cli-worker.js.map +1 -1
  37. package/lib/base/classes/base-global-command-line.backend.d.ts +1 -0
  38. package/lib/base/classes/base-global-command-line.backend.js +12 -0
  39. package/lib/base/classes/base-global-command-line.backend.js.map +1 -1
  40. package/lib/base/classes/base-vscode.js +43 -25
  41. package/lib/base/classes/base-vscode.js.map +1 -1
  42. package/lib/base/tcp-udp-ports/index.d.ts +0 -1
  43. package/lib/base/tcp-udp-ports/index.js +0 -1
  44. package/lib/base/tcp-udp-ports/index.js.map +1 -1
  45. package/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +0 -6
  46. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js +2 -42
  47. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js.map +1 -1
  48. package/lib/base/tcp-udp-ports/ports.controller.d.ts +14 -5
  49. package/lib/base/tcp-udp-ports/ports.controller.js +227 -19
  50. package/lib/base/tcp-udp-ports/ports.controller.js.map +1 -1
  51. package/lib/base/tcp-udp-ports/ports.entity.d.ts +8 -4
  52. package/lib/base/tcp-udp-ports/ports.entity.js +32 -2
  53. package/lib/base/tcp-udp-ports/ports.entity.js.map +1 -1
  54. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js +1 -2
  55. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js.map +1 -1
  56. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +14 -8
  57. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js +293 -30
  58. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js.map +1 -1
  59. package/lib/helpers/for-browser/angular.helper.js +2 -2
  60. package/lib/old/base-component.js +2 -2
  61. package/lib/old/base-formly-component.js +2 -2
  62. package/lib/old/dual-component-ctrl.js +2 -2
  63. package/migrations/1736199486472_addingNotAssignablePorts.js +33 -10
  64. package/migrations/1736199486472_addingNotAssignablePorts.js.map +1 -1
  65. package/migrations/1736454437350_addFreePorts.js +42 -14
  66. package/migrations/1736454437350_addFreePorts.js.map +1 -1
  67. package/package.json +5 -5
  68. package/tmp-environment.json +29 -29
  69. package/websql/esm2022/lib/base/classes/base-cli-worker.mjs +54 -7
  70. package/websql/esm2022/lib/base/classes/base-vscode.mjs +26 -1
  71. package/websql/esm2022/lib/base/tcp-udp-ports/index.mjs +1 -2
  72. package/websql/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +169 -17
  73. package/websql/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +25 -3
  74. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +2 -3
  75. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +187 -11
  76. package/websql/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +16 -8
  77. package/websql/esm2022/migrations/1736454437350_addFreePorts.mjs +20 -7
  78. package/websql/fesm2022/tnp-helpers.mjs +485 -72
  79. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  80. package/websql/lib/base/classes/base-cli-worker.d.ts +27 -4
  81. package/websql/lib/base/tcp-udp-ports/index.d.ts +0 -1
  82. package/websql/lib/base/tcp-udp-ports/ports.controller.d.ts +15 -6
  83. package/websql/lib/base/tcp-udp-ports/ports.entity.d.ts +8 -4
  84. package/websql/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +10 -8
  85. package/browser/esm2022/lib/base/tcp-udp-ports/not-assignable-port.entity.mjs +0 -19
  86. package/browser/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +0 -7
  87. package/client/esm2022/lib/base/tcp-udp-ports/not-assignable-port.entity.mjs +0 -19
  88. package/client/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +0 -7
  89. package/websql/esm2022/lib/base/tcp-udp-ports/not-assignable-port.entity.mjs +0 -34
  90. package/websql/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +0 -7
@@ -1717,10 +1717,24 @@ class ProjectDatabase extends BaseDb {
1717
1717
  ;
1718
1718
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/project-database.ts
1719
1719
 
1720
- var NotAssignablePort_1;
1721
- let NotAssignablePort = NotAssignablePort_1 = class NotAssignablePort extends Taon.Base.Entity {
1720
+ var Port_1;
1721
+ const PortStatusArr = [
1722
+ 'unassigned',
1723
+ 'assigned',
1724
+ 'assigned-not-registered',
1725
+ 'assigned-taken-by-os',
1726
+ ];
1727
+ let Port = Port_1 = class Port extends Taon.Base.Entity {
1722
1728
  static from(opt) {
1723
- return _.merge(new NotAssignablePort_1(), opt);
1729
+ return _.merge(new Port_1(), opt);
1730
+ }
1731
+ static getTitleForFreePort(port) {
1732
+ return `free port ${port}`;
1733
+ }
1734
+ get titleOnList() {
1735
+ /* */
1736
+ /* */
1737
+ return (void 0);
1724
1738
  }
1725
1739
  };
1726
1740
  __decorate([
@@ -1729,7 +1743,7 @@ __decorate([
1729
1743
  unique: true,
1730
1744
  }),
1731
1745
  __metadata("design:type", Number)
1732
- ], NotAssignablePort.prototype, "port", void 0);
1746
+ ], Port.prototype, "port", void 0);
1733
1747
  __decorate([
1734
1748
  Taon.Orm.Column.Custom({
1735
1749
  type: 'varchar',
@@ -1737,28 +1751,7 @@ __decorate([
1737
1751
  unique: true,
1738
1752
  }),
1739
1753
  __metadata("design:type", String)
1740
- ], NotAssignablePort.prototype, "serviceId", void 0);
1741
- NotAssignablePort = NotAssignablePort_1 = __decorate([
1742
- Taon.Entity({
1743
- className: 'NotAssignablePort',
1744
- uniqueKeyProp: 'port',
1745
- })
1746
- ], NotAssignablePort);
1747
- ;
1748
- ({}); // @--end-of-file-for-module=tnp-helpers lib/base/tcp-udp-ports/not-assignable-port.entity.ts
1749
-
1750
- var Port_1;
1751
- const PortStatusArr = [
1752
- 'unassigned',
1753
- 'assigned',
1754
- 'assigned-not-registered',
1755
- 'assigned-taken-by-os',
1756
- ];
1757
- let Port = Port_1 = class Port extends NotAssignablePort {
1758
- static from(opt) {
1759
- return _.merge(new Port_1(), opt);
1760
- }
1761
- };
1754
+ ], Port.prototype, "serviceId", void 0);
1762
1755
  __decorate([
1763
1756
  Taon.Orm.Column.String500('unassigned'),
1764
1757
  __metadata("design:type", String)
@@ -1941,29 +1934,142 @@ let PortsController = class PortsController extends BaseCliWorkerController {
1941
1934
  super(...arguments);
1942
1935
  this.START_PORT = 3000;
1943
1936
  this.END_PORT = 6000;
1944
- this.takenByOsPorts = new Map();
1945
- this.assignedPorts = new Map();
1937
+ this.portsCache = new Map();
1946
1938
  }
1947
1939
  get firstFreePort() {
1948
- if (!this.assignedPorts) {
1949
- return null;
1950
- }
1951
- return Array.from(this.assignedPorts.values()).find(p => p.status === 'unassigned');
1940
+ /* */
1941
+ /* */
1942
+ /* */
1943
+ /* */
1944
+ /* */
1945
+ /* */
1946
+ /* */
1947
+ return (void 0);
1952
1948
  }
1953
1949
  firstUnassignedPortMoreThan(port) {
1954
- if (!this.assignedPorts) {
1955
- return null;
1956
- }
1957
- return Array.from(this.assignedPorts.values()).find(p => p.status === 'unassigned' && p.port > port);
1950
+ /* */
1951
+ /* */
1952
+ /* */
1953
+ /* */
1954
+ /* */
1955
+ /* */
1956
+ /* */
1957
+ return (void 0);
1958
1958
  }
1959
- getPortByStatus(status) {
1959
+ getFirstFreePort() {
1960
1960
  return async () => {
1961
- if (status === 'assigned-taken-by-os') {
1962
- return Array.from(this.takenByOsPorts.values());
1963
- }
1964
- return Array.from(this.assignedPorts.values()).filter(f => f.status === status);
1961
+ return this.firstFreePort;
1965
1962
  };
1966
1963
  }
1964
+ getPortByNumber(portNumber) {
1965
+ return async () => {
1966
+ portNumber = Number(portNumber);
1967
+ return Array.from(this.portsCache.values()).find(f => f.port === portNumber);
1968
+ };
1969
+ }
1970
+ getPortsByStatus(status) {
1971
+ return async () => {
1972
+ return Array.from(this.portsCache.values())
1973
+ .filter(f => f.status === status)
1974
+ .sort((a, b) => {
1975
+ if (a.port < b.port) {
1976
+ return -1;
1977
+ }
1978
+ if (a.port > b.port) {
1979
+ return 1;
1980
+ }
1981
+ return 0;
1982
+ });
1983
+ };
1984
+ }
1985
+ /**
1986
+ * make it unassigned
1987
+ */
1988
+ deletePort(portNumber) {
1989
+ /* */
1990
+ /* */
1991
+ /* */
1992
+ /* */
1993
+ /* */
1994
+ /* */
1995
+ /* */
1996
+ /* */
1997
+ /* */
1998
+ /* */
1999
+ /* */
2000
+ /* */
2001
+ /* */
2002
+ /* */
2003
+ /* */
2004
+ /* */
2005
+ /* */
2006
+ /* */
2007
+ /* */
2008
+ /* */
2009
+ /* */
2010
+ /* */
2011
+ /* */
2012
+ return (void 0);
2013
+ }
2014
+ /**
2015
+ * make it unassigned
2016
+ */
2017
+ updatePortUniqueId(portNumber, serviceId) {
2018
+ /* */
2019
+ /* */
2020
+ /* */
2021
+ /* */
2022
+ /* */
2023
+ /* */
2024
+ /* */
2025
+ /* */
2026
+ /* */
2027
+ /* */
2028
+ /* */
2029
+ /* */
2030
+ /* */
2031
+ /* */
2032
+ /* */
2033
+ /* */
2034
+ /* */
2035
+ /* */
2036
+ /* */
2037
+ /* */
2038
+ /* */
2039
+ /* */
2040
+ /* */
2041
+ /* */
2042
+ return (void 0);
2043
+ }
2044
+ addTakeByOsPort(portNumber, uniqueId) {
2045
+ /* */
2046
+ /* */
2047
+ /* */
2048
+ /* */
2049
+ /* */
2050
+ /* */
2051
+ /* */
2052
+ /* */
2053
+ /* */
2054
+ /* */
2055
+ /* */
2056
+ /* */
2057
+ /* */
2058
+ /* */
2059
+ /* */
2060
+ /* */
2061
+ /* */
2062
+ /* */
2063
+ /* */
2064
+ /* */
2065
+ /* */
2066
+ /* */
2067
+ /* */
2068
+ /* */
2069
+ /* */
2070
+ /* */
2071
+ return (void 0);
2072
+ }
1967
2073
  /**
1968
2074
  * @param uniqueServiceName unique service name
1969
2075
  * @param startFrom start searching for free port from this number
@@ -2014,16 +2120,55 @@ let PortsController = class PortsController extends BaseCliWorkerController {
2014
2120
  /* */
2015
2121
  /* */
2016
2122
  /* */
2123
+ /* */
2124
+ /* */
2125
+ /* */
2017
2126
  return (void 0);
2018
2127
  }
2019
2128
  };
2129
+ __decorate([
2130
+ Taon.Http.GET(),
2131
+ __metadata("design:type", Function),
2132
+ __metadata("design:paramtypes", []),
2133
+ __metadata("design:returntype", Object)
2134
+ ], PortsController.prototype, "getFirstFreePort", null);
2135
+ __decorate([
2136
+ Taon.Http.GET(),
2137
+ __param(0, Taon.Http.Param.Query('portNumber')),
2138
+ __metadata("design:type", Function),
2139
+ __metadata("design:paramtypes", [Number]),
2140
+ __metadata("design:returntype", Object)
2141
+ ], PortsController.prototype, "getPortByNumber", null);
2020
2142
  __decorate([
2021
2143
  Taon.Http.GET(),
2022
2144
  __param(0, Taon.Http.Param.Query('status')),
2023
2145
  __metadata("design:type", Function),
2024
2146
  __metadata("design:paramtypes", [String]),
2025
2147
  __metadata("design:returntype", Object)
2026
- ], PortsController.prototype, "getPortByStatus", null);
2148
+ ], PortsController.prototype, "getPortsByStatus", null);
2149
+ __decorate([
2150
+ Taon.Http.DELETE(),
2151
+ __param(0, Taon.Http.Param.Query('portNumber')),
2152
+ __metadata("design:type", Function),
2153
+ __metadata("design:paramtypes", [Number]),
2154
+ __metadata("design:returntype", Object)
2155
+ ], PortsController.prototype, "deletePort", null);
2156
+ __decorate([
2157
+ Taon.Http.PUT(),
2158
+ __param(0, Taon.Http.Param.Query('portNumber')),
2159
+ __param(1, Taon.Http.Param.Query('serviceId')),
2160
+ __metadata("design:type", Function),
2161
+ __metadata("design:paramtypes", [Number, String]),
2162
+ __metadata("design:returntype", Object)
2163
+ ], PortsController.prototype, "updatePortUniqueId", null);
2164
+ __decorate([
2165
+ Taon.Http.POST(),
2166
+ __param(0, Taon.Http.Param.Query('portNumber')),
2167
+ __param(1, Taon.Http.Param.Query('uniqueId')),
2168
+ __metadata("design:type", Function),
2169
+ __metadata("design:paramtypes", [Number, String]),
2170
+ __metadata("design:returntype", Object)
2171
+ ], PortsController.prototype, "addTakeByOsPort", null);
2027
2172
  __decorate([
2028
2173
  Taon.Http.PUT(),
2029
2174
  __param(0, Taon.Http.Param.Query('uniqueServiceName')),
@@ -2059,6 +2204,7 @@ class BaseCliWorker {
2059
2204
  this.serviceID = serviceID;
2060
2205
  this.startCommand = startCommand;
2061
2206
  this.serviceVersion = serviceVersion;
2207
+ this.SPECIAL_WORKER_READY_MESSAGE = '$$$ WORKER_READY $$$';
2062
2208
  }
2063
2209
  get pathToProcessLocalInfoJson() {
2064
2210
  /* */
@@ -2080,7 +2226,7 @@ class BaseCliWorker {
2080
2226
  /* */
2081
2227
  return (void 0);
2082
2228
  }
2083
- async startDetachedIfNeedsToBeStarted() {
2229
+ async startDetachedIfNeedsToBeStarted(options) {
2084
2230
  /* */
2085
2231
  /* */
2086
2232
  /* */
@@ -2136,7 +2282,7 @@ class BaseCliWorker {
2136
2282
  //longer because os is disposing process previous process
2137
2283
  if (options.detached) {
2138
2284
  Helpers.info(`Restarting service "${this.serviceID}" in detached mode...`);
2139
- await this.startDetached();
2285
+ await this.startDetached(options);
2140
2286
  }
2141
2287
  else {
2142
2288
  Helpers.info(`Restarting service "${this.serviceID}" in current process...`);
@@ -2302,12 +2448,25 @@ class BaseCliWorker {
2302
2448
  /* */
2303
2449
  /* */
2304
2450
  /* */
2451
+ /* */
2452
+ /* */
2453
+ /* */
2305
2454
  return (void 0);
2306
2455
  }
2307
2456
  /**
2308
2457
  * start if not started detached process
2309
2458
  */
2310
- async startDetached() {
2459
+ async startDetached(options) {
2460
+ /* */
2461
+ /* */
2462
+ /* */
2463
+ /* */
2464
+ /* */
2465
+ /* */
2466
+ /* */
2467
+ /* */
2468
+ /* */
2469
+ /* */
2311
2470
  /* */
2312
2471
  /* */
2313
2472
  /* */
@@ -2376,7 +2535,36 @@ class BaseCliWorker {
2376
2535
  /* */
2377
2536
  return (void 0);
2378
2537
  }
2379
- getWorkerTerminalActions() {
2538
+ get backAction() {
2539
+ return {
2540
+ back: {
2541
+ name: 'Back',
2542
+ },
2543
+ };
2544
+ }
2545
+ get chooseAction() {
2546
+ return {
2547
+ emptyAction: {
2548
+ name: ' -- choose any action below --',
2549
+ action: async () => { },
2550
+ },
2551
+ };
2552
+ }
2553
+ displaySpecialWorkerReadyMessage() {
2554
+ console.log(this.SPECIAL_WORKER_READY_MESSAGE);
2555
+ }
2556
+ getWorkerTerminalActions(options) {
2557
+ /* */
2558
+ /* */
2559
+ /* */
2560
+ /* */
2561
+ /* */
2562
+ /* */
2563
+ /* */
2564
+ /* */
2565
+ /* */
2566
+ /* */
2567
+ /* */
2380
2568
  /* */
2381
2569
  /* */
2382
2570
  /* */
@@ -2403,18 +2591,22 @@ class BaseCliWorker {
2403
2591
  /* */
2404
2592
  return (void 0);
2405
2593
  }
2406
- async _infoScreen() {
2594
+ async infoScreen(options) {
2595
+ options = options || {};
2407
2596
  while (true) {
2408
2597
  Helpers.clearConsole();
2409
2598
  await this.header();
2410
2599
  await this.infoMessageBelowHeader();
2411
- const choices = this.getWorkerTerminalActions();
2600
+ const choices = this.getWorkerTerminalActions(options);
2412
2601
  const choice = await UtilsTerminal.select({
2413
2602
  choices,
2414
2603
  question: 'Choose action',
2415
2604
  });
2416
2605
  const action = choices[choice].action;
2417
2606
  await action();
2607
+ if (choice === 'exit') {
2608
+ break;
2609
+ }
2418
2610
  }
2419
2611
  }
2420
2612
  saveProcessInfo(processConfig) {
@@ -2568,20 +2760,28 @@ let PortsContext_1736199486472_addingNotAssignablePorts = class PortsContext_173
2568
2760
  this.commonPortsFrom3000to6000 = Object.keys(portsWithDescription).map(Number);
2569
2761
  }
2570
2762
  async up(queryRunner) {
2571
- const db = await queryRunner.manager.getRepository(NotAssignablePort);
2572
- const allPorts = this.commonPortsFrom3000to6000.map(port => NotAssignablePort.from({
2763
+ const db = await queryRunner.manager.getRepository(Port);
2764
+ const allPorts = this.commonPortsFrom3000to6000.map(port => Port.from({
2573
2765
  port,
2574
2766
  serviceId: `not assignable (${portsWithDescription[port]})`,
2767
+ status: 'assigned-taken-by-os',
2575
2768
  }));
2576
2769
  await db.save(allPorts);
2577
2770
  for (const commonPortObj of allPorts) {
2578
- this.portsController.takenByOsPorts.set(commonPortObj.port, commonPortObj);
2771
+ this.portsController.portsCache.set(commonPortObj.serviceId, commonPortObj);
2579
2772
  }
2580
2773
  }
2581
2774
  async down(queryRunner) {
2582
- const db = await queryRunner.manager.getRepository(NotAssignablePort);
2583
- db.clear();
2584
- this.portsController.takenByOsPorts.clear();
2775
+ const db = await queryRunner.manager.getRepository(Port);
2776
+ await db.remove(await db.find({
2777
+ where: {
2778
+ status: 'assigned-taken-by-os',
2779
+ },
2780
+ }));
2781
+ const allPorts = Array.from(this.portsController.portsCache.values()).filter(f => f.status === 'assigned-taken-by-os');
2782
+ for (const port of allPorts) {
2783
+ this.portsController.portsCache.delete(port.serviceId);
2784
+ }
2585
2785
  }
2586
2786
  };
2587
2787
  PortsContext_1736199486472_addingNotAssignablePorts = __decorate([
@@ -2601,19 +2801,32 @@ let PortsContext_1736454437350_addFreePorts = class PortsContext_1736454437350_a
2601
2801
  async up(queryRunner) {
2602
2802
  const portsTableRepo = await queryRunner.manager.getRepository(Port);
2603
2803
  const addFreePortsInRange = _.range(this.portsController.START_PORT, this.portsController.END_PORT + 1);
2804
+ const allTakeByOsPort = (await portsTableRepo.find({
2805
+ where: {
2806
+ status: 'assigned-taken-by-os',
2807
+ },
2808
+ })).map(f => f.port);
2604
2809
  const freePortsInRange = addFreePortsInRange.map(port => Port.from({
2605
2810
  port: port,
2606
- serviceId: `free port ${port}`,
2607
- }));
2811
+ serviceId: Port.getTitleForFreePort(port),
2812
+ status: 'unassigned',
2813
+ })).filter(f => !allTakeByOsPort.includes(f.port));
2608
2814
  await portsTableRepo.save(freePortsInRange);
2609
2815
  for (const port of freePortsInRange) {
2610
- this.portsController.assignedPorts.set(port.serviceId, port);
2816
+ this.portsController.portsCache.set(port.serviceId, port);
2611
2817
  }
2612
2818
  }
2613
2819
  async down(queryRunner) {
2614
- this.portsController.assignedPorts.clear();
2615
- const portsTableRepo = await queryRunner.manager.getRepository(Port);
2616
- portsTableRepo.clear();
2820
+ const db = await queryRunner.manager.getRepository(Port);
2821
+ await db.remove(await db.find({
2822
+ where: {
2823
+ status: 'unassigned',
2824
+ },
2825
+ }));
2826
+ const allPorts = Array.from(this.portsController.portsCache.values()).filter(f => f.status === 'unassigned');
2827
+ for (const port of allPorts) {
2828
+ this.portsController.portsCache.delete(port.serviceId);
2829
+ }
2617
2830
  }
2618
2831
  };
2619
2832
  PortsContext_1736454437350_addFreePorts = __decorate([
@@ -2654,7 +2867,7 @@ const PortsContext = Taon.createContext(() => ({
2654
2867
  contextName: 'PortsContext',
2655
2868
  contexts: { BaseContext },
2656
2869
  controllers: { PortsController },
2657
- entities: { Port, NotAssignablePort },
2870
+ entities: { Port },
2658
2871
  migrations: { ...MIGRATIONS_CLASSES_FOR_PortsContext },
2659
2872
  skipWritingServerRoutes: true,
2660
2873
  /* */
@@ -2708,9 +2921,54 @@ class PortsWorker extends BaseCliWorker {
2708
2921
  /* */
2709
2922
  /* */
2710
2923
  /* */
2924
+ /* */
2711
2925
  return (void 0);
2712
2926
  }
2713
2927
  async displayItemsForPortsStatus(status) {
2928
+ /* */
2929
+ /* */
2930
+ /* */
2931
+ /* */
2932
+ /* */
2933
+ /* */
2934
+ /* */
2935
+ /* */
2936
+ /* */
2937
+ /* */
2938
+ /* */
2939
+ /* */
2940
+ /* */
2941
+ /* */
2942
+ /* */
2943
+ /* */
2944
+ /* */
2945
+ return (void 0);
2946
+ }
2947
+ getWorkerTerminalActions(options) {
2948
+ /* */
2949
+ /* */
2950
+ /* */
2951
+ /* */
2952
+ /* */
2953
+ /* */
2954
+ /* */
2955
+ /* */
2956
+ /* */
2957
+ /* */
2958
+ /* */
2959
+ /* */
2960
+ /* */
2961
+ /* */
2962
+ /* */
2963
+ /* */
2964
+ /* */
2965
+ /* */
2966
+ /* */
2967
+ /* */
2968
+ /* */
2969
+ /* */
2970
+ /* */
2971
+ /* */
2714
2972
  /* */
2715
2973
  /* */
2716
2974
  /* */
@@ -2732,17 +2990,47 @@ class PortsWorker extends BaseCliWorker {
2732
2990
  /* */
2733
2991
  return (void 0);
2734
2992
  }
2735
- get backAction() {
2736
- return {
2737
- back: {
2738
- name: 'Back',
2739
- action: async () => {
2740
- return true;
2741
- },
2742
- },
2743
- };
2993
+ async getNewPortToAdd() {
2994
+ /* */
2995
+ /* */
2996
+ /* */
2997
+ /* */
2998
+ /* */
2999
+ /* */
3000
+ /* */
3001
+ /* */
3002
+ /* */
3003
+ /* */
3004
+ /* */
3005
+ /* */
3006
+ /* */
3007
+ /* */
3008
+ /* */
3009
+ /* */
3010
+ /* */
3011
+ /* */
3012
+ /* */
3013
+ /* */
3014
+ /* */
3015
+ /* */
3016
+ /* */
3017
+ /* */
3018
+ /* */
3019
+ /* */
3020
+ /* */
3021
+ /* */
3022
+ /* */
3023
+ /* */
3024
+ /* */
3025
+ /* */
3026
+ /* */
3027
+ /* */
3028
+ /* */
3029
+ return (void 0);
2744
3030
  }
2745
- getWorkerTerminalActions() {
3031
+ async addPortTerminalUiProcess() {
3032
+ /* */
3033
+ /* */
2746
3034
  /* */
2747
3035
  /* */
2748
3036
  /* */
@@ -2766,6 +3054,10 @@ class PortsWorker extends BaseCliWorker {
2766
3054
  /* */
2767
3055
  /* */
2768
3056
  /* */
3057
+ /* */
3058
+ return (void 0);
3059
+ }
3060
+ async selectPortProcess(ports, title) {
2769
3061
  /* */
2770
3062
  /* */
2771
3063
  /* */
@@ -2784,6 +3076,102 @@ class PortsWorker extends BaseCliWorker {
2784
3076
  /* */
2785
3077
  return (void 0);
2786
3078
  }
3079
+ async deletePortTerminalUiProcess() {
3080
+ /* */
3081
+ /* */
3082
+ /* */
3083
+ /* */
3084
+ /* */
3085
+ /* */
3086
+ /* */
3087
+ /* */
3088
+ /* */
3089
+ /* */
3090
+ /* */
3091
+ /* */
3092
+ /* */
3093
+ /* */
3094
+ /* */
3095
+ /* */
3096
+ /* */
3097
+ /* */
3098
+ /* */
3099
+ /* */
3100
+ /* */
3101
+ /* */
3102
+ /* */
3103
+ /* */
3104
+ /* */
3105
+ return (void 0);
3106
+ }
3107
+ async editPortTerminalUiProcess() {
3108
+ /* */
3109
+ /* */
3110
+ /* */
3111
+ /* */
3112
+ /* */
3113
+ /* */
3114
+ /* */
3115
+ /* */
3116
+ /* */
3117
+ /* */
3118
+ /* */
3119
+ /* */
3120
+ /* */
3121
+ /* */
3122
+ /* */
3123
+ /* */
3124
+ /* */
3125
+ /* */
3126
+ /* */
3127
+ /* */
3128
+ /* */
3129
+ /* */
3130
+ /* */
3131
+ /* */
3132
+ /* */
3133
+ /* */
3134
+ /* */
3135
+ /* */
3136
+ /* */
3137
+ /* */
3138
+ /* */
3139
+ /* */
3140
+ /* */
3141
+ /* */
3142
+ /* */
3143
+ /* */
3144
+ /* */
3145
+ /* */
3146
+ return (void 0);
3147
+ }
3148
+ async crudMenuForTakeByOsPorts() {
3149
+ const { selected: actionChoice } = await UtilsTerminal.selectActionAndExecute({
3150
+ back: {
3151
+ name: ' - back - ',
3152
+ },
3153
+ editPort: {
3154
+ name: 'Edit port',
3155
+ },
3156
+ addPort: {
3157
+ name: 'Add port',
3158
+ },
3159
+ deletePort: {
3160
+ name: 'Delete port (make it unassigned)',
3161
+ },
3162
+ });
3163
+ switch (actionChoice) {
3164
+ case 'editPort':
3165
+ await this.editPortTerminalUiProcess();
3166
+ break;
3167
+ case 'addPort':
3168
+ await this.addPortTerminalUiProcess();
3169
+ break;
3170
+ case 'deletePort':
3171
+ await this.deletePortTerminalUiProcess();
3172
+ break;
3173
+ }
3174
+ }
2787
3175
  }
2788
3176
  ;
2789
3177
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/tcp-udp-ports/tcp-upd-ports.worker.ts
@@ -6893,6 +7281,31 @@ class BaseVscodeHelpers extends BaseFeatureForProject {
6893
7281
  /* */
6894
7282
  /* */
6895
7283
  /* */
7284
+ /* */
7285
+ /* */
7286
+ /* */
7287
+ /* */
7288
+ /* */
7289
+ /* */
7290
+ /* */
7291
+ /* */
7292
+ /* */
7293
+ /* */
7294
+ /* */
7295
+ /* */
7296
+ /* */
7297
+ /* */
7298
+ /* */
7299
+ /* */
7300
+ /* */
7301
+ /* */
7302
+ /* */
7303
+ /* */
7304
+ /* */
7305
+ /* */
7306
+ /* */
7307
+ /* */
7308
+ /* */
6896
7309
  return (void 0);
6897
7310
  }
6898
7311
  }
@@ -8483,5 +8896,5 @@ const Helpers = HelpersTaon.Instance;
8483
8896
  * Generated bundle index. Do not edit.
8484
8897
  */
8485
8898
 
8486
- export { BaseCliWorker, BaseCliWorkerConfig, BaseCliWorkerController, BaseCompilerForProject, BaseDebounceCompilerForProject, BaseFeatureForProject, BaseGit, BaseLibraryBuild, BaseLinkedProjects, BaseNpmHelpers, BaseProject, BaseProjectResolver, BaseProjectTypeArr, BaseQuickFixes, BaseReleaseProcess, BaseVscodeHelpers, CommitData, CoreAngularProject, CoreProject, CoreTypescriptProject, Helpers, HelpersAngular, LinkedPorjectsConfig, LinkedProject, NotAssignablePort, Port, PortStatusArr, PortsController, PortsWorker, UtilsHttp, UtilsMd, UtilsNpm, UtilsQuickFixes, UtilsTypescript, Validators };
8899
+ export { BaseCliWorker, BaseCliWorkerConfig, BaseCliWorkerController, BaseCompilerForProject, BaseDebounceCompilerForProject, BaseFeatureForProject, BaseGit, BaseLibraryBuild, BaseLinkedProjects, BaseNpmHelpers, BaseProject, BaseProjectResolver, BaseProjectTypeArr, BaseQuickFixes, BaseReleaseProcess, BaseVscodeHelpers, CommitData, CoreAngularProject, CoreProject, CoreTypescriptProject, Helpers, HelpersAngular, LinkedPorjectsConfig, LinkedProject, Port, PortStatusArr, PortsController, PortsWorker, UtilsHttp, UtilsMd, UtilsNpm, UtilsQuickFixes, UtilsTypescript, Validators };
8487
8900
  //# sourceMappingURL=tnp-helpers.mjs.map