feat: publish CodexPi contest snapshot
Some checks are pending
Qualité / tests (push) Waiting to run
Some checks are pending
Qualité / tests (push) Waiting to run
This commit is contained in:
33
scripts/revoke-sessions.py
Normal file
33
scripts/revoke-sessions.py
Normal file
@@ -0,0 +1,33 @@
|
||||
#!/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())
|
||||
Reference in New Issue
Block a user