(self, request)
| 137 | |
| 138 | class PluginsListAPIView(PluginAuthMixin, APIView): |
| 139 | def get(self, request): |
| 140 | pm = PluginManager.get() |
| 141 | # Prefer cached registry; reload explicitly via the reload endpoint |
| 142 | pm.discover_plugins(sync_db=False, use_cache=True) |
| 143 | plugins = pm.list_plugins() |
| 144 | for plugin in plugins: |
| 145 | plugin["logo_url"] = _absolutize_logo_url(request, plugin.get("logo_url")) |
| 146 | return Response({"plugins": plugins}) |
| 147 | |
| 148 | |
| 149 | class PluginReloadAPIView(PluginAuthMixin, APIView): |
nothing calls this directly
no test coverage detected