34 lines
839 B
Python
34 lines
839 B
Python
#!/usr/bin/env python3
|
|
from __future__ import annotations
|
|
|
|
import os
|
|
|
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "django_ui.settings")
|
|
|
|
import django
|
|
|
|
django.setup()
|
|
|
|
from django.contrib.sessions.models import Session
|
|
|
|
from codexpi.security_audit import SecurityAuditLogger
|
|
from django.conf import settings
|
|
|
|
|
|
def main() -> int:
|
|
count = Session.objects.count()
|
|
answer = input(f"Révoquer les {count} session(s) Django CodexPi ? Tapez REVOKE: ")
|
|
if answer != "REVOKE":
|
|
print("Annulé.")
|
|
return 1
|
|
Session.objects.all().delete()
|
|
SecurityAuditLogger(settings.DATA_DIR / "security.log").log(
|
|
"session.all_revoked", "local-cli", outcome="revoked", reason=f"count:{count}"
|
|
)
|
|
print(f"{count} session(s) révoquée(s).")
|
|
return 0
|
|
|
|
|
|
if __name__ == "__main__":
|
|
raise SystemExit(main())
|