def login(request): """ Endpoint de login, recibe username y password y devuelve el token de autenticación de acceso al API. """ username = request.data.get('username') password = request.data.get('password') if username is None or password is None: return send_error(code=4010, msg='Please provide both username and password.') user = authenticate(username=username, password=password) if not user: return send_error(code=4010, msg='Invalid credentials.') token, _ = Token.objects.get_or_create(user=user) return Response({'token': token.key, 'is_admin': user.is_staff})
def registration(request): """ Endpoint de registro, se ingresa username, password e email(opcional) y devuelve el usuario. """ serializer = UserSerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=STATUS_MAP[201]) else: return send_error(code=4000, msg='Invalid request fields.', data=serializer.errors)