
    ~h	                     :   d dl mZmZmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZ d dlmZ d dlmZmZ  edd	g
      Zej'                  de       ee       ee      fdedede	fd       Zej'                  de       ee       ee      fdedede	fd       Zy)    )	APIRouterDependsHTTPException)Session)get_db)User)UniversityStaffCreateAdminCreate)UserResponse)get_password_hashget_current_active_userz/university
University)prefixtagsz/staff)response_modelstaffdbcurrent_userc           	          |j                   dk(  st        dd      |j                  t              j	                  t        j
                  | j
                  k(        j                         }|rt        dd      t        | j                        }t        | j
                  || j                  | j                   | j                  | j                  | j                        }|j                  |       |j                          |j                  |       |S )z&Create a new university staff account.admin  z6You do not have permission to create university staff.status_codedetail  Email already registeredemailhashed_password	full_nameroleavataraddressphoner!   r   queryr   filterr   firstr   passwordr    r"   r#   r$   addcommitrefresh)r   r   r   db_userr   s        _/Users/theessential/Documents/Github/40Admission/40-admission-backend/app/routers/university.pycreate_university_staffr/      s     'K
 	

 hhtn##DJJ%++$=>DDFG-
 	

 (7Okk'//ZZ||kkG FF7OIIKJJwN    z/adminr   c           	          |j                   dk(  st        dd      |j                  t              j	                  t        j
                  | j
                  k(        j                         }|rt        dd      t        | j                        }t        | j
                  || j                  | j                   | j                  | j                  | j                        }|j                  |       |j                          |j                  |       |S )zCreate a new admin account.r   r   z4You do not have permission to create admin accounts.r   r   r   r   r%   )r   r   r   r-   r   s        r.   create_adminr2   /   s     'I
 	

 hhtn##DJJ%++$=>DDFG-
 	

 (7Okk'//ZZ||kkG FF7OIIKJJwNr0   N)fastapir   r   r   sqlalchemy.ormr   app.core.databaser   app.models.userr   app.schemas.universityr	   r
   app.schemas.userr   app.services.authr   r   routerpostr/   r2    r0   r.   <module>r=      s    5 5 " $   E ) H	-|n	=Xl3 &/ !89! !! ! 4!F Xl3 &/ !89!!! ! 4!r0   