Added indexes to logs

This commit is contained in:
Ultradesu
2025-07-21 04:18:27 +03:00
parent 47572d64c6
commit 6d56eb7eab
3 changed files with 18 additions and 8 deletions

View File

@@ -19,8 +19,8 @@ services:
redis:
condition: service_healthy
command: >
sh -c "sleep 3 &&
python manage.py makemigrations vpn &&
sh -c "sleep 1 &&
python manage.py makemigrations &&
python manage.py migrate &&
python manage.py create_admin &&
python manage.py runserver 0.0.0.0:8000"

View File

@@ -447,18 +447,22 @@ class ServerAdmin(PolymorphicParentModelAdmin):
for server in queryset:
try:
# Check if this is an Outline server by checking the actual type
# Get the real polymorphic instance
real_server = server.get_real_instance()
server_type = type(real_server).__name__
# Check if this is an Outline server
from vpn.server_plugins.outline import OutlineServer
if isinstance(server, OutlineServer) and hasattr(server, 'client'):
if isinstance(real_server, OutlineServer) and hasattr(real_server, 'client'):
# For Outline servers, get all keys and delete them
try:
keys = server.client.get_keys()
keys = real_server.client.get_keys()
keys_count = len(keys)
for key in keys:
try:
server.client.delete_key(key.key_id)
real_server.client.delete_key(key.key_id)
except Exception as e:
self.message_user(
request,
@@ -482,8 +486,6 @@ class ServerAdmin(PolymorphicParentModelAdmin):
level=messages.ERROR
)
else:
# Show server type for debugging
server_type = type(server).__name__
self.message_user(
request,
f"Key purging only supported for Outline servers. Skipping '{server.name}' (type: {server_type}).",

View File

@@ -48,6 +48,14 @@ class AccessLog(models.Model):
data = models.TextField(default="", blank=True, editable=False)
timestamp = models.DateTimeField(auto_now_add=True)
class Meta:
indexes = [
models.Index(fields=['user']),
models.Index(fields=['server']),
models.Index(fields=['timestamp']),
models.Index(fields=['action', 'timestamp']),
]
def __str__(self):
return f"{self.action} {self.user} request for {self.server} at {self.timestamp}"