U
    miA                     @   s   d dl mZmZmZmZ d dlmZmZ d dlm	Z	 d dl
mZ d dlmZmZmZ d dlmZmZmZmZmZ d dlmZ dd	 Ze Zed
krejdd dS )    )Flaskjsonifymake_responsesession)dbbcrypt)handle_exceptions)CORS)DATABASE_URIFRONTEND_URI
SECRET_KEY)teachers_bpstudents_bp
schools_bpadmin_bpprincipals_bpcurrent_userc               	   C   s   t t} t| tdd t| jd< d| jd< t| jd< t|  t	|  | 
dtdd	 }| d
dd }| ddd }| t | t | t | t | t |   t  W 5 Q R X | S )NT)ZoriginsZsupports_credentialsZSQLALCHEMY_DATABASE_URIFZSQLALCHEMY_TRACK_MODIFICATIONSr   /c                   S   s   t dddS )NTzWelcome to the SolveSmart APIZsuccessmessage)r    r   r   /var/www/b2b/app.pyroot   s    zcreate_app.<locals>.rootz/logoutc                  S   s(   t tddd} | d t  | S )NTzLogout successfullyr   Z
auth_token)r   r   Zdelete_cookier   clear)Zrespr   r   r   logout   s    

zcreate_app.<locals>.logoutz/get_curr_userc                   S   s   t  S )Nr   r   r   r   r   get_curr_user'   s    z!create_app.<locals>.get_curr_user)r   __name__r	   r   r
   Zconfigr   r   Zinit_appr   getr   ZrouteZregister_blueprintr   r   r   r   r   Zapp_contextZ
create_all)appr   r   r   r   r   r   
create_app
   s,    





	






r    __main__T)debugN)Zflaskr   r   r   r   srcr   r   Zsrc.utils.decoratorsr   Z
flask_corsr	   envr
   r   r   Z
src.routesr   r   r   r   r   Zsrc.utils.helperr   r    r   r   runr   r   r   r   <module>   s   -