@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/pageedit.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @category server
|
|
3
|
+
* @module routes/pageedit
|
|
4
|
+
* @subcategory routes
|
|
5
|
+
*/
|
|
1
6
|
const Router = require("express-promise-router");
|
|
2
7
|
|
|
3
8
|
const View = require("@saltcorn/data/models/view");
|
|
@@ -30,9 +35,22 @@ const { getActionConfigFields } = require("@saltcorn/data/plugin-helper");
|
|
|
30
35
|
const { editRoleForm, wizardCardTitle } = require("../markup/forms.js");
|
|
31
36
|
const Library = require("@saltcorn/data/models/library");
|
|
32
37
|
|
|
38
|
+
/**
|
|
39
|
+
* @type {object}
|
|
40
|
+
* @const
|
|
41
|
+
* @namespace pageeditRouter
|
|
42
|
+
* @category server
|
|
43
|
+
* @subcategory routes
|
|
44
|
+
*/
|
|
33
45
|
const router = new Router();
|
|
34
46
|
module.exports = router;
|
|
35
47
|
|
|
48
|
+
/**
|
|
49
|
+
* @param {object} page
|
|
50
|
+
* @param {*} roles
|
|
51
|
+
* @param {object} req
|
|
52
|
+
* @returns {Form}
|
|
53
|
+
*/
|
|
36
54
|
const editPageRoleForm = (page, roles, req) =>
|
|
37
55
|
editRoleForm({
|
|
38
56
|
url: `/pageedit/setrole/${page.id}`,
|
|
@@ -41,6 +59,11 @@ const editPageRoleForm = (page, roles, req) =>
|
|
|
41
59
|
req,
|
|
42
60
|
});
|
|
43
61
|
|
|
62
|
+
/**
|
|
63
|
+
* @param {object} page
|
|
64
|
+
* @param {object} req
|
|
65
|
+
* @returns {string}
|
|
66
|
+
*/
|
|
44
67
|
const page_dropdown = (page, req) =>
|
|
45
68
|
settingsDropdown(`dropdownMenuButton${page.id}`, [
|
|
46
69
|
a(
|
|
@@ -77,6 +100,11 @@ const page_dropdown = (page, req) =>
|
|
|
77
100
|
),
|
|
78
101
|
]);
|
|
79
102
|
|
|
103
|
+
/**
|
|
104
|
+
*
|
|
105
|
+
* @param {object} req
|
|
106
|
+
* @returns {Promise<Form>}
|
|
107
|
+
*/
|
|
80
108
|
const pagePropertiesForm = async (req) => {
|
|
81
109
|
const roles = await User.get_roles();
|
|
82
110
|
|
|
@@ -117,6 +145,12 @@ const pagePropertiesForm = async (req) => {
|
|
|
117
145
|
return form;
|
|
118
146
|
};
|
|
119
147
|
|
|
148
|
+
/**
|
|
149
|
+
*
|
|
150
|
+
* @param {object} req
|
|
151
|
+
* @param {object} context
|
|
152
|
+
* @returns {Promise<object>}
|
|
153
|
+
*/
|
|
120
154
|
const pageBuilderData = async (req, context) => {
|
|
121
155
|
const views = await View.find();
|
|
122
156
|
const pages = await Page.find();
|
|
@@ -190,6 +224,12 @@ const pageBuilderData = async (req, context) => {
|
|
|
190
224
|
};
|
|
191
225
|
};
|
|
192
226
|
|
|
227
|
+
/**
|
|
228
|
+
* @param {*} rows
|
|
229
|
+
* @param {*} roles
|
|
230
|
+
* @param {object} req
|
|
231
|
+
* @returns {div}
|
|
232
|
+
*/
|
|
193
233
|
const getPageList = (rows, roles, req) => {
|
|
194
234
|
return div(
|
|
195
235
|
mkTable(
|
|
@@ -223,12 +263,13 @@ const getPageList = (rows, roles, req) => {
|
|
|
223
263
|
)
|
|
224
264
|
);
|
|
225
265
|
};
|
|
266
|
+
|
|
226
267
|
/**
|
|
227
268
|
* Root pages configuration Form
|
|
228
269
|
* Allows to configure root page for each role
|
|
229
|
-
* @param pages
|
|
230
|
-
* @param roles - list of roles
|
|
231
|
-
* @param req - request
|
|
270
|
+
* @param {object[]} pages list of pages
|
|
271
|
+
* @param {object[]} roles - list of roles
|
|
272
|
+
* @param {object} req - request
|
|
232
273
|
* @returns {Form} return Form
|
|
233
274
|
*/
|
|
234
275
|
const getRootPageForm = (pages, roles, req) => {
|
|
@@ -258,6 +299,13 @@ const getRootPageForm = (pages, roles, req) => {
|
|
|
258
299
|
}
|
|
259
300
|
return form;
|
|
260
301
|
};
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* @name get
|
|
305
|
+
* @function
|
|
306
|
+
* @memberof module:routes/pageedit~pageeditRouter
|
|
307
|
+
* @function
|
|
308
|
+
*/
|
|
261
309
|
router.get(
|
|
262
310
|
"/",
|
|
263
311
|
setTenant,
|
|
@@ -289,6 +337,14 @@ router.get(
|
|
|
289
337
|
});
|
|
290
338
|
})
|
|
291
339
|
);
|
|
340
|
+
|
|
341
|
+
/**
|
|
342
|
+
* @param {*} contents
|
|
343
|
+
* @param {*} noCard
|
|
344
|
+
* @param {object} req
|
|
345
|
+
* @param {*} page
|
|
346
|
+
* @returns {*}
|
|
347
|
+
*/
|
|
292
348
|
const wrap = (contents, noCard, req, page) => ({
|
|
293
349
|
above: [
|
|
294
350
|
{
|
|
@@ -308,6 +364,12 @@ const wrap = (contents, noCard, req, page) => ({
|
|
|
308
364
|
],
|
|
309
365
|
});
|
|
310
366
|
|
|
367
|
+
/**
|
|
368
|
+
* @name get/edit-properties/:pagename
|
|
369
|
+
* @function
|
|
370
|
+
* @memberof module:routes/pageedit~pageeditRouter
|
|
371
|
+
* @function
|
|
372
|
+
*/
|
|
311
373
|
router.get(
|
|
312
374
|
"/edit-properties/:pagename",
|
|
313
375
|
setTenant,
|
|
@@ -330,6 +392,13 @@ router.get(
|
|
|
330
392
|
}
|
|
331
393
|
})
|
|
332
394
|
);
|
|
395
|
+
|
|
396
|
+
/**
|
|
397
|
+
* @name get/new
|
|
398
|
+
* @function
|
|
399
|
+
* @memberof module:routes/pageedit~pageeditRouter
|
|
400
|
+
* @function
|
|
401
|
+
*/
|
|
333
402
|
router.get(
|
|
334
403
|
"/new",
|
|
335
404
|
setTenant,
|
|
@@ -343,6 +412,12 @@ router.get(
|
|
|
343
412
|
})
|
|
344
413
|
);
|
|
345
414
|
|
|
415
|
+
/**
|
|
416
|
+
* @name post/edit-properties
|
|
417
|
+
* @function
|
|
418
|
+
* @memberof module:routes/pageedit~pageeditRouter
|
|
419
|
+
* @function
|
|
420
|
+
*/
|
|
346
421
|
router.post(
|
|
347
422
|
"/edit-properties",
|
|
348
423
|
setTenant,
|
|
@@ -373,6 +448,12 @@ router.post(
|
|
|
373
448
|
})
|
|
374
449
|
);
|
|
375
450
|
|
|
451
|
+
/**
|
|
452
|
+
* @name get/edit/:pagename
|
|
453
|
+
* @function
|
|
454
|
+
* @memberof module:routes/pageedit~pageeditRouter
|
|
455
|
+
* @function
|
|
456
|
+
*/
|
|
376
457
|
router.get(
|
|
377
458
|
"/edit/:pagename",
|
|
378
459
|
setTenant,
|
|
@@ -408,6 +489,13 @@ router.get(
|
|
|
408
489
|
}
|
|
409
490
|
})
|
|
410
491
|
);
|
|
492
|
+
|
|
493
|
+
/**
|
|
494
|
+
* @name post/edit/:pagename
|
|
495
|
+
* @function
|
|
496
|
+
* @memberof module:routes/pageedit~pageeditRouter
|
|
497
|
+
* @function
|
|
498
|
+
*/
|
|
411
499
|
router.post(
|
|
412
500
|
"/edit/:pagename",
|
|
413
501
|
setTenant,
|
|
@@ -433,6 +521,12 @@ router.post(
|
|
|
433
521
|
})
|
|
434
522
|
);
|
|
435
523
|
|
|
524
|
+
/**
|
|
525
|
+
* @name post/savebuilder/:id
|
|
526
|
+
* @function
|
|
527
|
+
* @memberof module:routes/pageedit~pageeditRouter
|
|
528
|
+
* @function
|
|
529
|
+
*/
|
|
436
530
|
router.post(
|
|
437
531
|
"/savebuilder/:id",
|
|
438
532
|
setTenant,
|
|
@@ -449,6 +543,12 @@ router.post(
|
|
|
449
543
|
})
|
|
450
544
|
);
|
|
451
545
|
|
|
546
|
+
/**
|
|
547
|
+
* @name post/delete/:id
|
|
548
|
+
* @function
|
|
549
|
+
* @memberof module:routes/pageedit~pageeditRouter
|
|
550
|
+
* @function
|
|
551
|
+
*/
|
|
452
552
|
router.post(
|
|
453
553
|
"/delete/:id",
|
|
454
554
|
setTenant,
|
|
@@ -462,6 +562,12 @@ router.post(
|
|
|
462
562
|
})
|
|
463
563
|
);
|
|
464
564
|
|
|
565
|
+
/**
|
|
566
|
+
* @name post/set_root_page
|
|
567
|
+
* @function
|
|
568
|
+
* @memberof module:routes/pageedit~pageeditRouter
|
|
569
|
+
* @function
|
|
570
|
+
*/
|
|
465
571
|
router.post(
|
|
466
572
|
"/set_root_page",
|
|
467
573
|
setTenant,
|
|
@@ -484,6 +590,12 @@ router.post(
|
|
|
484
590
|
})
|
|
485
591
|
);
|
|
486
592
|
|
|
593
|
+
/**
|
|
594
|
+
* @name post/add-to-menu/:id
|
|
595
|
+
* @function
|
|
596
|
+
* @memberof module:routes/pageedit~pageeditRouter
|
|
597
|
+
* @function
|
|
598
|
+
*/
|
|
487
599
|
router.post(
|
|
488
600
|
"/add-to-menu/:id",
|
|
489
601
|
setTenant,
|
|
@@ -507,6 +619,13 @@ router.post(
|
|
|
507
619
|
res.redirect(`/pageedit`);
|
|
508
620
|
})
|
|
509
621
|
);
|
|
622
|
+
|
|
623
|
+
/**
|
|
624
|
+
* @name post/clone/:id
|
|
625
|
+
* @function
|
|
626
|
+
* @memberof module:routes/pageedit~pageeditRouter
|
|
627
|
+
* @function
|
|
628
|
+
*/
|
|
510
629
|
router.post(
|
|
511
630
|
"/clone/:id",
|
|
512
631
|
setTenant,
|
|
@@ -522,6 +641,13 @@ router.post(
|
|
|
522
641
|
res.redirect(`/pageedit`);
|
|
523
642
|
})
|
|
524
643
|
);
|
|
644
|
+
|
|
645
|
+
/**
|
|
646
|
+
* @name post/setrole/:id
|
|
647
|
+
* @function
|
|
648
|
+
* @memberof module:routes/pageedit~pageeditRouter
|
|
649
|
+
* @function
|
|
650
|
+
*/
|
|
525
651
|
router.post(
|
|
526
652
|
"/setrole/:id",
|
|
527
653
|
setTenant,
|
package/routes/plugins.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Plugin Handler for Admin zone
|
|
3
|
+
* @category server
|
|
4
|
+
* @module routes/plugins
|
|
5
|
+
* @subcategory routes
|
|
3
6
|
*/
|
|
4
7
|
|
|
5
8
|
const Router = require("express-promise-router");
|
|
@@ -49,12 +52,20 @@ const path = require("path");
|
|
|
49
52
|
const { get_latest_npm_version } = require("@saltcorn/data/models/config");
|
|
50
53
|
const { flash_restart } = require("../markup/admin.js");
|
|
51
54
|
|
|
55
|
+
/**
|
|
56
|
+
* @type {object}
|
|
57
|
+
* @const
|
|
58
|
+
* @namespace pluginsRouter
|
|
59
|
+
* @category server
|
|
60
|
+
* @subcategory routes
|
|
61
|
+
*/
|
|
52
62
|
const router = new Router();
|
|
53
63
|
module.exports = router;
|
|
64
|
+
|
|
54
65
|
/**
|
|
55
66
|
* Plugin Form Creation
|
|
56
|
-
* @param req
|
|
57
|
-
* @param plugin
|
|
67
|
+
* @param {object} req
|
|
68
|
+
* @param {object} plugin
|
|
58
69
|
* @returns {Form}
|
|
59
70
|
*/
|
|
60
71
|
const pluginForm = (req, plugin) => {
|
|
@@ -119,18 +130,20 @@ const pluginForm = (req, plugin) => {
|
|
|
119
130
|
}
|
|
120
131
|
return form;
|
|
121
132
|
};
|
|
133
|
+
|
|
122
134
|
/**
|
|
123
135
|
* Returns true if plugin has own theme
|
|
124
|
-
* @param name
|
|
136
|
+
* @param {string} name plugin name
|
|
125
137
|
* @returns {*|boolean}
|
|
126
138
|
*/
|
|
127
139
|
const local_has_theme = (name) => {
|
|
128
140
|
const mod = getState().plugins[name];
|
|
129
141
|
return mod ? mod.layout : false;
|
|
130
142
|
};
|
|
143
|
+
|
|
131
144
|
/**
|
|
132
145
|
* Get Pluging store itmes
|
|
133
|
-
* @returns {Promise
|
|
146
|
+
* @returns {Promise<Object[]>}
|
|
134
147
|
*/
|
|
135
148
|
const get_store_items = async () => {
|
|
136
149
|
const installed_plugins = await Plugin.find({});
|
|
@@ -175,6 +188,11 @@ const get_store_items = async () => {
|
|
|
175
188
|
);
|
|
176
189
|
};
|
|
177
190
|
|
|
191
|
+
/**
|
|
192
|
+
* @param {object} req
|
|
193
|
+
* @param {object} row
|
|
194
|
+
* @returns {a|string}
|
|
195
|
+
*/
|
|
178
196
|
const cfg_link = (req, row) => {
|
|
179
197
|
let plugin = getState().plugins[row.name];
|
|
180
198
|
let linknm = row.name;
|
|
@@ -200,6 +218,11 @@ const cfg_link = (req, row) => {
|
|
|
200
218
|
else return "";
|
|
201
219
|
};
|
|
202
220
|
|
|
221
|
+
/**
|
|
222
|
+
* @param {object} req
|
|
223
|
+
* @param {object} row
|
|
224
|
+
* @returns {a}
|
|
225
|
+
*/
|
|
203
226
|
const info_link = (req, row) =>
|
|
204
227
|
a(
|
|
205
228
|
{
|
|
@@ -211,9 +234,18 @@ const info_link = (req, row) =>
|
|
|
211
234
|
'<i class="far fa-question-circle"></i>'
|
|
212
235
|
);
|
|
213
236
|
|
|
214
|
-
|
|
237
|
+
/**
|
|
238
|
+
* @param {string} title
|
|
239
|
+
* @returns {span}
|
|
240
|
+
*/
|
|
241
|
+
const badge = (title) =>
|
|
215
242
|
span({ class: "badge badge-secondary plugin-store" }, title);
|
|
216
243
|
|
|
244
|
+
/**
|
|
245
|
+
*
|
|
246
|
+
* @param {object} req
|
|
247
|
+
* @returns {function}
|
|
248
|
+
*/
|
|
217
249
|
const store_item_html = (req) => (item) => ({
|
|
218
250
|
type: "card",
|
|
219
251
|
title: item.name,
|
|
@@ -300,6 +332,11 @@ const store_item_html = (req) => (item) => ({
|
|
|
300
332
|
)
|
|
301
333
|
),
|
|
302
334
|
});
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* @param {object} req
|
|
338
|
+
* @returns {ul}
|
|
339
|
+
*/
|
|
303
340
|
const storeNavPills = (req) => {
|
|
304
341
|
const link = (txt) =>
|
|
305
342
|
li(
|
|
@@ -327,20 +364,41 @@ const storeNavPills = (req) => {
|
|
|
327
364
|
);
|
|
328
365
|
};
|
|
329
366
|
|
|
367
|
+
/**
|
|
368
|
+
* @param {object[]} items
|
|
369
|
+
* @param {object} query
|
|
370
|
+
* @returns {object[]}
|
|
371
|
+
*/
|
|
330
372
|
const filter_items = (items, query) => {
|
|
331
373
|
const in_set = filter_items_set(items, query);
|
|
332
374
|
if (!query.q) return in_set;
|
|
333
375
|
return in_set.filter((p) => satisfy_q(p, query.q.toLowerCase()));
|
|
334
376
|
};
|
|
335
377
|
|
|
378
|
+
/**
|
|
379
|
+
* @param {string} s
|
|
380
|
+
* @param {string} q
|
|
381
|
+
* @returns {boolean}
|
|
382
|
+
*/
|
|
336
383
|
const match_string = (s, q) => {
|
|
337
384
|
if (!s || !q) return false;
|
|
338
385
|
return s.toLowerCase().includes(q);
|
|
339
386
|
};
|
|
340
387
|
|
|
388
|
+
/**
|
|
389
|
+
* @param {string} p
|
|
390
|
+
* @param {string} q
|
|
391
|
+
* @returns {boolean}
|
|
392
|
+
*/
|
|
341
393
|
const satisfy_q = (p, q) => {
|
|
342
394
|
return match_string(p.name, q) || match_string(p.description, q);
|
|
343
395
|
};
|
|
396
|
+
|
|
397
|
+
/**
|
|
398
|
+
* @param {object[]} items
|
|
399
|
+
* @param {object} query
|
|
400
|
+
* @returns {object[]}
|
|
401
|
+
*/
|
|
344
402
|
const filter_items_set = (items, query) => {
|
|
345
403
|
switch (query.set) {
|
|
346
404
|
case "plugins":
|
|
@@ -355,6 +413,11 @@ const filter_items_set = (items, query) => {
|
|
|
355
413
|
return items;
|
|
356
414
|
}
|
|
357
415
|
};
|
|
416
|
+
|
|
417
|
+
/**
|
|
418
|
+
* @param {object} req
|
|
419
|
+
* @returns {div}
|
|
420
|
+
*/
|
|
358
421
|
const store_actions_dropdown = (req) =>
|
|
359
422
|
div(
|
|
360
423
|
{ class: "dropdown" },
|
|
@@ -418,6 +481,12 @@ const store_actions_dropdown = (req) =>
|
|
|
418
481
|
//create pack
|
|
419
482
|
)
|
|
420
483
|
);
|
|
484
|
+
|
|
485
|
+
/**
|
|
486
|
+
* @param {object[]} items
|
|
487
|
+
* @param {object} req
|
|
488
|
+
* @returns {object}
|
|
489
|
+
*/
|
|
421
490
|
const plugin_store_html = (items, req) => {
|
|
422
491
|
return {
|
|
423
492
|
above: [
|
|
@@ -448,6 +517,12 @@ const plugin_store_html = (items, req) => {
|
|
|
448
517
|
};
|
|
449
518
|
};
|
|
450
519
|
|
|
520
|
+
/**
|
|
521
|
+
* @name get
|
|
522
|
+
* @function
|
|
523
|
+
* @memberof module:routes/plugins~pluginsRouter
|
|
524
|
+
* @function
|
|
525
|
+
*/
|
|
451
526
|
router.get(
|
|
452
527
|
"/",
|
|
453
528
|
setTenant,
|
|
@@ -459,6 +534,12 @@ router.get(
|
|
|
459
534
|
})
|
|
460
535
|
);
|
|
461
536
|
|
|
537
|
+
/**
|
|
538
|
+
* @name get/configure/:name
|
|
539
|
+
* @function
|
|
540
|
+
* @memberof module:routes/plugins~pluginsRouter
|
|
541
|
+
* @function
|
|
542
|
+
*/
|
|
462
543
|
router.get(
|
|
463
544
|
"/configure/:name",
|
|
464
545
|
setTenant,
|
|
@@ -485,6 +566,13 @@ router.get(
|
|
|
485
566
|
);
|
|
486
567
|
})
|
|
487
568
|
);
|
|
569
|
+
|
|
570
|
+
/**
|
|
571
|
+
* @name post/configure/:name
|
|
572
|
+
* @function
|
|
573
|
+
* @memberof module:routes/plugins~pluginsRouter
|
|
574
|
+
* @function
|
|
575
|
+
*/
|
|
488
576
|
router.post(
|
|
489
577
|
"/configure/:name",
|
|
490
578
|
setTenant,
|
|
@@ -520,6 +608,13 @@ router.post(
|
|
|
520
608
|
}
|
|
521
609
|
})
|
|
522
610
|
);
|
|
611
|
+
|
|
612
|
+
/**
|
|
613
|
+
* @name get/new
|
|
614
|
+
* @function
|
|
615
|
+
* @memberof module:routes/plugins~pluginsRouter
|
|
616
|
+
* @function
|
|
617
|
+
*/
|
|
523
618
|
router.get(
|
|
524
619
|
"/new",
|
|
525
620
|
setTenant,
|
|
@@ -544,6 +639,13 @@ router.get(
|
|
|
544
639
|
});
|
|
545
640
|
})
|
|
546
641
|
);
|
|
642
|
+
|
|
643
|
+
/**
|
|
644
|
+
* @name get/public/:plugin/*
|
|
645
|
+
* @function
|
|
646
|
+
* @memberof module:routes/plugins~pluginsRouter
|
|
647
|
+
* @function
|
|
648
|
+
*/
|
|
547
649
|
router.get(
|
|
548
650
|
"/public/:plugin/*",
|
|
549
651
|
setTenant,
|
|
@@ -564,6 +666,12 @@ router.get(
|
|
|
564
666
|
})
|
|
565
667
|
);
|
|
566
668
|
|
|
669
|
+
/**
|
|
670
|
+
* @name get/pubdeps/:plugin/:dependency/:version/*
|
|
671
|
+
* @function
|
|
672
|
+
* @memberof module:routes/plugins~pluginsRouter
|
|
673
|
+
* @function
|
|
674
|
+
*/
|
|
567
675
|
router.get(
|
|
568
676
|
"/pubdeps/:plugin/:dependency/:version/*",
|
|
569
677
|
setTenant,
|
|
@@ -591,6 +699,12 @@ router.get(
|
|
|
591
699
|
})
|
|
592
700
|
);
|
|
593
701
|
|
|
702
|
+
/**
|
|
703
|
+
* @name get/info/:name
|
|
704
|
+
* @function
|
|
705
|
+
* @memberof module:routes/plugins~pluginsRouter
|
|
706
|
+
* @function
|
|
707
|
+
*/
|
|
594
708
|
router.get(
|
|
595
709
|
"/info/:name",
|
|
596
710
|
setTenant,
|
|
@@ -694,6 +808,12 @@ router.get(
|
|
|
694
808
|
})
|
|
695
809
|
);
|
|
696
810
|
|
|
811
|
+
/**
|
|
812
|
+
* @name get/refresh
|
|
813
|
+
* @function
|
|
814
|
+
* @memberof module:routes/plugins~pluginsRouter
|
|
815
|
+
* @function
|
|
816
|
+
*/
|
|
697
817
|
router.get(
|
|
698
818
|
"/refresh",
|
|
699
819
|
setTenant,
|
|
@@ -712,6 +832,12 @@ router.get(
|
|
|
712
832
|
})
|
|
713
833
|
);
|
|
714
834
|
|
|
835
|
+
/**
|
|
836
|
+
* @name get/upgrade
|
|
837
|
+
* @function
|
|
838
|
+
* @memberof module:routes/plugins~pluginsRouter
|
|
839
|
+
* @function
|
|
840
|
+
*/
|
|
715
841
|
router.get(
|
|
716
842
|
"/upgrade",
|
|
717
843
|
setTenant,
|
|
@@ -727,6 +853,12 @@ router.get(
|
|
|
727
853
|
})
|
|
728
854
|
);
|
|
729
855
|
|
|
856
|
+
/**
|
|
857
|
+
* @name get/upgrade-plugin/:name
|
|
858
|
+
* @function
|
|
859
|
+
* @memberof module:routes/plugins~pluginsRouter
|
|
860
|
+
* @function
|
|
861
|
+
*/
|
|
730
862
|
router.get(
|
|
731
863
|
"/upgrade-plugin/:name",
|
|
732
864
|
setTenant,
|
|
@@ -741,6 +873,13 @@ router.get(
|
|
|
741
873
|
res.redirect(`/plugins/info/${plugin.name}`);
|
|
742
874
|
})
|
|
743
875
|
);
|
|
876
|
+
|
|
877
|
+
/**
|
|
878
|
+
* @name post
|
|
879
|
+
* @function
|
|
880
|
+
* @memberof module:routes/plugins~pluginsRouter
|
|
881
|
+
* @function
|
|
882
|
+
*/
|
|
744
883
|
router.post(
|
|
745
884
|
"/",
|
|
746
885
|
setTenant,
|
|
@@ -771,6 +910,12 @@ router.post(
|
|
|
771
910
|
})
|
|
772
911
|
);
|
|
773
912
|
|
|
913
|
+
/**
|
|
914
|
+
* @name post/delete/:name
|
|
915
|
+
* @function
|
|
916
|
+
* @memberof module:routes/plugins~pluginsRouter
|
|
917
|
+
* @function
|
|
918
|
+
*/
|
|
774
919
|
router.post(
|
|
775
920
|
"/delete/:name",
|
|
776
921
|
setTenant,
|
|
@@ -801,6 +946,12 @@ router.post(
|
|
|
801
946
|
})
|
|
802
947
|
);
|
|
803
948
|
|
|
949
|
+
/**
|
|
950
|
+
* @name post/install/:name
|
|
951
|
+
* @function
|
|
952
|
+
* @memberof module:routes/plugins~pluginsRouter
|
|
953
|
+
* @function
|
|
954
|
+
*/
|
|
804
955
|
router.post(
|
|
805
956
|
"/install/:name",
|
|
806
957
|
setTenant,
|