feat: Memory-Konzept für Agents implementieren (STI-21)
- REST API: 9 Read-Only-Endpunkte unter /api/v1/ für alle Kernmodelle (Destinatäre, Ländereien, Pächter, Förderungen, Konten, Verpachtungen, Verwaltungskosten, Kalender, Transaktionen) - Token-Authentifizierung via DRF TokenAuthentication - Management-Command `create_agent_token` für Agent-Tokens - Wissensbasis: knowledge/ mit Satzung, Richtlinien, Verfahren, Kontakte, Historie - Agent-Instructions: Datenzugriff-Sektion in AGENTS.md dokumentiert Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
28
app/stiftung/management/commands/create_agent_token.py
Normal file
28
app/stiftung/management/commands/create_agent_token.py
Normal file
@@ -0,0 +1,28 @@
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.core.management.base import BaseCommand, CommandError
|
||||
from rest_framework.authtoken.models import Token
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
help = "Erstellt oder gibt ein API-Token für einen Django-User aus (für Agent-Zugriff)"
|
||||
|
||||
def add_arguments(self, parser):
|
||||
parser.add_argument("username", type=str, help="Django-Username")
|
||||
|
||||
def handle(self, *args, **options):
|
||||
User = get_user_model()
|
||||
username = options["username"]
|
||||
|
||||
try:
|
||||
user = User.objects.get(username=username)
|
||||
except User.DoesNotExist:
|
||||
raise CommandError(f'User "{username}" nicht gefunden.')
|
||||
|
||||
token, created = Token.objects.get_or_create(user=user)
|
||||
|
||||
if created:
|
||||
self.stdout.write(self.style.SUCCESS(f"Neues Token erstellt für {username}:"))
|
||||
else:
|
||||
self.stdout.write(self.style.WARNING(f"Bestehendes Token für {username}:"))
|
||||
|
||||
self.stdout.write(token.key)
|
||||
Reference in New Issue
Block a user