Granting/Updating Permission for Packages (#2)

Co-authored-by: Tim Lorsbach <tim@lorsba.ch>
Reviewed-on: enviPath/enviPy#2
This commit is contained in:
2025-06-25 08:49:58 +12:00
parent 7c3bc69b38
commit 844d0708c9
9 changed files with 303 additions and 588 deletions

View File

@ -83,8 +83,7 @@ class APIToken(models.Model):
class Group(TimeStampedModel):
uuid = models.UUIDField(null=False, blank=False, verbose_name='UUID of this object', primary_key=True,
default=uuid4)
uuid = models.UUIDField(null=False, blank=False, verbose_name='UUID of this object', unique=True, default=uuid4)
name = models.TextField(blank=False, null=False, verbose_name='Group name')
owner = models.ForeignKey("User", verbose_name='Group Owner', on_delete=models.CASCADE)
description = models.TextField(blank=False, null=False, verbose_name='Descriptions', default='no description')
@ -110,6 +109,15 @@ class Permission(TimeStampedModel):
]
permission = models.CharField(max_length=32, choices=PERMS, null=False)
def has_read(self):
return self.permission in [p[0] for p in self.PERMS]
def has_write(self):
return self.permission in [self.WRITE[0], self.ALL[0]]
def has_all(self):
return self.permission == self.ALL[0]
class Meta:
abstract: True