@saltcorn/server 0.6.1-beta.0 → 0.6.1
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.
- package/app.js +7 -0
- package/auth/admin.js +120 -5
- package/auth/index.js +7 -0
- package/auth/resetpw.js +22 -0
- package/auth/roleadmin.js +52 -0
- package/auth/routes.js +211 -2
- package/auth/testhelp.js +69 -0
- package/errors.js +14 -1
- package/fixture_persons.js +14 -0
- package/index.js +6 -0
- package/load_plugins.js +4 -3
- package/locales/en.json +7 -1
- package/markup/admin.js +97 -1
- package/markup/blockly.js +15 -0
- package/markup/expression_blurb.js +45 -0
- package/markup/forms.js +24 -0
- package/markup/index.js +7 -0
- package/markup/plugin-store.js +36 -0
- package/package.json +6 -6
- package/public/saltcorn-builder.css +1 -0
- package/public/saltcorn.js +5 -1
- package/routes/actions.js +53 -1
- package/routes/admin.js +97 -1
- package/routes/api.js +45 -10
- package/routes/config.js +18 -0
- package/routes/crashlog.js +31 -0
- package/routes/delete.js +19 -0
- package/routes/edit.js +19 -0
- package/routes/eventlog.js +65 -1
- package/routes/events.js +19 -0
- package/routes/fields.js +88 -0
- package/routes/files.js +62 -0
- package/routes/homepage.js +175 -80
- package/routes/index.js +7 -1
- package/routes/infoarch.js +56 -0
- package/routes/library.js +32 -0
- package/routes/list.js +28 -1
- package/routes/menu.js +45 -0
- package/routes/packs.js +53 -0
- package/routes/page.js +26 -0
- package/routes/pageedit.js +129 -3
- package/routes/plugins.js +156 -5
- package/routes/scapi.js +79 -23
- package/routes/search.js +51 -0
- package/routes/settings.js +27 -0
- package/routes/tables.js +148 -19
- package/routes/tenant.js +123 -31
- package/routes/utils.js +60 -1
- package/routes/view.js +37 -0
- package/routes/viewedit.js +114 -1
- package/serve.js +138 -88
- package/systemd.js +18 -1
- package/wrapper.js +4 -0
package/routes/admin.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @category server
|
|
3
|
+
* @module routes/admin
|
|
4
|
+
* @subcategory routes
|
|
5
|
+
*/
|
|
1
6
|
const Router = require("express-promise-router");
|
|
2
7
|
|
|
3
8
|
const {
|
|
@@ -62,9 +67,20 @@ const {
|
|
|
62
67
|
} = require("../markup/admin");
|
|
63
68
|
const moment = require("moment");
|
|
64
69
|
|
|
70
|
+
/**
|
|
71
|
+
* @type {object}
|
|
72
|
+
* @const
|
|
73
|
+
* @namespace routes/adminRouter
|
|
74
|
+
* @category server
|
|
75
|
+
* @subcategory routes
|
|
76
|
+
*/
|
|
65
77
|
const router = new Router();
|
|
66
78
|
module.exports = router;
|
|
67
79
|
|
|
80
|
+
/**
|
|
81
|
+
* @param {object} req
|
|
82
|
+
* @returns {Promise<Form>}
|
|
83
|
+
*/
|
|
68
84
|
const site_id_form = (req) =>
|
|
69
85
|
config_fields_form({
|
|
70
86
|
req,
|
|
@@ -85,7 +101,7 @@ const site_id_form = (req) =>
|
|
|
85
101
|
});
|
|
86
102
|
/**
|
|
87
103
|
* Email settings form definition
|
|
88
|
-
* @param req
|
|
104
|
+
* @param {object} req request
|
|
89
105
|
* @returns {Promise<Form>} form
|
|
90
106
|
*/
|
|
91
107
|
const email_form = async (req) => {
|
|
@@ -107,6 +123,12 @@ const email_form = async (req) => {
|
|
|
107
123
|
"remove_outline(this);$('#testemail').attr('href','#').removeClass('btn-primary').addClass('btn-outline-primary')";
|
|
108
124
|
return form;
|
|
109
125
|
};
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* @name get
|
|
129
|
+
* @function
|
|
130
|
+
* @memberof module:routes/admin~routes/adminRouter
|
|
131
|
+
*/
|
|
110
132
|
router.get(
|
|
111
133
|
"/",
|
|
112
134
|
setTenant,
|
|
@@ -126,6 +148,12 @@ router.get(
|
|
|
126
148
|
});
|
|
127
149
|
})
|
|
128
150
|
);
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* @name post
|
|
154
|
+
* @function
|
|
155
|
+
* @memberof module:routes/admin~routes/adminRouter
|
|
156
|
+
*/
|
|
129
157
|
router.post(
|
|
130
158
|
"/",
|
|
131
159
|
setTenant,
|
|
@@ -153,6 +181,12 @@ router.post(
|
|
|
153
181
|
}
|
|
154
182
|
})
|
|
155
183
|
);
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* @name get/email
|
|
187
|
+
* @function
|
|
188
|
+
* @memberof module:routes/admin~routes/adminRouter
|
|
189
|
+
*/
|
|
156
190
|
router.get(
|
|
157
191
|
"/email",
|
|
158
192
|
setTenant,
|
|
@@ -182,6 +216,11 @@ router.get(
|
|
|
182
216
|
})
|
|
183
217
|
);
|
|
184
218
|
|
|
219
|
+
/**
|
|
220
|
+
* @name get/send-test-email
|
|
221
|
+
* @function
|
|
222
|
+
* @memberof module:routes/admin~routes/adminRouter
|
|
223
|
+
*/
|
|
185
224
|
router.get(
|
|
186
225
|
"/send-test-email",
|
|
187
226
|
setTenant,
|
|
@@ -207,6 +246,12 @@ router.get(
|
|
|
207
246
|
res.redirect("/admin/email");
|
|
208
247
|
})
|
|
209
248
|
);
|
|
249
|
+
|
|
250
|
+
/**
|
|
251
|
+
* @name post/email
|
|
252
|
+
* @function
|
|
253
|
+
* @memberof module:routes/admin~routes/adminRouter
|
|
254
|
+
*/
|
|
210
255
|
router.post(
|
|
211
256
|
"/email",
|
|
212
257
|
setTenant,
|
|
@@ -232,6 +277,12 @@ router.post(
|
|
|
232
277
|
}
|
|
233
278
|
})
|
|
234
279
|
);
|
|
280
|
+
|
|
281
|
+
/**
|
|
282
|
+
* @name get/backup
|
|
283
|
+
* @function
|
|
284
|
+
* @memberof module:routes/admin~routes/adminRouter
|
|
285
|
+
*/
|
|
235
286
|
router.get(
|
|
236
287
|
"/backup",
|
|
237
288
|
setTenant,
|
|
@@ -272,6 +323,11 @@ router.get(
|
|
|
272
323
|
})
|
|
273
324
|
);
|
|
274
325
|
|
|
326
|
+
/**
|
|
327
|
+
* @name get/system
|
|
328
|
+
* @function
|
|
329
|
+
* @memberof module:routes/admin~routes/adminRouter
|
|
330
|
+
*/
|
|
275
331
|
router.get(
|
|
276
332
|
"/system",
|
|
277
333
|
setTenant,
|
|
@@ -387,6 +443,11 @@ router.get(
|
|
|
387
443
|
})
|
|
388
444
|
);
|
|
389
445
|
|
|
446
|
+
/**
|
|
447
|
+
* @name post/restart
|
|
448
|
+
* @function
|
|
449
|
+
* @memberof module:routes/admin~routes/adminRouter
|
|
450
|
+
*/
|
|
390
451
|
router.post(
|
|
391
452
|
"/restart",
|
|
392
453
|
setTenant,
|
|
@@ -405,6 +466,11 @@ router.post(
|
|
|
405
466
|
})
|
|
406
467
|
);
|
|
407
468
|
|
|
469
|
+
/**
|
|
470
|
+
* @name post/upgrade
|
|
471
|
+
* @function
|
|
472
|
+
* @memberof module:routes/admin~routes/adminRouter
|
|
473
|
+
*/
|
|
408
474
|
router.post(
|
|
409
475
|
"/upgrade",
|
|
410
476
|
setTenant,
|
|
@@ -437,6 +503,11 @@ router.post(
|
|
|
437
503
|
})
|
|
438
504
|
);
|
|
439
505
|
|
|
506
|
+
/**
|
|
507
|
+
* @name post/backup
|
|
508
|
+
* @function
|
|
509
|
+
* @memberof module:routes/admin~routes/adminRouter
|
|
510
|
+
*/
|
|
440
511
|
router.post(
|
|
441
512
|
"/backup",
|
|
442
513
|
setTenant,
|
|
@@ -453,6 +524,11 @@ router.post(
|
|
|
453
524
|
})
|
|
454
525
|
);
|
|
455
526
|
|
|
527
|
+
/**
|
|
528
|
+
* @name post/restore
|
|
529
|
+
* @function
|
|
530
|
+
* @memberof module:routes/admin~routes/adminRouter
|
|
531
|
+
*/
|
|
456
532
|
router.post(
|
|
457
533
|
"/restore",
|
|
458
534
|
setTenant,
|
|
@@ -470,6 +546,10 @@ router.post(
|
|
|
470
546
|
})
|
|
471
547
|
);
|
|
472
548
|
|
|
549
|
+
/**
|
|
550
|
+
* @param {object} req
|
|
551
|
+
* @returns {Form}
|
|
552
|
+
*/
|
|
473
553
|
const clearAllForm = (req) =>
|
|
474
554
|
new Form({
|
|
475
555
|
action: "/admin/clear-all",
|
|
@@ -541,6 +621,11 @@ const clearAllForm = (req) =>
|
|
|
541
621
|
],
|
|
542
622
|
});
|
|
543
623
|
|
|
624
|
+
/**
|
|
625
|
+
* @name post/enable-letsencrypt
|
|
626
|
+
* @function
|
|
627
|
+
* @memberof module:routes/admin~routes/adminRouter
|
|
628
|
+
*/
|
|
544
629
|
router.post(
|
|
545
630
|
"/enable-letsencrypt",
|
|
546
631
|
setTenant,
|
|
@@ -614,6 +699,11 @@ router.post(
|
|
|
614
699
|
})
|
|
615
700
|
);
|
|
616
701
|
|
|
702
|
+
/**
|
|
703
|
+
* @name get/clear-all
|
|
704
|
+
* @function
|
|
705
|
+
* @memberof module:routes/admin~routes/adminRouter
|
|
706
|
+
*/
|
|
617
707
|
router.get(
|
|
618
708
|
"/clear-all",
|
|
619
709
|
setTenant,
|
|
@@ -638,6 +728,12 @@ router.get(
|
|
|
638
728
|
});
|
|
639
729
|
})
|
|
640
730
|
);
|
|
731
|
+
|
|
732
|
+
/**
|
|
733
|
+
* @name post/clear-all
|
|
734
|
+
* @function
|
|
735
|
+
* @memberof module:routes/admin~routes/adminRouter
|
|
736
|
+
*/
|
|
641
737
|
router.post(
|
|
642
738
|
"/clear-all",
|
|
643
739
|
setTenant,
|
package/routes/api.js
CHANGED
|
@@ -9,8 +9,11 @@
|
|
|
9
9
|
* To solve this in future needs to publish sc_role table into user tables of saltcorn.
|
|
10
10
|
*
|
|
11
11
|
* Documentation: https://wiki.saltcorn.com/view/ShowPage?title=API
|
|
12
|
-
* @
|
|
12
|
+
* @category server
|
|
13
|
+
* @module routes/api
|
|
14
|
+
* @subcategory routes
|
|
13
15
|
*/
|
|
16
|
+
/** @type {module:express-promise-router} */
|
|
14
17
|
const Router = require("express-promise-router");
|
|
15
18
|
//const db = require("@saltcorn/data/db");
|
|
16
19
|
const { setTenant, error_catcher } = require("./utils.js");
|
|
@@ -26,9 +29,21 @@ const {
|
|
|
26
29
|
stateFieldsToWhere,
|
|
27
30
|
readState,
|
|
28
31
|
} = require("@saltcorn/data/plugin-helper");
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* @type {object}
|
|
35
|
+
* @const
|
|
36
|
+
* @namespace apiRouter
|
|
37
|
+
* @category server
|
|
38
|
+
* @subcategory routes
|
|
39
|
+
*/
|
|
29
40
|
const router = new Router();
|
|
30
41
|
module.exports = router;
|
|
31
42
|
|
|
43
|
+
/**
|
|
44
|
+
* @param {*} fields
|
|
45
|
+
* @returns {*}
|
|
46
|
+
*/
|
|
32
47
|
const limitFields = (fields) => (r) => {
|
|
33
48
|
if (fields) {
|
|
34
49
|
let res = {};
|
|
@@ -44,9 +59,9 @@ const limitFields = (fields) => (r) => {
|
|
|
44
59
|
|
|
45
60
|
/**
|
|
46
61
|
* Check that user has right to read table data (only read in terms of CRUD)
|
|
47
|
-
* @param req
|
|
48
|
-
* @param user - user based on access token
|
|
49
|
-
* @param table
|
|
62
|
+
* @param {object} req httprequest
|
|
63
|
+
* @param {object} user - user based on access token
|
|
64
|
+
* @param {Table} table
|
|
50
65
|
* @returns {boolean}
|
|
51
66
|
*/
|
|
52
67
|
function accessAllowedRead(req, user, table){
|
|
@@ -61,9 +76,9 @@ function accessAllowedRead(req, user, table){
|
|
|
61
76
|
|
|
62
77
|
/**
|
|
63
78
|
* Check that user has right to write table data (create, update, delete in terms of CRUD)
|
|
64
|
-
* @param req
|
|
65
|
-
* @param user
|
|
66
|
-
* @param table
|
|
79
|
+
* @param {object} req httprequest
|
|
80
|
+
* @param {object} user user based on access token
|
|
81
|
+
* @param {Table} table
|
|
67
82
|
* @returns {boolean}
|
|
68
83
|
*/
|
|
69
84
|
function accessAllowedWrite(req, user, table){
|
|
@@ -78,9 +93,9 @@ function accessAllowedWrite(req, user, table){
|
|
|
78
93
|
}
|
|
79
94
|
/**
|
|
80
95
|
* Check that user has right to trigger call
|
|
81
|
-
* @param req
|
|
82
|
-
* @param user
|
|
83
|
-
* @param trigger
|
|
96
|
+
* @param {object} req httprequest
|
|
97
|
+
* @param {object} user user based on access token
|
|
98
|
+
* @param {Trigger} trigger
|
|
84
99
|
* @returns {boolean}
|
|
85
100
|
*/
|
|
86
101
|
function accessAllowed(req, user, trigger){
|
|
@@ -92,8 +107,12 @@ function accessAllowed(req, user, trigger){
|
|
|
92
107
|
|
|
93
108
|
return role <= trigger.min_role;
|
|
94
109
|
}
|
|
110
|
+
|
|
95
111
|
/**
|
|
96
112
|
* Select Table rows using GET
|
|
113
|
+
* @name get/:tableName/
|
|
114
|
+
* @function
|
|
115
|
+
* @memberof module:routes/api~apiRouter
|
|
97
116
|
*/
|
|
98
117
|
// todo add paging
|
|
99
118
|
router.get(
|
|
@@ -147,9 +166,13 @@ router.get(
|
|
|
147
166
|
)(req, res, next);
|
|
148
167
|
})
|
|
149
168
|
);
|
|
169
|
+
|
|
150
170
|
/**
|
|
151
171
|
* Call Action (Trigger) using POST
|
|
152
172
|
* Attention! if you have table with name "action" it can be problem in future
|
|
173
|
+
* @name post/action/:actionname/
|
|
174
|
+
* @function
|
|
175
|
+
* @memberof module:routes/api~apiRouter
|
|
153
176
|
*/
|
|
154
177
|
router.post(
|
|
155
178
|
"/action/:actionname/",
|
|
@@ -193,8 +216,12 @@ router.post(
|
|
|
193
216
|
)(req, res, next);
|
|
194
217
|
})
|
|
195
218
|
);
|
|
219
|
+
|
|
196
220
|
/**
|
|
197
221
|
* Insert into Table using POST
|
|
222
|
+
* @name post/:tableName/
|
|
223
|
+
* @function
|
|
224
|
+
* @memberof module:routes/api~apiRouter
|
|
198
225
|
*/
|
|
199
226
|
router.post(
|
|
200
227
|
"/:tableName/",
|
|
@@ -257,9 +284,13 @@ router.post(
|
|
|
257
284
|
)(req, res, next);
|
|
258
285
|
})
|
|
259
286
|
);
|
|
287
|
+
|
|
260
288
|
/**
|
|
261
289
|
* Update Table row directed by ID using POST
|
|
262
290
|
* POST api/<table>/id
|
|
291
|
+
* @name post/:tableName/:id
|
|
292
|
+
* @function
|
|
293
|
+
* @memberof module:routes/api~apiRouter
|
|
263
294
|
*/
|
|
264
295
|
router.post(
|
|
265
296
|
"/:tableName/:id",
|
|
@@ -314,8 +345,12 @@ router.post(
|
|
|
314
345
|
)(req, res, next);
|
|
315
346
|
})
|
|
316
347
|
);
|
|
348
|
+
|
|
317
349
|
/**
|
|
318
350
|
* Delete Table row by ID using DELETE
|
|
351
|
+
* @name delete/:tableName/:id
|
|
352
|
+
* @function
|
|
353
|
+
* @memberof module:routes/api~apiRouter
|
|
319
354
|
*/
|
|
320
355
|
router.delete(
|
|
321
356
|
"/:tableName/:id",
|
package/routes/config.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @category server
|
|
3
|
+
* @module routes/config
|
|
4
|
+
* @subcategory routes
|
|
5
|
+
*/
|
|
1
6
|
const Router = require("express-promise-router");
|
|
2
7
|
|
|
3
8
|
const Field = require("@saltcorn/data/models/field");
|
|
@@ -25,9 +30,22 @@ const {
|
|
|
25
30
|
} = require("@saltcorn/data/models/config");
|
|
26
31
|
const { table, tbody, tr, th, td, div } = require("@saltcorn/markup/tags");
|
|
27
32
|
|
|
33
|
+
/**
|
|
34
|
+
* @type {object}
|
|
35
|
+
* @const
|
|
36
|
+
* @namespace configRouter
|
|
37
|
+
* @category server
|
|
38
|
+
* @subcategory routes
|
|
39
|
+
*/
|
|
28
40
|
const router = new Router();
|
|
29
41
|
module.exports = router;
|
|
30
42
|
|
|
43
|
+
/**
|
|
44
|
+
* @name post/delete/:key
|
|
45
|
+
* @function
|
|
46
|
+
* @memberof module:routes/config~configRouter
|
|
47
|
+
* @function
|
|
48
|
+
*/
|
|
31
49
|
router.post(
|
|
32
50
|
"/delete/:key",
|
|
33
51
|
setTenant,
|
package/routes/crashlog.js
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @category server
|
|
3
|
+
* @module routes/crashlog
|
|
4
|
+
* @subcategory routes
|
|
5
|
+
*/
|
|
6
|
+
|
|
1
7
|
const Router = require("express-promise-router");
|
|
2
8
|
const Crash = require("@saltcorn/data/models/crash");
|
|
3
9
|
const db = require("@saltcorn/data/db");
|
|
@@ -17,9 +23,22 @@ const {
|
|
|
17
23
|
const { setTenant, isAdmin, error_catcher } = require("./utils.js");
|
|
18
24
|
const { send_events_page } = require("../markup/admin.js");
|
|
19
25
|
|
|
26
|
+
/**
|
|
27
|
+
* @type {object}
|
|
28
|
+
* @const
|
|
29
|
+
* @namespace crashlogRouter
|
|
30
|
+
* @category server
|
|
31
|
+
* @subcategory routes
|
|
32
|
+
*/
|
|
20
33
|
const router = new Router();
|
|
21
34
|
module.exports = router;
|
|
22
35
|
|
|
36
|
+
/**
|
|
37
|
+
* @name get
|
|
38
|
+
* @function
|
|
39
|
+
* @memberof module:routes/crashlog~crashlogRouter
|
|
40
|
+
* @function
|
|
41
|
+
*/
|
|
23
42
|
router.get(
|
|
24
43
|
"/",
|
|
25
44
|
setTenant,
|
|
@@ -76,6 +95,12 @@ router.get(
|
|
|
76
95
|
})
|
|
77
96
|
);
|
|
78
97
|
|
|
98
|
+
/**
|
|
99
|
+
* @name post
|
|
100
|
+
* @function
|
|
101
|
+
* @memberof module:routes/crashlog~crashlogRouter
|
|
102
|
+
* @function
|
|
103
|
+
*/
|
|
79
104
|
router.post(
|
|
80
105
|
"/",
|
|
81
106
|
setTenant,
|
|
@@ -90,6 +115,12 @@ router.post(
|
|
|
90
115
|
})
|
|
91
116
|
);
|
|
92
117
|
|
|
118
|
+
/**
|
|
119
|
+
* @name get/:id
|
|
120
|
+
* @function
|
|
121
|
+
* @memberof module:routes/crashlog~crashlogRouter
|
|
122
|
+
* @function
|
|
123
|
+
*/
|
|
93
124
|
router.get(
|
|
94
125
|
"/:id",
|
|
95
126
|
setTenant,
|
package/routes/delete.js
CHANGED
|
@@ -1,13 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @category server
|
|
3
|
+
* @module routes/delete
|
|
4
|
+
* @subcategory routes
|
|
5
|
+
*/
|
|
6
|
+
|
|
1
7
|
const Router = require("express-promise-router");
|
|
2
8
|
|
|
3
9
|
const { setTenant, loggedIn, error_catcher } = require("./utils.js");
|
|
4
10
|
const Table = require("@saltcorn/data/models/table");
|
|
5
11
|
|
|
12
|
+
/**
|
|
13
|
+
* @type {object}
|
|
14
|
+
* @const
|
|
15
|
+
* @namespace deleteRouter
|
|
16
|
+
* @category server
|
|
17
|
+
* @subcategory routes
|
|
18
|
+
*/
|
|
6
19
|
const router = new Router();
|
|
7
20
|
|
|
8
21
|
// export our router to be mounted by the parent application
|
|
9
22
|
module.exports = router;
|
|
10
23
|
|
|
24
|
+
/**
|
|
25
|
+
* @name post/:name/:id
|
|
26
|
+
* @function
|
|
27
|
+
* @memberof module:routes/delete~deleteRouter
|
|
28
|
+
* @function
|
|
29
|
+
*/
|
|
11
30
|
router.post(
|
|
12
31
|
"/:name/:id",
|
|
13
32
|
setTenant,
|
package/routes/edit.js
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @category server
|
|
3
|
+
* @module routes/edit
|
|
4
|
+
* @subcategory routes
|
|
5
|
+
*/
|
|
6
|
+
|
|
1
7
|
const Router = require("express-promise-router");
|
|
2
8
|
|
|
3
9
|
const Field = require("@saltcorn/data/models/field");
|
|
@@ -9,9 +15,22 @@ const pluralize = require("pluralize");
|
|
|
9
15
|
|
|
10
16
|
const { renderForm } = require("@saltcorn/markup");
|
|
11
17
|
|
|
18
|
+
/**
|
|
19
|
+
* @type {object}
|
|
20
|
+
* @const
|
|
21
|
+
* @namespace editRouter
|
|
22
|
+
* @category server
|
|
23
|
+
* @subcategory routes
|
|
24
|
+
*/
|
|
12
25
|
const router = new Router();
|
|
13
26
|
module.exports = router;
|
|
14
27
|
|
|
28
|
+
/**
|
|
29
|
+
* @name post/toggle/:name/:id/:field_name
|
|
30
|
+
* @function
|
|
31
|
+
* @memberof module:routes/edit~editRouter
|
|
32
|
+
* @function
|
|
33
|
+
*/
|
|
15
34
|
router.post(
|
|
16
35
|
"/toggle/:name/:id/:field_name",
|
|
17
36
|
setTenant,
|
package/routes/eventlog.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Actions (Triggers) Handler
|
|
3
|
-
*
|
|
3
|
+
* @category server
|
|
4
|
+
* @module routes/eventlog
|
|
5
|
+
* @subcategory routes
|
|
4
6
|
*/
|
|
5
7
|
const Router = require("express-promise-router");
|
|
6
8
|
const {
|
|
@@ -12,6 +14,13 @@ const {
|
|
|
12
14
|
const { getState } = require("@saltcorn/data/db/state");
|
|
13
15
|
const Trigger = require("@saltcorn/data/models/trigger");
|
|
14
16
|
|
|
17
|
+
/**
|
|
18
|
+
* @type {object}
|
|
19
|
+
* @const
|
|
20
|
+
* @namespace eventlogRouter
|
|
21
|
+
* @category server
|
|
22
|
+
* @subcategory routes
|
|
23
|
+
*/
|
|
15
24
|
const router = new Router();
|
|
16
25
|
module.exports = router;
|
|
17
26
|
const {
|
|
@@ -42,6 +51,10 @@ const Table = require("@saltcorn/data/models/table");
|
|
|
42
51
|
const { send_events_page } = require("../markup/admin.js");
|
|
43
52
|
const EventLog = require("@saltcorn/data/models/eventlog");
|
|
44
53
|
|
|
54
|
+
/**
|
|
55
|
+
* @param {object} req
|
|
56
|
+
* @returns {Promise<Form>}
|
|
57
|
+
*/
|
|
45
58
|
const logSettingsForm = async (req) => {
|
|
46
59
|
const fields = [];
|
|
47
60
|
for (const w of Trigger.when_options) {
|
|
@@ -80,6 +93,12 @@ const logSettingsForm = async (req) => {
|
|
|
80
93
|
});
|
|
81
94
|
};
|
|
82
95
|
|
|
96
|
+
/**
|
|
97
|
+
* @name get/settings
|
|
98
|
+
* @function
|
|
99
|
+
* @memberof module:routes/eventlog~eventlogRouter
|
|
100
|
+
* @function
|
|
101
|
+
*/
|
|
83
102
|
router.get(
|
|
84
103
|
"/settings",
|
|
85
104
|
setTenant,
|
|
@@ -101,6 +120,12 @@ router.get(
|
|
|
101
120
|
})
|
|
102
121
|
);
|
|
103
122
|
|
|
123
|
+
/**
|
|
124
|
+
* @name get/custom
|
|
125
|
+
* @function
|
|
126
|
+
* @memberof module:routes/eventlog~eventlogRouter
|
|
127
|
+
* @function
|
|
128
|
+
*/
|
|
104
129
|
router.get(
|
|
105
130
|
"/custom",
|
|
106
131
|
setTenant,
|
|
@@ -147,6 +172,9 @@ router.get(
|
|
|
147
172
|
})
|
|
148
173
|
);
|
|
149
174
|
|
|
175
|
+
/**
|
|
176
|
+
* @returns {Form}
|
|
177
|
+
*/
|
|
150
178
|
const customEventForm = () =>
|
|
151
179
|
new Form({
|
|
152
180
|
action: "/eventlog/custom/new",
|
|
@@ -166,6 +194,12 @@ const customEventForm = () =>
|
|
|
166
194
|
],
|
|
167
195
|
});
|
|
168
196
|
|
|
197
|
+
/**
|
|
198
|
+
* @name get/custom/new
|
|
199
|
+
* @function
|
|
200
|
+
* @memberof module:routes/eventlog~eventlogRouter
|
|
201
|
+
* @function
|
|
202
|
+
*/
|
|
169
203
|
router.get(
|
|
170
204
|
"/custom/new",
|
|
171
205
|
setTenant,
|
|
@@ -186,6 +220,12 @@ router.get(
|
|
|
186
220
|
})
|
|
187
221
|
);
|
|
188
222
|
|
|
223
|
+
/**
|
|
224
|
+
* @name post/custom/new
|
|
225
|
+
* @function
|
|
226
|
+
* @memberof module:routes/eventlog~eventlogRouter
|
|
227
|
+
* @function
|
|
228
|
+
*/
|
|
189
229
|
router.post(
|
|
190
230
|
"/custom/new",
|
|
191
231
|
setTenant,
|
|
@@ -216,6 +256,12 @@ router.post(
|
|
|
216
256
|
})
|
|
217
257
|
);
|
|
218
258
|
|
|
259
|
+
/**
|
|
260
|
+
* @name post/custom/delete/:name
|
|
261
|
+
* @function
|
|
262
|
+
* @memberof module:routes/eventlog~eventlogRouter
|
|
263
|
+
* @function
|
|
264
|
+
*/
|
|
219
265
|
router.post(
|
|
220
266
|
"/custom/delete/:name",
|
|
221
267
|
setTenant,
|
|
@@ -234,6 +280,12 @@ router.post(
|
|
|
234
280
|
})
|
|
235
281
|
);
|
|
236
282
|
|
|
283
|
+
/**
|
|
284
|
+
* @name post/settings
|
|
285
|
+
* @function
|
|
286
|
+
* @memberof module:routes/eventlog~eventlogRouter
|
|
287
|
+
* @function
|
|
288
|
+
*/
|
|
237
289
|
router.post(
|
|
238
290
|
"/settings",
|
|
239
291
|
setTenant,
|
|
@@ -261,6 +313,12 @@ router.post(
|
|
|
261
313
|
})
|
|
262
314
|
);
|
|
263
315
|
|
|
316
|
+
/**
|
|
317
|
+
* @name get
|
|
318
|
+
* @function
|
|
319
|
+
* @memberof module:routes/eventlog~eventlogRouter
|
|
320
|
+
* @function
|
|
321
|
+
*/
|
|
264
322
|
router.get(
|
|
265
323
|
"/",
|
|
266
324
|
setTenant,
|
|
@@ -311,6 +369,12 @@ router.get(
|
|
|
311
369
|
})
|
|
312
370
|
);
|
|
313
371
|
|
|
372
|
+
/**
|
|
373
|
+
* @name get/:id
|
|
374
|
+
* @function
|
|
375
|
+
* @memberof module:routes/eventlog~eventlogRouter
|
|
376
|
+
* @function
|
|
377
|
+
*/
|
|
314
378
|
router.get(
|
|
315
379
|
"/:id",
|
|
316
380
|
setTenant,
|
package/routes/events.js
CHANGED
|
@@ -1,9 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @category server
|
|
3
|
+
* @module routes/events
|
|
4
|
+
* @subcategory routes
|
|
5
|
+
*/
|
|
6
|
+
|
|
1
7
|
const Router = require("express-promise-router");
|
|
2
8
|
const { isAdmin, setTenant, error_catcher } = require("./utils.js");
|
|
3
9
|
|
|
10
|
+
/**
|
|
11
|
+
* @type {object}
|
|
12
|
+
* @const
|
|
13
|
+
* @namespace eventsRouter
|
|
14
|
+
* @category server
|
|
15
|
+
* @subcategory routes
|
|
16
|
+
*/
|
|
4
17
|
const router = new Router();
|
|
5
18
|
module.exports = router;
|
|
6
19
|
|
|
20
|
+
/**
|
|
21
|
+
* @name get
|
|
22
|
+
* @function
|
|
23
|
+
* @memberof module:routes/events~eventsRouter
|
|
24
|
+
* @function
|
|
25
|
+
*/
|
|
7
26
|
router.get(
|
|
8
27
|
"/",
|
|
9
28
|
setTenant,
|