Coverage for src/comments_views/core/mixins.py: 80%
10 statements
« prev ^ index » next coverage.py v7.7.0, created at 2025-04-09 14:49 +0000
« prev ^ index » next coverage.py v7.7.0, created at 2025-04-09 14:49 +0000
1from abc import ABC, abstractmethod
3from django.contrib.auth.models import AbstractBaseUser, AnonymousUser
5from .rights import AbstractUserRights
8class AbstractCommentRightsMixin(ABC):
9 @property
10 @abstractmethod
11 def rights_class(self) -> type[AbstractUserRights]:
12 pass
14 def get_rights(self, user: AbstractBaseUser | AnonymousUser) -> AbstractUserRights:
15 return self.rights_class(user)