Add JWT auth with per-user data isolation and account settings.
Users can register, log in, and manage profile/password in a personal account page; server data is scoped by owner across contacts, maps, tags, and import. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -4,6 +4,6 @@ from . import views
|
||||
from .base import plugin_urlpatterns
|
||||
|
||||
urlpatterns = [
|
||||
path('plugins/', views.plugin_manifest, name='plugin-manifest'),
|
||||
path('plugins/', views.PluginManifestView.as_view(), name='plugin-manifest'),
|
||||
*plugin_urlpatterns(),
|
||||
]
|
||||
|
||||
+13
-14
@@ -1,19 +1,18 @@
|
||||
from django.urls import path
|
||||
from rest_framework.decorators import api_view
|
||||
from rest_framework.response import Response
|
||||
from rest_framework.views import APIView
|
||||
|
||||
from core.drf_mixins import JwtAuthMixin
|
||||
from plugins.base import get_enabled_plugins
|
||||
|
||||
|
||||
@api_view(['GET'])
|
||||
def plugin_manifest(request):
|
||||
"""List enabled plugins and their metadata."""
|
||||
return Response([
|
||||
{
|
||||
'id': p.id,
|
||||
'version': p.version,
|
||||
'min_core_version': p.min_core_version,
|
||||
'permissions': p.permissions,
|
||||
}
|
||||
for p in get_enabled_plugins()
|
||||
])
|
||||
class PluginManifestView(JwtAuthMixin, APIView):
|
||||
def get(self, request):
|
||||
return Response([
|
||||
{
|
||||
'id': p.id,
|
||||
'version': p.version,
|
||||
'min_core_version': p.min_core_version,
|
||||
'permissions': p.permissions,
|
||||
}
|
||||
for p in get_enabled_plugins()
|
||||
])
|
||||
|
||||
Reference in New Issue
Block a user