41 lines
1.0 KiB
Python
41 lines
1.0 KiB
Python
import logging
|
|
|
|
from django.contrib.auth import get_user_model
|
|
|
|
from rest_framework_simplejwt.tokens import RefreshToken
|
|
|
|
User = get_user_model()
|
|
|
|
def get_tokens_for_user(user):
|
|
refresh = RefreshToken.for_user(user)
|
|
|
|
return {
|
|
'refresh': str(refresh),
|
|
'access': str(refresh.access_token),
|
|
}
|
|
|
|
def get_auth_token(client, email, password):
|
|
credentials = {
|
|
'email': email,
|
|
'password': password,
|
|
}
|
|
response = client.post('/api/v1/token/', credentials, format='json')
|
|
if response.status_code == 200:
|
|
return response.data['access']
|
|
else:
|
|
# logging.error(f"User {email} was refused a token: {response.content}")
|
|
return None
|
|
|
|
def create_active_user(email, password):
|
|
user = User.objects.create_user(email=email, password=password)
|
|
user.is_active = True
|
|
user.save()
|
|
return user
|
|
|
|
def create_admin_user(email, password):
|
|
user = User.objects.create_user(email=email, password=password)
|
|
user.is_staff = True
|
|
user.is_active = True
|
|
user.save()
|
|
return user
|