@intranefr/superbackend 1.5.3 → 1.6.4

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 (106) hide show
  1. package/cookies.txt +6 -0
  2. package/cookies1.txt +6 -0
  3. package/cookies2.txt +6 -0
  4. package/cookies3.txt +6 -0
  5. package/cookies4.txt +5 -0
  6. package/cookies_old.txt +5 -0
  7. package/cookies_old_test.txt +6 -0
  8. package/cookies_super.txt +5 -0
  9. package/cookies_super_test.txt +6 -0
  10. package/cookies_test.txt +6 -0
  11. package/index.js +7 -0
  12. package/package.json +3 -1
  13. package/plugins/core-waiting-list-migration/README.md +118 -0
  14. package/plugins/core-waiting-list-migration/index.js +438 -0
  15. package/plugins/global-settings-presets/index.js +20 -0
  16. package/plugins/hello-cli/index.js +17 -0
  17. package/plugins/ui-components-seeder/components/suiAlert.js +212 -0
  18. package/plugins/ui-components-seeder/components/suiToast.js +186 -0
  19. package/plugins/ui-components-seeder/index.js +31 -0
  20. package/public/js/admin-ui-components-preview.js +281 -0
  21. package/public/js/admin-ui-components.js +408 -0
  22. package/public/js/llm-provider-model-picker.js +193 -0
  23. package/public/test-iframe-fix.html +63 -0
  24. package/public/test-iframe.html +14 -0
  25. package/src/admin/endpointRegistry.js +68 -0
  26. package/src/controllers/admin.controller.js +25 -5
  27. package/src/controllers/adminDataCleanup.controller.js +45 -0
  28. package/src/controllers/adminLlm.controller.js +0 -8
  29. package/src/controllers/adminLogin.controller.js +269 -0
  30. package/src/controllers/adminPlugins.controller.js +55 -0
  31. package/src/controllers/adminRegistry.controller.js +106 -0
  32. package/src/controllers/adminStats.controller.js +4 -4
  33. package/src/controllers/registry.controller.js +32 -0
  34. package/src/controllers/waitingList.controller.js +52 -74
  35. package/src/middleware/auth.js +71 -1
  36. package/src/middleware/rbac.js +62 -0
  37. package/src/middleware.js +480 -156
  38. package/src/models/GlobalSetting.js +11 -1
  39. package/src/models/UiComponent.js +2 -0
  40. package/src/models/User.js +1 -1
  41. package/src/routes/admin.routes.js +3 -3
  42. package/src/routes/adminAgents.routes.js +2 -2
  43. package/src/routes/adminAssets.routes.js +11 -11
  44. package/src/routes/adminBlog.routes.js +2 -2
  45. package/src/routes/adminBlogAi.routes.js +2 -2
  46. package/src/routes/adminBlogAutomation.routes.js +2 -2
  47. package/src/routes/adminCache.routes.js +2 -2
  48. package/src/routes/adminConsoleManager.routes.js +2 -2
  49. package/src/routes/adminCrons.routes.js +2 -2
  50. package/src/routes/adminDataCleanup.routes.js +26 -0
  51. package/src/routes/adminDbBrowser.routes.js +2 -2
  52. package/src/routes/adminEjsVirtual.routes.js +2 -2
  53. package/src/routes/adminFeatureFlags.routes.js +6 -6
  54. package/src/routes/adminHeadless.routes.js +2 -2
  55. package/src/routes/adminHealthChecks.routes.js +2 -2
  56. package/src/routes/adminI18n.routes.js +2 -2
  57. package/src/routes/adminJsonConfigs.routes.js +8 -8
  58. package/src/routes/adminLlm.routes.js +8 -8
  59. package/src/routes/adminLogin.routes.js +23 -0
  60. package/src/routes/adminMarkdowns.routes.js +3 -9
  61. package/src/routes/adminMigration.routes.js +12 -12
  62. package/src/routes/adminPages.routes.js +2 -2
  63. package/src/routes/adminPlugins.routes.js +15 -0
  64. package/src/routes/adminProxy.routes.js +2 -2
  65. package/src/routes/adminRateLimits.routes.js +8 -8
  66. package/src/routes/adminRbac.routes.js +2 -2
  67. package/src/routes/adminRegistry.routes.js +24 -0
  68. package/src/routes/adminScripts.routes.js +2 -2
  69. package/src/routes/adminSeoConfig.routes.js +10 -10
  70. package/src/routes/adminTelegram.routes.js +2 -2
  71. package/src/routes/adminTerminals.routes.js +2 -2
  72. package/src/routes/adminUiComponents.routes.js +2 -2
  73. package/src/routes/adminUploadNamespaces.routes.js +7 -7
  74. package/src/routes/blogInternal.routes.js +2 -2
  75. package/src/routes/experiments.routes.js +2 -2
  76. package/src/routes/formsAdmin.routes.js +6 -6
  77. package/src/routes/globalSettings.routes.js +8 -8
  78. package/src/routes/internalExperiments.routes.js +2 -2
  79. package/src/routes/notificationAdmin.routes.js +7 -7
  80. package/src/routes/orgAdmin.routes.js +16 -16
  81. package/src/routes/pages.routes.js +3 -3
  82. package/src/routes/registry.routes.js +11 -0
  83. package/src/routes/stripeAdmin.routes.js +12 -12
  84. package/src/routes/userAdmin.routes.js +7 -7
  85. package/src/routes/waitingListAdmin.routes.js +2 -2
  86. package/src/routes/workflows.routes.js +3 -3
  87. package/src/services/dataCleanup.service.js +286 -0
  88. package/src/services/jsonConfigs.service.js +262 -0
  89. package/src/services/plugins.service.js +348 -0
  90. package/src/services/registry.service.js +452 -0
  91. package/src/services/uiComponents.service.js +180 -0
  92. package/src/services/waitingListJson.service.js +401 -0
  93. package/src/utils/rbac/rightsRegistry.js +118 -0
  94. package/test-access.js +63 -0
  95. package/test-iframe-fix.html +63 -0
  96. package/test-iframe.html +14 -0
  97. package/views/admin-403.ejs +92 -0
  98. package/views/admin-dashboard-home.ejs +52 -2
  99. package/views/admin-dashboard.ejs +143 -2
  100. package/views/admin-data-cleanup.ejs +357 -0
  101. package/views/admin-login.ejs +286 -0
  102. package/views/admin-plugins-system.ejs +223 -0
  103. package/views/admin-ui-components.ejs +82 -402
  104. package/views/admin-users.ejs +207 -11
  105. package/views/partials/dashboard/nav-items.ejs +2 -0
  106. package/views/partials/llm-provider-model-picker.ejs +0 -161
@@ -8,7 +8,17 @@ const globalSettingSchema = new mongoose.Schema({
8
8
  },
9
9
  value: {
10
10
  type: String,
11
- required: true
11
+ default: '',
12
+ validate: {
13
+ validator: function(v) {
14
+ // Only encrypted values cannot be empty
15
+ if (this.type === 'encrypted') {
16
+ return v && v.trim().length > 0;
17
+ }
18
+ return true; // Allow any value (including empty) for other types
19
+ },
20
+ message: 'Encrypted values cannot be empty'
21
+ }
12
22
  },
13
23
  type: {
14
24
  type: String,
@@ -20,6 +20,8 @@ const uiComponentSchema = new mongoose.Schema(
20
20
  api: { type: mongoose.Schema.Types.Mixed, default: null },
21
21
  usageMarkdown: { type: String, default: '' },
22
22
 
23
+ previewExample: { type: String, default: null },
24
+
23
25
  version: { type: Number, default: 1 },
24
26
  isActive: { type: Boolean, default: true, index: true },
25
27
  },
@@ -56,7 +56,7 @@ const userSchema = new mongoose.Schema({
56
56
  },
57
57
  role: {
58
58
  type: String,
59
- enum: ['user', 'admin'],
59
+ enum: ['user', 'admin', 'superadmin', 'limited-admin', 'content-manager', 'developer'],
60
60
  default: 'user'
61
61
  }
62
62
  }, {
@@ -1,10 +1,10 @@
1
1
  const express = require('express');
2
2
  const router = express.Router();
3
3
  const adminController = require('../controllers/admin.controller');
4
- const { basicAuth } = require('../middleware/auth');
4
+ const { adminSessionAuth } = require('../middleware/auth');
5
5
 
6
- // All admin routes protected by basic auth
7
- router.use(basicAuth);
6
+ // All admin routes protected by session auth
7
+ router.use(adminSessionAuth);
8
8
 
9
9
  router.get('/users', adminController.getUsers);
10
10
  router.post('/users/register', adminController.registerUser);
@@ -1,9 +1,9 @@
1
1
  const express = require('express');
2
2
  const router = express.Router();
3
3
  const adminAgentsController = require('../controllers/adminAgents.controller');
4
- const { basicAuth } = require('../middleware/auth');
4
+ const { adminSessionAuth } = require('../middleware/auth');
5
5
 
6
- router.use(basicAuth);
6
+ router.use(adminSessionAuth);
7
7
 
8
8
  router.get('/', adminAgentsController.listAgents);
9
9
  router.post('/', adminAgentsController.createAgent);
@@ -1,7 +1,7 @@
1
1
  const express = require('express');
2
2
  const router = express.Router();
3
3
  const multer = require('multer');
4
- const { basicAuth } = require('../middleware/auth');
4
+ const { adminSessionAuth } = require('../middleware/auth');
5
5
  const adminAssetsController = require('../controllers/adminAssets.controller');
6
6
  const { auditMiddleware } = require('../services/auditLogger');
7
7
 
@@ -14,15 +14,15 @@ const upload = multer({
14
14
  }
15
15
  });
16
16
 
17
- router.get('/info', basicAuth, adminAssetsController.getStorageInfo);
18
- router.use('/storage', basicAuth, adminAssetsStorageRoutes);
19
- router.get('/', basicAuth, adminAssetsController.list);
20
- router.get('/:id', basicAuth, adminAssetsController.get);
21
- router.post('/bulk/move-namespace', basicAuth, auditMiddleware('admin.assets.bulk.moveNamespace', { entityType: 'Asset' }), adminAssetsController.bulkMoveNamespace);
22
- router.post('/bulk/set-tags', basicAuth, auditMiddleware('admin.assets.bulk.setTags', { entityType: 'Asset' }), adminAssetsController.bulkSetTags);
23
- router.post('/upload', basicAuth, upload.single('file'), adminAssetsController.upload);
24
- router.post('/:id/replace', basicAuth, upload.single('file'), adminAssetsController.replace);
25
- router.patch('/:id', basicAuth, adminAssetsController.update);
26
- router.delete('/:id', basicAuth, adminAssetsController.delete);
17
+ router.get('/info', adminSessionAuth, adminAssetsController.getStorageInfo);
18
+ router.use('/storage', adminSessionAuth, adminAssetsStorageRoutes);
19
+ router.get('/', adminSessionAuth, adminAssetsController.list);
20
+ router.get('/:id', adminSessionAuth, adminAssetsController.get);
21
+ router.post('/bulk/move-namespace', adminSessionAuth, auditMiddleware('admin.assets.bulk.moveNamespace', { entityType: 'Asset' }), adminAssetsController.bulkMoveNamespace);
22
+ router.post('/bulk/set-tags', adminSessionAuth, auditMiddleware('admin.assets.bulk.setTags', { entityType: 'Asset' }), adminAssetsController.bulkSetTags);
23
+ router.post('/upload', adminSessionAuth, upload.single('file'), adminAssetsController.upload);
24
+ router.post('/:id/replace', adminSessionAuth, upload.single('file'), adminAssetsController.replace);
25
+ router.patch('/:id', adminSessionAuth, adminAssetsController.update);
26
+ router.delete('/:id', adminSessionAuth, adminAssetsController.delete);
27
27
 
28
28
  module.exports = router;
@@ -1,10 +1,10 @@
1
1
  const express = require('express');
2
2
  const router = express.Router();
3
3
 
4
- const { basicAuth } = require('../middleware/auth');
4
+ const { adminSessionAuth } = require('../middleware/auth');
5
5
  const controller = require('../controllers/blogAdmin.controller');
6
6
 
7
- router.use(basicAuth);
7
+ router.use(adminSessionAuth);
8
8
  router.use(express.json({ limit: '2mb' }));
9
9
 
10
10
  router.get('/blog-posts', controller.list);
@@ -1,11 +1,11 @@
1
1
  const express = require('express');
2
2
  const router = express.Router();
3
3
 
4
- const { basicAuth } = require('../middleware/auth');
4
+ const { adminSessionAuth } = require('../middleware/auth');
5
5
  const controller = require('../controllers/blogAiAdmin.controller');
6
6
  const rateLimiter = require('../services/rateLimiter.service');
7
7
 
8
- router.use(basicAuth);
8
+ router.use(adminSessionAuth);
9
9
  router.use(express.json({ limit: '2mb' }));
10
10
 
11
11
  router.post('/blog-ai/generate-field', rateLimiter.limit('blogAiLimiter'), controller.generateField);
@@ -1,11 +1,11 @@
1
1
  const express = require('express');
2
2
  const router = express.Router();
3
3
 
4
- const { basicAuth } = require('../middleware/auth');
4
+ const { adminSessionAuth } = require('../middleware/auth');
5
5
  const controller = require('../controllers/blogAutomationAdmin.controller');
6
6
  const rateLimiter = require('../services/rateLimiter.service');
7
7
 
8
- router.use(basicAuth);
8
+ router.use(adminSessionAuth);
9
9
  router.use(express.json({ limit: '2mb' }));
10
10
 
11
11
  router.get('/blog-automation/config', controller.getConfig);
@@ -1,10 +1,10 @@
1
1
  const express = require('express');
2
2
  const router = express.Router();
3
3
 
4
- const { basicAuth } = require('../middleware/auth');
4
+ const { adminSessionAuth } = require('../middleware/auth');
5
5
  const controller = require('../controllers/adminCache.controller');
6
6
 
7
- router.use(basicAuth);
7
+ router.use(adminSessionAuth);
8
8
 
9
9
  router.get('/config', controller.getConfig);
10
10
  router.put('/config', controller.updateConfig);
@@ -1,7 +1,7 @@
1
1
  const express = require('express');
2
2
  const router = express.Router();
3
3
 
4
- const { basicAuth } = require('../middleware/auth');
4
+ const { adminSessionAuth } = require('../middleware/auth');
5
5
  const ConsoleEntry = require('../models/ConsoleEntry');
6
6
  const ConsoleLog = require('../models/ConsoleLog');
7
7
  const GlobalSetting = require('../models/GlobalSetting');
@@ -21,7 +21,7 @@ function toInt(val, fallback) {
21
21
  return Number.isFinite(n) ? n : fallback;
22
22
  }
23
23
 
24
- router.use(basicAuth);
24
+ router.use(adminSessionAuth);
25
25
 
26
26
  router.get('/config', async (req, res) => {
27
27
  try {
@@ -1,10 +1,10 @@
1
1
  const express = require('express');
2
2
  const router = express.Router();
3
3
 
4
- const { basicAuth } = require('../middleware/auth');
4
+ const { adminSessionAuth } = require('../middleware/auth');
5
5
  const controller = require('../controllers/adminCrons.controller');
6
6
 
7
- router.use(basicAuth);
7
+ router.use(adminSessionAuth);
8
8
 
9
9
  router.get('/', controller.listCronJobs);
10
10
  router.post('/', controller.createCronJob);
@@ -0,0 +1,26 @@
1
+ const express = require('express');
2
+ const router = express.Router();
3
+
4
+ const { adminSessionAuth } = require('../middleware/auth');
5
+ const { auditMiddleware } = require('../services/auditLogger');
6
+ const controller = require('../controllers/adminDataCleanup.controller');
7
+
8
+ router.use(adminSessionAuth);
9
+
10
+ router.get('/overview', controller.getOverview);
11
+
12
+ router.post(
13
+ '/dry-run',
14
+ auditMiddleware('admin.data_cleanup.dry_run', { entityType: 'DataCleanup' }),
15
+ controller.dryRun,
16
+ );
17
+
18
+ router.post(
19
+ '/execute',
20
+ auditMiddleware('admin.data_cleanup.execute', { entityType: 'DataCleanup' }),
21
+ controller.execute,
22
+ );
23
+
24
+ router.get('/infer-fields', controller.inferFields);
25
+
26
+ module.exports = router;
@@ -1,11 +1,11 @@
1
1
  const express = require('express');
2
2
  const router = express.Router();
3
3
 
4
- const { basicAuth } = require('../middleware/auth');
4
+ const { adminSessionAuth } = require('../middleware/auth');
5
5
  const { auditMiddleware } = require('../services/auditLogger');
6
6
  const controller = require('../controllers/adminDbBrowser.controller');
7
7
 
8
- router.use(basicAuth);
8
+ router.use(adminSessionAuth);
9
9
 
10
10
  // Connection profiles
11
11
  router.get('/connections', controller.listConnections);
@@ -1,10 +1,10 @@
1
1
  const express = require('express');
2
2
  const router = express.Router();
3
- const { basicAuth } = require('../middleware/auth');
3
+ const { adminSessionAuth } = require('../middleware/auth');
4
4
  const controller = require('../controllers/adminEjsVirtual.controller');
5
5
  const rateLimiter = require('../services/rateLimiter.service');
6
6
 
7
- router.use(basicAuth);
7
+ router.use(adminSessionAuth);
8
8
 
9
9
  router.get('/files', controller.list);
10
10
  router.get('/file', controller.getFile);
@@ -1,12 +1,12 @@
1
1
  const express = require('express');
2
2
  const router = express.Router();
3
- const { basicAuth } = require('../middleware/auth');
3
+ const { adminSessionAuth } = require('../middleware/auth');
4
4
  const adminFeatureFlagsController = require('../controllers/adminFeatureFlags.controller');
5
5
 
6
- router.get('/', basicAuth, adminFeatureFlagsController.listFlags);
7
- router.get('/:key', basicAuth, adminFeatureFlagsController.getFlag);
8
- router.post('/', basicAuth, adminFeatureFlagsController.createFlag);
9
- router.put('/:key', basicAuth, adminFeatureFlagsController.updateFlag);
10
- router.delete('/:key', basicAuth, adminFeatureFlagsController.deleteFlag);
6
+ router.get('/', adminSessionAuth, adminFeatureFlagsController.listFlags);
7
+ router.get('/:key', adminSessionAuth, adminFeatureFlagsController.getFlag);
8
+ router.post('/', adminSessionAuth, adminFeatureFlagsController.createFlag);
9
+ router.put('/:key', adminSessionAuth, adminFeatureFlagsController.updateFlag);
10
+ router.delete('/:key', adminSessionAuth, adminFeatureFlagsController.deleteFlag);
11
11
 
12
12
  module.exports = router;
@@ -1,11 +1,11 @@
1
1
  const express = require('express');
2
2
  const router = express.Router();
3
3
 
4
- const { basicAuth } = require('../middleware/auth');
4
+ const { adminSessionAuth } = require('../middleware/auth');
5
5
  const adminHeadlessController = require('../controllers/adminHeadless.controller');
6
6
  const rateLimiter = require('../services/rateLimiter.service');
7
7
 
8
- router.use(basicAuth);
8
+ router.use(adminSessionAuth);
9
9
 
10
10
  // Models
11
11
  router.get('/models', adminHeadlessController.listModels);
@@ -1,10 +1,10 @@
1
1
  const express = require('express');
2
2
  const router = express.Router();
3
3
 
4
- const { basicAuth } = require('../middleware/auth');
4
+ const { adminSessionAuth } = require('../middleware/auth');
5
5
  const controller = require('../controllers/adminHealthChecks.controller');
6
6
 
7
- router.use(basicAuth);
7
+ router.use(adminSessionAuth);
8
8
 
9
9
  router.get('/config', controller.getConfig);
10
10
  router.put('/config', controller.updateConfig);
@@ -1,11 +1,11 @@
1
1
  const express = require('express');
2
2
  const router = express.Router();
3
- const { basicAuth } = require('../middleware/auth');
3
+ const { adminSessionAuth } = require('../middleware/auth');
4
4
 
5
5
  const adminI18nController = require('../controllers/adminI18n.controller');
6
6
  const rateLimiter = require('../services/rateLimiter.service');
7
7
 
8
- router.use(basicAuth);
8
+ router.use(adminSessionAuth);
9
9
 
10
10
  router.get('/locales', adminI18nController.listLocales);
11
11
  router.post('/locales', adminI18nController.createLocale);
@@ -1,15 +1,15 @@
1
1
  const express = require('express');
2
2
  const router = express.Router();
3
- const { basicAuth } = require('../middleware/auth');
3
+ const { adminSessionAuth } = require('../middleware/auth');
4
4
 
5
5
  const adminJsonConfigsController = require('../controllers/adminJsonConfigs.controller');
6
6
 
7
- router.get('/', basicAuth, adminJsonConfigsController.list);
8
- router.get('/:id', basicAuth, adminJsonConfigsController.get);
9
- router.post('/', basicAuth, adminJsonConfigsController.create);
10
- router.put('/:id', basicAuth, adminJsonConfigsController.update);
11
- router.post('/:id/regenerate-slug', basicAuth, adminJsonConfigsController.regenerateSlug);
12
- router.post('/:id/clear-cache', basicAuth, adminJsonConfigsController.clearCache);
13
- router.delete('/:id', basicAuth, adminJsonConfigsController.remove);
7
+ router.get('/', adminSessionAuth, adminJsonConfigsController.list);
8
+ router.get('/:id', adminSessionAuth, adminJsonConfigsController.get);
9
+ router.post('/', adminSessionAuth, adminJsonConfigsController.create);
10
+ router.put('/:id', adminSessionAuth, adminJsonConfigsController.update);
11
+ router.post('/:id/regenerate-slug', adminSessionAuth, adminJsonConfigsController.regenerateSlug);
12
+ router.post('/:id/clear-cache', adminSessionAuth, adminJsonConfigsController.clearCache);
13
+ router.delete('/:id', adminSessionAuth, adminJsonConfigsController.remove);
14
14
 
15
15
  module.exports = router;
@@ -1,15 +1,15 @@
1
1
  const express = require("express");
2
2
  const router = express.Router();
3
- const { basicAuth } = require("../middleware/auth");
3
+ const { adminSessionAuth } = require("../middleware/auth");
4
4
  const adminLlmController = require("../controllers/adminLlm.controller");
5
5
  const rateLimiter = require("../services/rateLimiter.service");
6
6
 
7
- router.get("/config", basicAuth, adminLlmController.getConfig);
8
- router.get("/providers", basicAuth, adminLlmController.listProviders);
9
- router.post("/config", basicAuth, rateLimiter.limit("llmConfigLimiter"), adminLlmController.saveConfig);
10
- router.get("/openrouter/models", basicAuth, adminLlmController.listOpenRouterModels);
11
- router.post("/prompts/:key/test", basicAuth, rateLimiter.limit("llmConfigLimiter"), adminLlmController.testPrompt);
12
- router.get("/audit", basicAuth, adminLlmController.listAudit);
13
- router.get("/costs", basicAuth, adminLlmController.listCosts);
7
+ router.get("/config", adminSessionAuth, adminLlmController.getConfig);
8
+ router.get("/providers", adminSessionAuth, adminLlmController.listProviders);
9
+ router.post("/config", adminSessionAuth, rateLimiter.limit("llmConfigLimiter"), adminLlmController.saveConfig);
10
+ router.get("/openrouter/models", adminSessionAuth, adminLlmController.listOpenRouterModels);
11
+ router.post("/prompts/:key/test", adminSessionAuth, rateLimiter.limit("llmConfigLimiter"), adminLlmController.testPrompt);
12
+ router.get("/audit", adminSessionAuth, adminLlmController.listAudit);
13
+ router.get("/costs", adminSessionAuth, adminLlmController.listCosts);
14
14
 
15
15
  module.exports = router;
@@ -0,0 +1,23 @@
1
+ const express = require('express');
2
+ const router = express.Router();
3
+ const adminLoginController = require('../controllers/adminLogin.controller');
4
+ const { auditMiddleware } = require('../services/auditLogger');
5
+
6
+ /**
7
+ * Admin Login Routes
8
+ * Handles both basic auth and IAM authentication through a unified login form
9
+ */
10
+
11
+ // Serve login page
12
+ router.get('/login', auditMiddleware('admin.login.view', { entityType: 'AdminSession' }), adminLoginController.getLogin);
13
+
14
+ // Process login (supports both basic auth and IAM)
15
+ router.post('/login', auditMiddleware('admin.login.attempt', { entityType: 'AdminSession' }), adminLoginController.postLogin);
16
+
17
+ // Logout and clear session
18
+ router.post('/logout', auditMiddleware('admin.logout', { entityType: 'AdminSession' }), adminLoginController.postLogout);
19
+
20
+ // API endpoint to check authentication status
21
+ router.get('/auth-status', adminLoginController.getAuthStatus);
22
+
23
+ module.exports = router;
@@ -1,16 +1,10 @@
1
1
  const express = require('express');
2
2
  const router = express.Router();
3
- const { basicAuth } = require('../middleware/auth');
3
+ const { adminSessionAuth } = require('../middleware/auth');
4
4
 
5
5
  const adminMarkdownsController = require('../controllers/adminMarkdowns.controller');
6
6
 
7
- router.get('/', basicAuth, adminMarkdownsController.list);
8
- router.get('/group-codes/:category', basicAuth, adminMarkdownsController.getGroupCodes);
9
- router.get('/folder/:category/:group_code?', basicAuth, adminMarkdownsController.getFolderContents);
10
- router.get('/:id', basicAuth, adminMarkdownsController.get);
11
- router.post('/', basicAuth, adminMarkdownsController.create);
12
- router.put('/:id', basicAuth, adminMarkdownsController.update);
13
- router.delete('/:id', basicAuth, adminMarkdownsController.remove);
14
- router.post('/validate-path', basicAuth, adminMarkdownsController.validatePath);
7
+ router.use(adminSessionAuth);
8
+ router.post('/validate-path', adminSessionAuth, adminMarkdownsController.validatePath);
15
9
 
16
10
  module.exports = router;
@@ -1,79 +1,79 @@
1
1
  const express = require('express');
2
2
  const router = express.Router();
3
3
 
4
- const { basicAuth } = require('../middleware/auth');
4
+ const { adminSessionAuth } = require('../middleware/auth');
5
5
  const { auditMiddleware } = require('../services/auditLogger');
6
6
 
7
7
  const adminMigrationController = require('../controllers/adminMigration.controller');
8
8
 
9
9
  router.get(
10
10
  '/environments',
11
- basicAuth,
11
+ adminSessionAuth,
12
12
  adminMigrationController.listEnvironments,
13
13
  );
14
14
 
15
15
  router.get(
16
16
  '/environments/:envKey',
17
- basicAuth,
17
+ adminSessionAuth,
18
18
  adminMigrationController.getEnvironment,
19
19
  );
20
20
 
21
21
  router.get(
22
22
  '/models',
23
- basicAuth,
23
+ adminSessionAuth,
24
24
  adminMigrationController.listModels,
25
25
  );
26
26
 
27
27
  router.get(
28
28
  '/models/:modelName/schema',
29
- basicAuth,
29
+ adminSessionAuth,
30
30
  adminMigrationController.getModelSchema,
31
31
  );
32
32
 
33
33
  router.post(
34
34
  '/preview',
35
- basicAuth,
35
+ adminSessionAuth,
36
36
  adminMigrationController.preview,
37
37
  );
38
38
 
39
39
  router.post(
40
40
  '/environments',
41
- basicAuth,
41
+ adminSessionAuth,
42
42
  auditMiddleware('admin.migration.environments.upsert', { entityType: 'GlobalSetting' }),
43
43
  adminMigrationController.upsertEnvironment,
44
44
  );
45
45
 
46
46
  router.delete(
47
47
  '/environments/:envKey',
48
- basicAuth,
48
+ adminSessionAuth,
49
49
  auditMiddleware('admin.migration.environments.delete', { entityType: 'GlobalSetting' }),
50
50
  adminMigrationController.deleteEnvironment,
51
51
  );
52
52
 
53
53
  router.post(
54
54
  '/test-connection',
55
- basicAuth,
55
+ adminSessionAuth,
56
56
  auditMiddleware('admin.migration.test_connection', { entityType: 'Migration' }),
57
57
  adminMigrationController.testConnection,
58
58
  );
59
59
 
60
60
  router.post(
61
61
  '/test-assets',
62
- basicAuth,
62
+ adminSessionAuth,
63
63
  auditMiddleware('admin.migration.test_assets', { entityType: 'Migration' }),
64
64
  adminMigrationController.testAssetsTarget,
65
65
  );
66
66
 
67
67
  router.post(
68
68
  '/test-assets-copy',
69
- basicAuth,
69
+ adminSessionAuth,
70
70
  auditMiddleware('admin.migration.test_assets_copy', { entityType: 'Migration' }),
71
71
  adminMigrationController.testAssetsCopyKey,
72
72
  );
73
73
 
74
74
  router.post(
75
75
  '/run',
76
- basicAuth,
76
+ adminSessionAuth,
77
77
  auditMiddleware('admin.migration.run', { entityType: 'Migration' }),
78
78
  adminMigrationController.runMigration,
79
79
  );
@@ -1,6 +1,6 @@
1
1
  const express = require('express');
2
2
  const router = express.Router();
3
- const { basicAuth } = require('../middleware/auth');
3
+ const { adminSessionAuth } = require('../middleware/auth');
4
4
  const controller = require('../controllers/adminPages.controller');
5
5
  const adminBlockDefinitionsController = require('../controllers/adminBlockDefinitions.controller');
6
6
  const adminBlockDefinitionsAiController = require('../controllers/adminBlockDefinitionsAi.controller');
@@ -8,7 +8,7 @@ const adminContextBlockDefinitionsController = require('../controllers/adminCont
8
8
  const adminPagesContextBlocksAiController = require('../controllers/adminPagesContextBlocksAi.controller');
9
9
  const rateLimiter = require('../services/rateLimiter.service');
10
10
 
11
- router.use(basicAuth);
11
+ router.use(adminSessionAuth);
12
12
 
13
13
  router.get('/collections', controller.listCollections);
14
14
  router.get('/collections/:id', controller.getCollection);
@@ -0,0 +1,15 @@
1
+ const express = require('express');
2
+
3
+ const { adminSessionAuth } = require('../middleware/auth');
4
+ const controller = require('../controllers/adminPlugins.controller');
5
+
6
+ const router = express.Router();
7
+
8
+ router.use(adminSessionAuth);
9
+
10
+ router.get('/', controller.list);
11
+ router.post('/:id/enable', controller.enable);
12
+ router.post('/:id/disable', controller.disable);
13
+ router.post('/:id/install', controller.install);
14
+
15
+ module.exports = router;
@@ -1,10 +1,10 @@
1
1
  const express = require('express');
2
2
  const router = express.Router();
3
3
 
4
- const { basicAuth } = require('../middleware/auth');
4
+ const { adminSessionAuth } = require('../middleware/auth');
5
5
  const controller = require('../controllers/adminProxy.controller');
6
6
 
7
- router.use(basicAuth);
7
+ router.use(adminSessionAuth);
8
8
 
9
9
  router.get('/entries', controller.list);
10
10
  router.get('/entries/:id', controller.get);
@@ -1,17 +1,17 @@
1
1
  const express = require('express');
2
2
  const router = express.Router();
3
3
 
4
- const { basicAuth } = require('../middleware/auth');
4
+ const { adminSessionAuth } = require('../middleware/auth');
5
5
  const adminRateLimitsController = require('../controllers/adminRateLimits.controller');
6
6
 
7
- router.get('/', basicAuth, adminRateLimitsController.list);
8
- router.get('/config', basicAuth, adminRateLimitsController.getConfig);
9
- router.put('/config', basicAuth, adminRateLimitsController.updateConfig);
10
- router.get('/metrics', basicAuth, adminRateLimitsController.getMetrics);
7
+ router.get('/', adminSessionAuth, adminRateLimitsController.list);
8
+ router.get('/config', adminSessionAuth, adminRateLimitsController.getConfig);
9
+ router.put('/config', adminSessionAuth, adminRateLimitsController.updateConfig);
10
+ router.get('/metrics', adminSessionAuth, adminRateLimitsController.getMetrics);
11
11
 
12
- router.post('/bulk-enabled', basicAuth, adminRateLimitsController.bulkEnabled);
12
+ router.post('/bulk-enabled', adminSessionAuth, adminRateLimitsController.bulkEnabled);
13
13
 
14
- router.put('/:id', basicAuth, adminRateLimitsController.updateLimiter);
15
- router.post('/:id/reset', basicAuth, adminRateLimitsController.resetLimiter);
14
+ router.put('/:id', adminSessionAuth, adminRateLimitsController.updateLimiter);
15
+ router.post('/:id/reset', adminSessionAuth, adminRateLimitsController.resetLimiter);
16
16
 
17
17
  module.exports = router;
@@ -1,10 +1,10 @@
1
1
  const express = require('express');
2
2
  const router = express.Router();
3
3
 
4
- const { basicAuth } = require('../middleware/auth');
4
+ const { adminSessionAuth } = require('../middleware/auth');
5
5
  const controller = require('../controllers/adminRbac.controller');
6
6
 
7
- router.use(basicAuth);
7
+ router.use(adminSessionAuth);
8
8
 
9
9
  router.get('/rights', controller.listRights);
10
10
  router.get('/users', controller.searchUsers);
@@ -0,0 +1,24 @@
1
+ const express = require('express');
2
+
3
+ const { adminSessionAuth } = require('../middleware/auth');
4
+ const controller = require('../controllers/adminRegistry.controller');
5
+
6
+ const router = express.Router();
7
+
8
+ router.use(adminSessionAuth);
9
+
10
+ router.get('/', controller.listRegistries);
11
+ router.post('/', controller.createRegistry);
12
+ router.get('/:id', controller.getRegistry);
13
+ router.put('/:id', controller.updateRegistry);
14
+ router.delete('/:id', controller.deleteRegistry);
15
+
16
+ router.get('/:id/items', controller.listItems);
17
+ router.post('/:id/items', controller.upsertItem);
18
+ router.put('/:id/items/:itemId', controller.upsertItem);
19
+ router.delete('/:id/items/:itemId', controller.deleteItem);
20
+
21
+ router.post('/:id/tokens', controller.createToken);
22
+ router.delete('/:id/tokens/:tokenId', controller.deleteToken);
23
+
24
+ module.exports = router;
@@ -1,10 +1,10 @@
1
1
  const express = require('express');
2
2
  const router = express.Router();
3
3
 
4
- const { basicAuth } = require('../middleware/auth');
4
+ const { adminSessionAuth } = require('../middleware/auth');
5
5
  const controller = require('../controllers/adminScripts.controller');
6
6
 
7
- router.use(basicAuth);
7
+ router.use(adminSessionAuth);
8
8
 
9
9
  router.get('/', controller.listScripts);
10
10
  router.post('/', controller.createScript);