cmboulanger's picture
disaster-recovery deploy of pdf-tei-editor
6a49f21 verified
Raw
History Blame Contribute Delete
1.18 kB
"""
Active Sessions admin plugin.
Provides an admin view of all active user sessions with the ability
to remove individual sessions or end all sessions except the current one.
"""
from typing import Any
from fastapi_app.lib.plugins.plugin_base import Plugin, PluginContext
class ActiveSessionsPlugin(Plugin):
@property
def metadata(self) -> dict[str, Any]:
return {
"id": "active-sessions",
"name": "Active Sessions",
"description": "View and manage active user sessions",
"category": "admin",
"version": "1.0.0",
"required_roles": ["admin"],
"endpoints": [
{
"name": "execute",
"label": "Active Sessions",
"description": "View and manage active user sessions",
"state_params": [],
}
],
}
def get_endpoints(self) -> dict[str, Any]:
return {"execute": self.execute}
async def execute(self, context: PluginContext, params: dict[str, Any]) -> dict[str, Any]:
return {"outputUrl": "/api/plugins/active-sessions/view"}