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

1from abc import ABC, abstractmethod 

2 

3from django.contrib.auth.models import AbstractBaseUser, AnonymousUser 

4 

5from .rights import AbstractUserRights 

6 

7 

8class AbstractCommentRightsMixin(ABC): 

9 @property 

10 @abstractmethod 

11 def rights_class(self) -> type[AbstractUserRights]: 

12 pass 

13 

14 def get_rights(self, user: AbstractBaseUser | AnonymousUser) -> AbstractUserRights: 

15 return self.rights_class(user)