a
    zh"                     @   sp   d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ edgdd	 Zedgd
d ZdS )    )authenticate)Userstatus)api_view)Response)TokenPOSTc                 C   s   | j d}| j d}|r |s2tdditjdS t||d}|rjtjj|d\}}t|j	|j
|jdS tdd	itjdS d S )
Nusernamepassworderrorz"Username and password are requiredr   )r
   r   usertokenuser_idr
   zInvalid credentials)datagetr   r   HTTP_400_BAD_REQUESTr   r   objectsget_or_createkeyidr
   HTTP_401_UNAUTHORIZED)requestr
   r   r   r   created r   5/home/qiu/health_record_app/backend/api/auth_views.pylogin	   s&    r   c                 C   s   | j d}| j d}| j d}|r0|r0|sBtdditjdS tjj|d rftdditjdS tjj|d	 rtdd
itjdS tjj	|||d}t
jj|d}t|j|j|jdtjdS )Nr
   emailr   r   z*Username, email, and password are requiredr   )r
   zUsername already exists)r   zEmail already exists)r
   r   r   r   r   )r   r   r   r   r   r   r   filterexistscreate_userr   creater   r   r
   HTTP_201_CREATED)r   r
   r   r   r   r   r   r   r   register#   s>    r%   N)django.contrib.authr   django.contrib.auth.modelsr   rest_frameworkr   rest_framework.decoratorsr   rest_framework.responser   rest_framework.authtoken.modelsr   r   r%   r   r   r   r   <module>   s   
