Files
medical_training/apps/user/auth/__init__.py
T

32 lines
888 B
Python

from rest_framework_simplejwt.tokens import RefreshToken
ALLOWED_ROLE_TYPES = ('student', 'doctor', 'teacher')
def get_tokens_for_user(user):
refresh = RefreshToken.for_user(user)
return {'access': str(refresh.access_token), 'refresh': str(refresh)}
def build_user_response(user):
return {
'id': user.id,
'username': user.username,
'phone': user.phone,
'real_name': user.real_name,
'role_type': user.role_type,
'institution': user.institution.name if user.institution_id else None,
'department': user.department.name if user.department_id else None,
}
def get_client_ip(request):
xff = request.META.get('HTTP_X_FORWARDED_FOR')
if xff:
return xff.split(',')[0].strip()
return request.META.get('REMOTE_ADDR')
def get_user_agent(request):
return request.META.get('HTTP_USER_AGENT', '')