Files
RasadDam_Backend/apps/authorization/models.py
2025-04-30 15:03:40 +03:30

54 lines
1.4 KiB
Python

from django.db import models
from apps.authentication import models as auth_models
from apps.core.models import BaseModel
# Create your models here.
class Permissions(BaseModel):
name = models.CharField(max_length=50)
description = models.TextField(max_length=500)
def __str__(self):
return f'{self.name}-{self.description}'
def save(self, *args, **kwargs):
super(Permissions, self).save(*args, **kwargs)
class Role(BaseModel):
role_name = models.CharField(max_length=50)
description = models.TextField(max_length=500)
permissions = models.ManyToManyField(Permissions)
def __str__(self):
return f'{self.role_name}-{self.description}'
def save(self, *args, **kwargs):
super(Role, self).save(*args, **kwargs)
class OrganizationRole(BaseModel):
user = models.ForeignKey(
auth_models.User,
on_delete=models.CASCADE,
related_name='organization_user',
null=True
)
organization = models.ForeignKey(
auth_models.Organization,
on_delete=models.CASCADE,
related_name='organization'
)
role = models.ForeignKey(
Role,
on_delete=models.CASCADE,
related_name='organization_role'
)
def __str__(self):
return f'{self.organization.name}-{self.user.username}'
def save(self, *args, **kwargs):
super(OrganizationRole, self).save(*args, **kwargs)