diff --git a/frontend/src/api/index.js b/frontend/src/api/index.js
index b5827ab..f590a92 100644
--- a/frontend/src/api/index.js
+++ b/frontend/src/api/index.js
@@ -674,6 +674,15 @@ export const employeesApi = {
export const businessUnitsApi = businessunitsApi
// System Settings API
+export const pluginsApi = {
+ list() {
+ return api.get('/plugins')
+ },
+ setEnabled(name, enabled) {
+ return api.put(`/plugins/${name}`, { enabled })
+ }
+}
+
export const settingsApi = {
list(params = {}) {
return api.get('/settings', { params })
diff --git a/frontend/src/router/routes/core.js b/frontend/src/router/routes/core.js
index 0dc4a0e..2fef2dd 100644
--- a/frontend/src/router/routes/core.js
+++ b/frontend/src/router/routes/core.js
@@ -92,6 +92,12 @@ export default [
component: () => import('../../views/settings/SystemSettings.vue'),
meta: { requiresAuth: true, requiresAdmin: true }
},
+ {
+ path: 'settings/plugins',
+ name: 'plugins',
+ component: () => import('../../views/settings/PluginsList.vue'),
+ meta: { requiresAuth: true, requiresAdmin: true }
+ },
{
path: 'settings/auditlogs',
name: 'audit-logs',
diff --git a/frontend/src/views/settings/PluginsList.vue b/frontend/src/views/settings/PluginsList.vue
new file mode 100644
index 0000000..9ea1d25
--- /dev/null
+++ b/frontend/src/views/settings/PluginsList.vue
@@ -0,0 +1,140 @@
+
+
+ Disabling a plugin removes its pages and API on the next app restart.
+ Plugins
+ contract v{{ contractVersion }}
+
+
+
+
+
+
+
+ Plugin
+ Version
+ Description
+ Enabled
+
+
+
+ {{ p.name }}
+ {{ p.version }}
+ {{ p.description || '-' }}
+
+
+
+
Configure integrations and system options
+Enable or disable installed plugins
+