secubox-openwrt/package/secubox/luci-app-mmpm/htdocs/luci-static/resources/mmpm/api.js
CyberMind-FR a83cde0885 feat(magicmirror2): Add MagicMirror² and MMPM packages
New packages:
- secubox-app-magicmirror2 (0.4.0): MagicMirror² smart display platform
  - LXC container with Docker image extraction
  - mm2ctl CLI for management
  - Support for gzip/zstd compressed layers
  - Default port 8082

- luci-app-magicmirror2 (0.4.0): LuCI web interface
  - Dashboard, modules, webui, settings views
  - RPCD backend for service control
  - Module management integration

- secubox-app-mmpm (0.2.0): MMPM package manager
  - Installs MMPM in MagicMirror2 container
  - mmpmctl CLI for module management
  - Web GUI on port 7891

- luci-app-mmpm (0.2.0): LuCI interface for MMPM
  - Dashboard with install/update controls
  - Module search and management
  - Embedded web GUI view

Portal integration:
- Added MagicMirror² and MMPM to Services section
- Portal version bumped to 0.6.0

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 12:00:18 +01:00

151 lines
2.5 KiB
JavaScript

'use strict';
'require baseclass';
'require rpc';
var callGetStatus = rpc.declare({
object: 'luci.mmpm',
method: 'get_status',
expect: {}
});
var callGetConfig = rpc.declare({
object: 'luci.mmpm',
method: 'get_config',
expect: {}
});
var callGetWebUrl = rpc.declare({
object: 'luci.mmpm',
method: 'get_web_url',
expect: {}
});
var callInstallMmpm = rpc.declare({
object: 'luci.mmpm',
method: 'install_mmpm',
expect: {}
});
var callUpdateMmpm = rpc.declare({
object: 'luci.mmpm',
method: 'update_mmpm',
expect: {}
});
var callServiceStart = rpc.declare({
object: 'luci.mmpm',
method: 'service_start',
expect: {}
});
var callServiceStop = rpc.declare({
object: 'luci.mmpm',
method: 'service_stop',
expect: {}
});
var callServiceRestart = rpc.declare({
object: 'luci.mmpm',
method: 'service_restart',
expect: {}
});
var callSearchModules = rpc.declare({
object: 'luci.mmpm',
method: 'search_modules',
params: ['query'],
expect: { modules: [] }
});
var callListModules = rpc.declare({
object: 'luci.mmpm',
method: 'list_modules',
expect: { modules: [] }
});
var callInstallModule = rpc.declare({
object: 'luci.mmpm',
method: 'install_module',
params: ['name'],
expect: {}
});
var callRemoveModule = rpc.declare({
object: 'luci.mmpm',
method: 'remove_module',
params: ['name'],
expect: {}
});
var callUpgradeModules = rpc.declare({
object: 'luci.mmpm',
method: 'upgrade_modules',
params: ['name'],
expect: {}
});
var callSetConfig = rpc.declare({
object: 'luci.mmpm',
method: 'set_config',
params: ['key', 'value'],
expect: {}
});
return baseclass.extend({
getStatus: function() {
return callGetStatus();
},
getConfig: function() {
return callGetConfig();
},
getWebUrl: function() {
return callGetWebUrl();
},
installMmpm: function() {
return callInstallMmpm();
},
updateMmpm: function() {
return callUpdateMmpm();
},
serviceStart: function() {
return callServiceStart();
},
serviceStop: function() {
return callServiceStop();
},
serviceRestart: function() {
return callServiceRestart();
},
searchModules: function(query) {
return callSearchModules(query);
},
listModules: function() {
return callListModules();
},
installModule: function(name) {
return callInstallModule(name);
},
removeModule: function(name) {
return callRemoveModule(name);
},
upgradeModules: function(name) {
return callUpgradeModules(name || '');
},
setConfig: function(key, value) {
return callSetConfig(key, String(value));
}
});