underpost 3.2.5 → 3.2.8

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 (138) hide show
  1. package/.github/workflows/release.cd.yml +1 -2
  2. package/CHANGELOG.md +251 -1
  3. package/CLI-HELP.md +26 -13
  4. package/Dockerfile +0 -4
  5. package/README.md +3 -3
  6. package/bin/build.js +13 -3
  7. package/bin/deploy.js +570 -1
  8. package/bin/file.js +5 -0
  9. package/conf.js +11 -2
  10. package/jsconfig.json +1 -1
  11. package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +1 -1
  12. package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +1 -1
  13. package/manifests/deployment/dd-default-development/deployment.yaml +2 -6
  14. package/manifests/deployment/dd-test-development/deployment.yaml +136 -66
  15. package/manifests/deployment/dd-test-development/proxy.yaml +41 -5
  16. package/package.json +20 -11
  17. package/src/api/core/core.controller.js +10 -10
  18. package/src/api/core/core.service.js +10 -10
  19. package/src/api/default/default.controller.js +10 -10
  20. package/src/api/default/default.service.js +10 -10
  21. package/src/api/document/document.controller.js +12 -12
  22. package/src/api/document/document.model.js +10 -16
  23. package/src/api/file/file.controller.js +8 -8
  24. package/src/api/file/file.model.js +10 -10
  25. package/src/api/file/file.service.js +36 -36
  26. package/src/api/test/test.controller.js +8 -8
  27. package/src/api/test/test.service.js +8 -8
  28. package/src/api/user/guest.service.js +99 -0
  29. package/src/api/user/user.controller.js +6 -6
  30. package/src/api/user/user.model.js +8 -13
  31. package/src/api/user/user.service.js +3 -20
  32. package/src/cli/deploy.js +33 -30
  33. package/src/cli/fs.js +62 -5
  34. package/src/cli/image.js +43 -1
  35. package/src/cli/index.js +5 -1
  36. package/src/cli/release.js +57 -1
  37. package/src/cli/repository.js +35 -3
  38. package/src/cli/run.js +300 -35
  39. package/src/cli/ssh.js +1 -1
  40. package/src/cli/static.js +43 -115
  41. package/src/client/Default.index.js +21 -33
  42. package/src/client/components/core/404.js +4 -4
  43. package/src/client/components/core/500.js +4 -4
  44. package/src/client/components/core/Account.js +73 -60
  45. package/src/client/components/core/AgGrid.js +23 -33
  46. package/src/client/components/core/Alert.js +12 -13
  47. package/src/client/components/core/AppStore.js +1 -1
  48. package/src/client/components/core/Auth.js +20 -32
  49. package/src/client/components/core/Badge.js +7 -13
  50. package/src/client/components/core/BtnIcon.js +15 -17
  51. package/src/client/components/core/CalendarCore.js +42 -63
  52. package/src/client/components/core/Chat.js +13 -15
  53. package/src/client/components/core/ClientEvents.js +87 -0
  54. package/src/client/components/core/ColorPaletteElement.js +309 -0
  55. package/src/client/components/core/Content.js +17 -14
  56. package/src/client/components/core/Css.js +15 -71
  57. package/src/client/components/core/CssCore.js +12 -16
  58. package/src/client/components/core/D3Chart.js +4 -4
  59. package/src/client/components/core/Docs.js +60 -59
  60. package/src/client/components/core/DropDown.js +69 -91
  61. package/src/client/components/core/EventBus.js +92 -0
  62. package/src/client/components/core/EventsUI.js +14 -17
  63. package/src/client/components/core/FileExplorer.js +102 -234
  64. package/src/client/components/core/FullScreen.js +47 -75
  65. package/src/client/components/core/Input.js +24 -69
  66. package/src/client/components/core/Keyboard.js +25 -18
  67. package/src/client/components/core/KeyboardAvoidance.js +145 -0
  68. package/src/client/components/core/LoadingAnimation.js +25 -31
  69. package/src/client/components/core/LogIn.js +41 -41
  70. package/src/client/components/core/LogOut.js +23 -14
  71. package/src/client/components/core/Modal.js +397 -176
  72. package/src/client/components/core/NotificationManager.js +14 -18
  73. package/src/client/components/core/Panel.js +54 -50
  74. package/src/client/components/core/PanelForm.js +25 -125
  75. package/src/client/components/core/Polyhedron.js +110 -214
  76. package/src/client/components/core/PublicProfile.js +39 -32
  77. package/src/client/components/core/Recover.js +52 -48
  78. package/src/client/components/core/Responsive.js +88 -32
  79. package/src/client/components/core/RichText.js +9 -18
  80. package/src/client/components/core/Router.js +24 -3
  81. package/src/client/components/core/SearchBox.js +37 -37
  82. package/src/client/components/core/SignUp.js +39 -30
  83. package/src/client/components/core/SocketIo.js +31 -2
  84. package/src/client/components/core/SocketIoHandler.js +6 -6
  85. package/src/client/components/core/ToggleSwitch.js +8 -20
  86. package/src/client/components/core/ToolTip.js +5 -17
  87. package/src/client/components/core/Translate.js +56 -59
  88. package/src/client/components/core/Validator.js +26 -16
  89. package/src/client/components/core/Wallet.js +15 -26
  90. package/src/client/components/core/Worker.js +140 -25
  91. package/src/client/components/core/windowGetDimensions.js +7 -7
  92. package/src/client/components/default/{MenuDefault.js → AppShellDefault.js} +87 -87
  93. package/src/client/components/default/CssDefault.js +12 -12
  94. package/src/client/components/default/LogInDefault.js +6 -4
  95. package/src/client/components/default/LogOutDefault.js +6 -4
  96. package/src/client/components/default/RouterDefault.js +47 -0
  97. package/src/client/components/default/SettingsDefault.js +4 -4
  98. package/src/client/components/default/SignUpDefault.js +6 -4
  99. package/src/client/components/default/TranslateDefault.js +3 -3
  100. package/src/client/services/core/core.service.js +17 -49
  101. package/src/client/services/default/default.management.js +139 -242
  102. package/src/client/services/default/default.service.js +10 -16
  103. package/src/client/services/document/document.service.js +14 -19
  104. package/src/client/services/file/file.service.js +8 -13
  105. package/src/client/services/test/test.service.js +8 -13
  106. package/src/client/services/user/guest.service.js +79 -0
  107. package/src/client/services/user/user.management.js +5 -5
  108. package/src/client/services/user/user.service.js +14 -20
  109. package/src/client/ssr/body/404.js +3 -3
  110. package/src/client/ssr/body/500.js +3 -3
  111. package/src/client/ssr/body/CacheControl.js +5 -2
  112. package/src/client/ssr/body/DefaultSplashScreen.js +19 -12
  113. package/src/client/ssr/mailer/DefaultRecoverEmail.js +19 -20
  114. package/src/client/ssr/mailer/DefaultVerifyEmail.js +15 -16
  115. package/src/client/ssr/offline/Maintenance.js +12 -11
  116. package/src/client/ssr/offline/NoNetworkConnection.js +3 -3
  117. package/src/client/ssr/pages/Test.js +2 -2
  118. package/src/client/sw/core.sw.js +212 -0
  119. package/src/index.js +1 -1
  120. package/src/runtime/express/Dockerfile +4 -4
  121. package/src/runtime/lampp/Dockerfile +8 -7
  122. package/src/runtime/wp/Dockerfile +11 -17
  123. package/src/server/client-build-docs.js +45 -46
  124. package/src/server/client-build.js +334 -60
  125. package/src/server/client-formatted.js +47 -16
  126. package/src/server/conf.js +5 -4
  127. package/src/server/ipfs-client.js +232 -91
  128. package/src/server/process.js +13 -27
  129. package/src/server/start.js +6 -3
  130. package/src/server/valkey.js +134 -235
  131. package/tsconfig.docs.json +15 -0
  132. package/typedoc.json +20 -0
  133. package/jsdoc.json +0 -52
  134. package/src/client/components/core/ColorPalette.js +0 -5267
  135. package/src/client/components/core/JoyStick.js +0 -80
  136. package/src/client/components/default/RoutesDefault.js +0 -49
  137. package/src/client/sw/default.sw.js +0 -127
  138. package/src/client/sw/template.sw.js +0 -84
@@ -17,7 +17,7 @@ spec:
17
17
  spec:
18
18
  containers:
19
19
  - name: dd-default-development-blue
20
- image: localhost/rockylinux9-underpost:v3.2.5
20
+ image: underpost/underpost-engine:v3.2.8
21
21
  # resources:
22
22
  # requests:
23
23
  # memory: "124Ki"
@@ -29,8 +29,6 @@ spec:
29
29
  - /bin/sh
30
30
  - -c
31
31
  - >
32
- npm install -g npm@11.2.0 &&
33
- npm install -g underpost &&
34
32
  cd $(underpost root)/underpost &&
35
33
  node bin new --default-conf --conf-workflow-id template &&
36
34
  mkdir -p /home/dd &&
@@ -100,7 +98,7 @@ spec:
100
98
  spec:
101
99
  containers:
102
100
  - name: dd-default-development-green
103
- image: localhost/rockylinux9-underpost:v3.2.5
101
+ image: underpost/underpost-engine:v3.2.8
104
102
  # resources:
105
103
  # requests:
106
104
  # memory: "124Ki"
@@ -112,8 +110,6 @@ spec:
112
110
  - /bin/sh
113
111
  - -c
114
112
  - >
115
- npm install -g npm@11.2.0 &&
116
- npm install -g underpost &&
117
113
  cd $(underpost root)/underpost &&
118
114
  node bin new --default-conf --conf-workflow-id template &&
119
115
  mkdir -p /home/dd &&
@@ -20,7 +20,8 @@ spec:
20
20
  spec:
21
21
  containers:
22
22
  - name: dd-test-development-blue
23
- image: localhost/rockylinux9-underpost:v3.2.5
23
+ image: underpost/underpost-engine:v3.2.8
24
+ imagePullPolicy: IfNotPresent
24
25
  envFrom:
25
26
  - secretRef:
26
27
  name: underpost-config
@@ -29,8 +30,6 @@ spec:
29
30
  - /bin/sh
30
31
  - -c
31
32
  - >
32
- npm install -g npm@11.2.0 &&
33
- npm install -g underpost &&
34
33
  underpost secret underpost --create-from-env &&
35
34
  underpost start --build --run dd-test development
36
35
 
@@ -45,50 +44,86 @@ spec:
45
44
  selector:
46
45
  app: dd-test-development-blue
47
46
  ports:
48
- - name: 'tcp-4046'
47
+ - name: 'tcp-4033'
49
48
  protocol: TCP
50
- port: 4046
51
- targetPort: 4046
52
- - name: 'udp-4046'
49
+ port: 4033
50
+ targetPort: 4033
51
+ - name: 'udp-4033'
53
52
  protocol: UDP
54
- port: 4046
55
- targetPort: 4046
53
+ port: 4033
54
+ targetPort: 4033
56
55
 
57
- - name: 'tcp-4047'
56
+ - name: 'tcp-4034'
58
57
  protocol: TCP
59
- port: 4047
60
- targetPort: 4047
61
- - name: 'udp-4047'
58
+ port: 4034
59
+ targetPort: 4034
60
+ - name: 'udp-4034'
62
61
  protocol: UDP
63
- port: 4047
64
- targetPort: 4047
62
+ port: 4034
63
+ targetPort: 4034
65
64
 
66
- - name: 'tcp-4048'
65
+ - name: 'tcp-4035'
67
66
  protocol: TCP
68
- port: 4048
69
- targetPort: 4048
70
- - name: 'udp-4048'
67
+ port: 4035
68
+ targetPort: 4035
69
+ - name: 'udp-4035'
71
70
  protocol: UDP
72
- port: 4048
73
- targetPort: 4048
71
+ port: 4035
72
+ targetPort: 4035
74
73
 
75
- - name: 'tcp-4049'
74
+ - name: 'tcp-4036'
76
75
  protocol: TCP
77
- port: 4049
78
- targetPort: 4049
79
- - name: 'udp-4049'
76
+ port: 4036
77
+ targetPort: 4036
78
+ - name: 'udp-4036'
80
79
  protocol: UDP
81
- port: 4049
82
- targetPort: 4049
80
+ port: 4036
81
+ targetPort: 4036
83
82
 
84
- - name: 'tcp-4050'
83
+ - name: 'tcp-4037'
85
84
  protocol: TCP
86
- port: 4050
87
- targetPort: 4050
88
- - name: 'udp-4050'
85
+ port: 4037
86
+ targetPort: 4037
87
+ - name: 'udp-4037'
89
88
  protocol: UDP
90
- port: 4050
91
- targetPort: 4050
89
+ port: 4037
90
+ targetPort: 4037
91
+
92
+ - name: 'tcp-4038'
93
+ protocol: TCP
94
+ port: 4038
95
+ targetPort: 4038
96
+ - name: 'udp-4038'
97
+ protocol: UDP
98
+ port: 4038
99
+ targetPort: 4038
100
+
101
+ - name: 'tcp-4039'
102
+ protocol: TCP
103
+ port: 4039
104
+ targetPort: 4039
105
+ - name: 'udp-4039'
106
+ protocol: UDP
107
+ port: 4039
108
+ targetPort: 4039
109
+
110
+ - name: 'tcp-4040'
111
+ protocol: TCP
112
+ port: 4040
113
+ targetPort: 4040
114
+ - name: 'udp-4040'
115
+ protocol: UDP
116
+ port: 4040
117
+ targetPort: 4040
118
+
119
+ - name: 'tcp-4041'
120
+ protocol: TCP
121
+ port: 4041
122
+ targetPort: 4041
123
+ - name: 'udp-4041'
124
+ protocol: UDP
125
+ port: 4041
126
+ targetPort: 4041
92
127
  type: LoadBalancer
93
128
  ---
94
129
  apiVersion: apps/v1
@@ -112,7 +147,8 @@ spec:
112
147
  spec:
113
148
  containers:
114
149
  - name: dd-test-development-green
115
- image: localhost/rockylinux9-underpost:v3.2.5
150
+ image: underpost/underpost-engine:v3.2.8
151
+ imagePullPolicy: IfNotPresent
116
152
  envFrom:
117
153
  - secretRef:
118
154
  name: underpost-config
@@ -121,8 +157,6 @@ spec:
121
157
  - /bin/sh
122
158
  - -c
123
159
  - >
124
- npm install -g npm@11.2.0 &&
125
- npm install -g underpost &&
126
160
  underpost secret underpost --create-from-env &&
127
161
  underpost start --build --run dd-test development
128
162
 
@@ -137,48 +171,84 @@ spec:
137
171
  selector:
138
172
  app: dd-test-development-green
139
173
  ports:
140
- - name: 'tcp-4046'
174
+ - name: 'tcp-4033'
175
+ protocol: TCP
176
+ port: 4033
177
+ targetPort: 4033
178
+ - name: 'udp-4033'
179
+ protocol: UDP
180
+ port: 4033
181
+ targetPort: 4033
182
+
183
+ - name: 'tcp-4034'
184
+ protocol: TCP
185
+ port: 4034
186
+ targetPort: 4034
187
+ - name: 'udp-4034'
188
+ protocol: UDP
189
+ port: 4034
190
+ targetPort: 4034
191
+
192
+ - name: 'tcp-4035'
193
+ protocol: TCP
194
+ port: 4035
195
+ targetPort: 4035
196
+ - name: 'udp-4035'
197
+ protocol: UDP
198
+ port: 4035
199
+ targetPort: 4035
200
+
201
+ - name: 'tcp-4036'
202
+ protocol: TCP
203
+ port: 4036
204
+ targetPort: 4036
205
+ - name: 'udp-4036'
206
+ protocol: UDP
207
+ port: 4036
208
+ targetPort: 4036
209
+
210
+ - name: 'tcp-4037'
141
211
  protocol: TCP
142
- port: 4046
143
- targetPort: 4046
144
- - name: 'udp-4046'
212
+ port: 4037
213
+ targetPort: 4037
214
+ - name: 'udp-4037'
145
215
  protocol: UDP
146
- port: 4046
147
- targetPort: 4046
216
+ port: 4037
217
+ targetPort: 4037
148
218
 
149
- - name: 'tcp-4047'
219
+ - name: 'tcp-4038'
150
220
  protocol: TCP
151
- port: 4047
152
- targetPort: 4047
153
- - name: 'udp-4047'
221
+ port: 4038
222
+ targetPort: 4038
223
+ - name: 'udp-4038'
154
224
  protocol: UDP
155
- port: 4047
156
- targetPort: 4047
225
+ port: 4038
226
+ targetPort: 4038
157
227
 
158
- - name: 'tcp-4048'
228
+ - name: 'tcp-4039'
159
229
  protocol: TCP
160
- port: 4048
161
- targetPort: 4048
162
- - name: 'udp-4048'
230
+ port: 4039
231
+ targetPort: 4039
232
+ - name: 'udp-4039'
163
233
  protocol: UDP
164
- port: 4048
165
- targetPort: 4048
234
+ port: 4039
235
+ targetPort: 4039
166
236
 
167
- - name: 'tcp-4049'
237
+ - name: 'tcp-4040'
168
238
  protocol: TCP
169
- port: 4049
170
- targetPort: 4049
171
- - name: 'udp-4049'
239
+ port: 4040
240
+ targetPort: 4040
241
+ - name: 'udp-4040'
172
242
  protocol: UDP
173
- port: 4049
174
- targetPort: 4049
243
+ port: 4040
244
+ targetPort: 4040
175
245
 
176
- - name: 'tcp-4050'
246
+ - name: 'tcp-4041'
177
247
  protocol: TCP
178
- port: 4050
179
- targetPort: 4050
180
- - name: 'udp-4050'
248
+ port: 4041
249
+ targetPort: 4041
250
+ - name: 'udp-4041'
181
251
  protocol: UDP
182
- port: 4050
183
- targetPort: 4050
252
+ port: 4041
253
+ targetPort: 4041
184
254
  type: LoadBalancer
@@ -15,7 +15,7 @@ spec:
15
15
  enableWebsockets: true
16
16
  services:
17
17
  - name: dd-test-development-blue-service
18
- port: 4046
18
+ port: 4033
19
19
  weight: 100
20
20
 
21
21
  - conditions:
@@ -24,7 +24,7 @@ spec:
24
24
  enableWebsockets: true
25
25
  services:
26
26
  - name: dd-test-development-blue-service
27
- port: 4047
27
+ port: 4034
28
28
  weight: 100
29
29
 
30
30
  - conditions:
@@ -33,7 +33,43 @@ spec:
33
33
  enableWebsockets: true
34
34
  services:
35
35
  - name: dd-test-development-blue-service
36
- port: 4048
36
+ port: 4035
37
+ weight: 100
38
+
39
+ - conditions:
40
+ - prefix: /r1
41
+
42
+ enableWebsockets: true
43
+ services:
44
+ - name: dd-test-development-blue-service
45
+ port: 4036
46
+ weight: 100
47
+
48
+ - conditions:
49
+ - prefix: /r1/peer
50
+
51
+ enableWebsockets: true
52
+ services:
53
+ - name: dd-test-development-blue-service
54
+ port: 4037
55
+ weight: 100
56
+
57
+ - conditions:
58
+ - prefix: /r2
59
+
60
+ enableWebsockets: true
61
+ services:
62
+ - name: dd-test-development-blue-service
63
+ port: 4038
64
+ weight: 100
65
+
66
+ - conditions:
67
+ - prefix: /r2/peer
68
+
69
+ enableWebsockets: true
70
+ services:
71
+ - name: dd-test-development-blue-service
72
+ port: 4039
37
73
  weight: 100
38
74
 
39
75
  ---
@@ -52,7 +88,7 @@ spec:
52
88
  enableWebsockets: true
53
89
  services:
54
90
  - name: dd-test-development-blue-service
55
- port: 4049
91
+ port: 4040
56
92
  weight: 100
57
93
 
58
94
  - conditions:
@@ -61,6 +97,6 @@ spec:
61
97
  enableWebsockets: true
62
98
  services:
63
99
  - name: dd-test-development-blue-service
64
- port: 4050
100
+ port: 4041
65
101
  weight: 100
66
102
 
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "type": "module",
3
3
  "main": "src/index.js",
4
4
  "name": "underpost",
5
- "version": "3.2.5",
5
+ "version": "3.2.8",
6
6
  "description": "pwa api rest template",
7
7
  "scripts": {
8
8
  "start": "node --max-old-space-size=8192 src/server",
@@ -14,8 +14,8 @@
14
14
  "dev:api": "NODE_ENV=development nodemon --watch src --ignore src/client src/api",
15
15
  "dev:client": "NODE_ENV=development node src/client.dev",
16
16
  "dev:proxy": "NODE_ENV=development node src/proxy proxy",
17
- "docs": "jsdoc -c jsdoc.json",
18
- "install:global": "npm install -g jsdoc && npm install -g prettier",
17
+ "docs": "typedoc --options typedoc.json",
18
+ "install:global": "npm install -g prettier",
19
19
  "install:test": "npm install -g mocha && npm install -g c8 && npm install -g coveralls-next",
20
20
  "install": "npm run install:global && npm run install:test",
21
21
  "prettier": "prettier --write .",
@@ -58,24 +58,24 @@
58
58
  "@neodrag/vanilla": "^2.3.1",
59
59
  "adm-zip": "^0.5.17",
60
60
  "ag-grid-community": "^35.2.1",
61
- "axios": "^1.14.0",
61
+ "axios": "^1.15.2",
62
62
  "chai": "^6.2.2",
63
- "clean-jsdoc-theme": "^4.3.0",
64
63
  "clipboardy": "^5.3.1",
65
- "cloudinary": "^2.5.1",
64
+ "cloudinary": "^2.10.0",
66
65
  "colors": "^1.4.0",
67
66
  "commander": "^14.0.3",
68
67
  "compression": "^1.7.4",
69
68
  "cookie-parser": "^1.4.7",
70
69
  "cors": "^2.8.6",
71
70
  "d3": "^7.9.0",
71
+ "dexie": "^4.2.1",
72
72
  "dotenv": "^17.4.2",
73
73
  "easymde": "^2.18.0",
74
74
  "esbuild": "^0.28.0",
75
75
  "escape-string-regexp": "^5.0.0",
76
76
  "express": "^5.2.1",
77
77
  "express-fileupload": "^1.4.3",
78
- "express-rate-limit": "^8.3.2",
78
+ "express-rate-limit": "^8.4.1",
79
79
  "express-slow-down": "^3.1.0",
80
80
  "fast-json-stable-stringify": "^2.1.0",
81
81
  "favicons": "^7.2.0",
@@ -89,11 +89,11 @@
89
89
  "json-colorizer": "^3.0.1",
90
90
  "jsonwebtoken": "^9.0.3",
91
91
  "mariadb": "^3.2.2",
92
- "marked": "^18.0.0",
92
+ "marked": "^18.0.2",
93
93
  "mocha": "^11.3.0",
94
- "mongoose": "^9.4.1",
94
+ "mongoose": "^9.5.0",
95
95
  "morgan": "^1.10.0",
96
- "nodemailer": "^8.0.3",
96
+ "nodemailer": "^8.0.6",
97
97
  "nodemon": "^3.0.1",
98
98
  "peer": "^1.0.2",
99
99
  "peerjs": "^1.5.5",
@@ -107,9 +107,18 @@
107
107
  "split-file": "^2.3.0",
108
108
  "swagger-autogen": "^2.23.7",
109
109
  "swagger-ui-express": "^5.0.0",
110
+ "typedoc": "^0.28.19",
111
+ "typescript": "^5.8.0",
110
112
  "validator": "^13.15.35",
111
113
  "vanilla-jsoneditor": "^3.12.0",
112
- "winston": "^3.19.0"
114
+ "winston": "^3.19.0",
115
+ "workbox-background-sync": "^7.4.0",
116
+ "workbox-cacheable-response": "^7.4.0",
117
+ "workbox-core": "^7.4.0",
118
+ "workbox-expiration": "^7.4.0",
119
+ "workbox-precaching": "^7.4.0",
120
+ "workbox-routing": "^7.4.0",
121
+ "workbox-strategies": "^7.4.0"
113
122
  },
114
123
  "publishConfig": {
115
124
  "provenance": true,
@@ -3,8 +3,8 @@ import { CoreService } from './core.service.js';
3
3
 
4
4
  const logger = loggerFactory(import.meta);
5
5
 
6
- const CoreController = {
7
- post: async (req, res, options) => {
6
+ class CoreController {
7
+ static post = async (req, res, options) => {
8
8
  try {
9
9
  const result = await CoreService.post(req, res, options);
10
10
  return res.status(200).json({
@@ -18,8 +18,8 @@ const CoreController = {
18
18
  message: error.message,
19
19
  });
20
20
  }
21
- },
22
- get: async (req, res, options) => {
21
+ };
22
+ static get = async (req, res, options) => {
23
23
  try {
24
24
  const result = await CoreService.put(req, res, options);
25
25
  return res.status(200).json({
@@ -33,8 +33,8 @@ const CoreController = {
33
33
  message: error.message,
34
34
  });
35
35
  }
36
- },
37
- put: async (req, res, options) => {
36
+ };
37
+ static put = async (req, res, options) => {
38
38
  try {
39
39
  const result = await CoreService.get(req, res, options);
40
40
  return res.status(200).json({
@@ -48,8 +48,8 @@ const CoreController = {
48
48
  message: error.message,
49
49
  });
50
50
  }
51
- },
52
- delete: async (req, res, options) => {
51
+ };
52
+ static delete = async (req, res, options) => {
53
53
  try {
54
54
  const result = await CoreService.delete(req, res, options);
55
55
  return res.status(200).json({
@@ -63,7 +63,7 @@ const CoreController = {
63
63
  message: error.message,
64
64
  });
65
65
  }
66
- },
67
- };
66
+ };
67
+ }
68
68
 
69
69
  export { CoreController };
@@ -4,27 +4,27 @@ import { shellExec } from '../../server/process.js';
4
4
 
5
5
  const logger = loggerFactory(import.meta);
6
6
 
7
- const CoreService = {
8
- post: async (req, res, options) => {
7
+ class CoreService {
8
+ static post = async (req, res, options) => {
9
9
  /** @type {import('./core.model.js').CoreModel} */
10
10
  const Core = DataBaseProvider.instance[`${options.host}${options.path}`].mongoose.models.Core;
11
11
  return await new Core(req.body).save();
12
- },
13
- get: async (req, res, options) => {
12
+ };
13
+ static get = async (req, res, options) => {
14
14
  /** @type {import('./core.model.js').CoreModel} */
15
15
  const Core = DataBaseProvider.instance[`${options.host}${options.path}`].mongoose.models.Core;
16
16
  return await Core.findById(req.params.id);
17
- },
18
- put: async (req, res, options) => {
17
+ };
18
+ static put = async (req, res, options) => {
19
19
  /** @type {import('./core.model.js').CoreModel} */
20
20
  const Core = DataBaseProvider.instance[`${options.host}${options.path}`].mongoose.models.Core;
21
21
  return await Core.findByIdAndUpdate(req.params.id, req.body);
22
- },
23
- delete: async (req, res, options) => {
22
+ };
23
+ static delete = async (req, res, options) => {
24
24
  /** @type {import('./core.model.js').CoreModel} */
25
25
  const Core = DataBaseProvider.instance[`${options.host}${options.path}`].mongoose.models.Core;
26
26
  return await Core.findByIdAndDelete(req.params.id);
27
- },
28
- };
27
+ };
28
+ }
29
29
 
30
30
  export { CoreService };
@@ -3,8 +3,8 @@ import { DefaultService } from './default.service.js';
3
3
 
4
4
  const logger = loggerFactory(import.meta);
5
5
 
6
- const DefaultController = {
7
- post: async (req, res, options) => {
6
+ class DefaultController {
7
+ static post = async (req, res, options) => {
8
8
  try {
9
9
  const result = await DefaultService.post(req, res, options);
10
10
  return res.status(200).json({
@@ -18,8 +18,8 @@ const DefaultController = {
18
18
  message: error.message,
19
19
  });
20
20
  }
21
- },
22
- get: async (req, res, options) => {
21
+ };
22
+ static get = async (req, res, options) => {
23
23
  try {
24
24
  const { page, limit } = req.query;
25
25
  const result = await DefaultService.get(
@@ -38,8 +38,8 @@ const DefaultController = {
38
38
  message: error.message,
39
39
  });
40
40
  }
41
- },
42
- put: async (req, res, options) => {
41
+ };
42
+ static put = async (req, res, options) => {
43
43
  try {
44
44
  const result = await DefaultService.put(req, res, options);
45
45
  return res.status(200).json({
@@ -53,8 +53,8 @@ const DefaultController = {
53
53
  message: error.message,
54
54
  });
55
55
  }
56
- },
57
- delete: async (req, res, options) => {
56
+ };
57
+ static delete = async (req, res, options) => {
58
58
  try {
59
59
  const result = await DefaultService.delete(req, res, options);
60
60
  return res.status(200).json({
@@ -68,7 +68,7 @@ const DefaultController = {
68
68
  message: error.message,
69
69
  });
70
70
  }
71
- },
72
- };
71
+ };
72
+ }
73
73
 
74
74
  export { DefaultController };
@@ -4,13 +4,13 @@ import { DataQuery } from '../../server/data-query.js';
4
4
 
5
5
  const logger = loggerFactory(import.meta);
6
6
 
7
- const DefaultService = {
8
- post: async (req, res, options) => {
7
+ class DefaultService {
8
+ static post = async (req, res, options) => {
9
9
  /** @type {import('./default.model.js').DefaultModel} */
10
10
  const Default = DataBaseProvider.instance[`${options.host}${options.path}`].mongoose.models.Default;
11
11
  return await new Default(req.body).save();
12
- },
13
- get: async (req, res, options) => {
12
+ };
13
+ static get = async (req, res, options) => {
14
14
  /** @type {import('./default.model.js').DefaultModel} */
15
15
  const Default = DataBaseProvider.instance[`${options.host}${options.path}`].mongoose.models.Default;
16
16
  if (req.params.id) return await Default.findById(req.params.id);
@@ -25,18 +25,18 @@ const DefaultService = {
25
25
 
26
26
  const totalPages = Math.ceil(total / limit);
27
27
  return { data, total, page, totalPages };
28
- },
29
- put: async (req, res, options) => {
28
+ };
29
+ static put = async (req, res, options) => {
30
30
  /** @type {import('./default.model.js').DefaultModel} */
31
31
  const Default = DataBaseProvider.instance[`${options.host}${options.path}`].mongoose.models.Default;
32
32
  return await Default.findByIdAndUpdate(req.params.id, req.body);
33
- },
34
- delete: async (req, res, options) => {
33
+ };
34
+ static delete = async (req, res, options) => {
35
35
  /** @type {import('./default.model.js').DefaultModel} */
36
36
  const Default = DataBaseProvider.instance[`${options.host}${options.path}`].mongoose.models.Default;
37
37
  if (req.params.id) return await Default.findByIdAndDelete(req.params.id);
38
38
  else return await Default.deleteMany();
39
- },
40
- };
39
+ };
40
+ }
41
41
 
42
42
  export { DefaultService };