2024-02-15 11:02:22 -03:00
|
|
|
import uuid
|
2025-04-11 11:05:20 -03:00
|
|
|
|
|
|
|
from django.contrib.auth.models import User
|
|
|
|
from django.db import models
|
2025-04-15 12:16:50 -03:00
|
|
|
from django.utils.translation import gettext_lazy as _
|
2025-04-11 11:05:20 -03:00
|
|
|
|
2025-01-20 09:55:35 -03:00
|
|
|
from wireguard.models import PeerGroup
|
2024-02-15 10:57:59 -03:00
|
|
|
|
|
|
|
|
|
|
|
class UserAcl(models.Model):
|
|
|
|
user = models.OneToOneField(User, on_delete=models.CASCADE)
|
|
|
|
user_level = models.PositiveIntegerField(default=0, choices=(
|
2025-04-15 12:16:50 -03:00
|
|
|
(10, _('Debugging Analyst')),
|
|
|
|
(20, _('View Only')),
|
|
|
|
(30, _('Peer Manager')),
|
|
|
|
(40, _('WireGuard Manager')),
|
|
|
|
(50, _('Administrator')),
|
2024-02-15 10:57:59 -03:00
|
|
|
))
|
2025-01-20 09:55:35 -03:00
|
|
|
peer_groups = models.ManyToManyField(PeerGroup, blank=True)
|
2025-01-21 13:22:18 -03:00
|
|
|
enable_console = models.BooleanField(default=True)
|
|
|
|
enable_enhanced_filter = models.BooleanField(default=False)
|
2025-04-11 11:05:20 -03:00
|
|
|
enable_reload = models.BooleanField(default=True)
|
|
|
|
enable_restart = models.BooleanField(default=True)
|
2024-02-15 10:57:59 -03:00
|
|
|
|
2024-02-15 11:02:22 -03:00
|
|
|
created = models.DateTimeField(auto_now_add=True)
|
|
|
|
updated = models.DateTimeField(auto_now=True)
|
|
|
|
uuid = models.UUIDField(primary_key=True, editable=False, default=uuid.uuid4)
|
|
|
|
|
2024-02-15 10:57:59 -03:00
|
|
|
def __str__(self):
|
|
|
|
return self.user.username
|
2024-04-03 15:19:01 -03:00
|
|
|
|
|
|
|
|
|
|
|
class AuthenticationToken(models.Model):
|
|
|
|
user = models.ForeignKey(User, on_delete=models.CASCADE)
|
|
|
|
created = models.DateTimeField(auto_now_add=True)
|
|
|
|
updated = models.DateTimeField(auto_now=True)
|
|
|
|
uuid = models.UUIDField(editable=False, default=uuid.uuid4)
|