21 lines
652 B
Python
21 lines
652 B
Python
# permissions.py
|
|
from rest_framework.permissions import BasePermission
|
|
|
|
class IsGithubLinked(BasePermission):
|
|
def has_permission(self, request, view):
|
|
user = request.user
|
|
|
|
if token_obj := getattr(user, 'github_token', None):
|
|
if token := getattr(token_obj, 'access_token', None):
|
|
return True
|
|
return False
|
|
|
|
class IsPasswordResetToken(BasePermission):
|
|
message = "Password reset token required."
|
|
|
|
def has_permission(self, request, view):
|
|
token = getattr(request, "auth", None)
|
|
if not token:
|
|
return False
|
|
|
|
return token.get("purpose") == "password_reset" |