secubox-openwrt/luci-app-auth-guardian/htdocs/luci-static/resources/auth-guardian/api.js
CyberMind-FR 0759c748dd fix: Add missing API functions to resolve module errors
Fixed JavaScript errors in multiple modules by adding missing API functions:

1. auth-guardian:
   - Added getSessions() alias for listSessions compatibility

2. netifyd-dashboard:
   - Added getAllData() aggregating status, stats, flows, applications

3. wireguard-dashboard:
   - Added getAllData() aggregating status, peers, interfaces, traffic

4. network-modes:
   - Added getAllData() aggregating status, mode, available_modes, interfaces

5. netdata-dashboard:
   - Fixed ACL permissions: changed ubus object from 'netdata' to 'luci.netdata-dashboard'
   - Added missing RPC methods to ACL (netdata_status, netdata_alarms, netdata_info)
   - Added write permissions for service control methods

Resolves:
- TypeError: api.getSessions is not a function (auth-guardian)
- TypeError: api.getAllData is not a function (netifyd, wireguard, network-modes)
- RPC error -32002: Access denied (netdata-dashboard)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-26 21:42:09 +01:00

97 lines
2.0 KiB
JavaScript

'use strict';
'require baseclass';
'require rpc';
// Status and overview
var callStatus = rpc.declare({
object: 'luci.auth-guardian',
method: 'status',
expect: {}
});
// OAuth providers
var callListProviders = rpc.declare({
object: 'luci.auth-guardian',
method: 'list_providers',
expect: { providers: [] }
});
var callSetProvider = rpc.declare({
object: 'luci.auth-guardian',
method: 'set_provider',
params: ['provider', 'name', 'client_id', 'client_secret', 'redirect_uri'],
expect: {}
});
var callDeleteProvider = rpc.declare({
object: 'luci.auth-guardian',
method: 'delete_provider',
params: ['provider_id'],
expect: {}
});
// Vouchers
var callListVouchers = rpc.declare({
object: 'luci.auth-guardian',
method: 'list_vouchers',
expect: { vouchers: [] }
});
var callCreateVoucher = rpc.declare({
object: 'luci.auth-guardian',
method: 'create_voucher',
params: ['duration_hours', 'data_limit_mb', 'note'],
expect: {}
});
var callDeleteVoucher = rpc.declare({
object: 'luci.auth-guardian',
method: 'delete_voucher',
params: ['voucher_id'],
expect: {}
});
var callValidateVoucher = rpc.declare({
object: 'luci.auth-guardian',
method: 'validate_voucher',
params: ['code', 'mac'],
expect: {}
});
// Sessions
var callListSessions = rpc.declare({
object: 'luci.auth-guardian',
method: 'list_sessions',
expect: { sessions: [] }
});
var callRevokeSession = rpc.declare({
object: 'luci.auth-guardian',
method: 'revoke_session',
params: ['mac'],
expect: {}
});
// Logs
var callGetLogs = rpc.declare({
object: 'luci.auth-guardian',
method: 'get_logs',
params: ['limit'],
expect: { logs: [] }
});
return baseclass.extend({
getStatus: callStatus,
listProviders: callListProviders,
setProvider: callSetProvider,
deleteProvider: callDeleteProvider,
listVouchers: callListVouchers,
createVoucher: callCreateVoucher,
deleteVoucher: callDeleteVoucher,
validateVoucher: callValidateVoucher,
listSessions: callListSessions,
getSessions: callListSessions, // Alias for compatibility
revokeSession: callRevokeSession,
getLogs: callGetLogs
});