fix: remove expired peer invites on api call

This commit is contained in:
Eduardo Silva 2025-03-01 09:45:13 -03:00
parent 8c7ae751f9
commit c3e1d5e75d

View File

@ -1,25 +1,25 @@
import datetime
import os
import subprocess
import uuid
import pytz
import requests
from django.conf import settings
from django.contrib import auth
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.contrib import auth
from django.core.exceptions import PermissionDenied from django.core.exceptions import PermissionDenied
from django.http import JsonResponse, Http404
from django.shortcuts import get_object_or_404, redirect
from django.views.decorators.http import require_http_methods
from django.http import HttpResponseForbidden from django.http import HttpResponseForbidden
from django.http import JsonResponse
from django.conf import settings from django.shortcuts import get_object_or_404, redirect
from django.utils import timezone from django.utils import timezone
from django.views.decorators.http import require_http_methods
from user_manager.models import UserAcl, AuthenticationToken from user_manager.models import UserAcl, AuthenticationToken
from vpn_invite.models import InviteSettings, PeerInvite from vpn_invite.models import InviteSettings, PeerInvite
from wireguard.models import WebadminSettings, Peer, PeerStatus, WireGuardInstance
from wgwadmlibrary.tools import user_allowed_peers, user_has_access_to_peer, get_peer_invite_data, create_peer_invite from wgwadmlibrary.tools import user_allowed_peers, user_has_access_to_peer, get_peer_invite_data, create_peer_invite
import requests from wireguard.models import WebadminSettings, Peer, PeerStatus, WireGuardInstance
import subprocess
import datetime
import pytz
import os
import uuid
def get_api_key(api_name): def get_api_key(api_name):
@ -287,6 +287,7 @@ def cron_check_updates(request):
@login_required @login_required
def api_peer_invite(request): def api_peer_invite(request):
PeerInvite.objects.filter(invite_expiration__lt=timezone.now()).delete()
user_acl = get_object_or_404(UserAcl, user=request.user) user_acl = get_object_or_404(UserAcl, user=request.user)
invite_settings = InviteSettings.objects.filter(name='default_settings').first() invite_settings = InviteSettings.objects.filter(name='default_settings').first()
data = { data = {