
    
i	                        d dl mZ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c m
Z  e       Zej                  d       ee      fdej                   defd       Zej%                  deej(                     	       ed
d
d       edd
dd       edd       edd       edd       ee      fdedededz  dededefd       Zej%                  deej(                     	       ee      fdefd       Zej%                  dej(                  	       ee      fd edefd!       Zej3                  dej(                  	       ee      fd edej                   defd"       Zej7                  d       ee      fd edefd#       Zy)$    )	APIRouterDependsHTTPExceptionQuery)Session)get_dbN/
universitydbc                 .    t        j                  ||       S N)crudcreate_university)r
   r   s     ?/var/www/html/syllabuild_admin/backend/api/routes/university.py
create_unir   	   s    !!"j11    )response_model   zPage number)gedescription
   d   zNumber of records per page)r   ler   z/Search universities by name or institution code)r   idzColumn name to sort byasczSort order: asc or descpageNorecordsPerPagesearchsort_by
sort_orderc                 T   K   t        j                  | |||||       d{   S 7 w)zN
    Retrieve a paginated, searchable, and sortable list of universities.
    r   r   r   r   r    r   N)r   get_universitiesr"   s         r   	read_unisr$      s7      &&%   s   (&(z	/dropdownc                 ,    t        j                  |       S r   )r   get_universities_dropdown)r   s    r   r$   r$   !   s    ))"--r   z/{university_id}university_idc                 P    t        j                  ||       }|st        dd      |S N  University not foundstatus_codedetail)r   get_universityr   r'   r   unis      r   read_unir2   %   s*    


b-
0C4JKKJr   c                 R    t        j                  || |      }|st        dd      |S r)   )r   update_universityr   )r'   r
   r   r1   s       r   
update_unir5   ,   s,    

 
 ]J
?C4JKKJr   c                 T    t        j                  ||       }|st        dd      ddiS )Nr*   r+   r,   messagezUniversity deleted successfully)r   delete_universityr   r0   s      r   
delete_unir9   3   s1    

 
 ]
3C4JKK899r   )fastapir   r   r   r   sqlalchemy.ormr   
db.sessionr   controller.universityr
   r   db.schemas.universityschemasrouterpostUniversityBaser   getlistUniversityResponseintstrr$   r2   putr5   deleter9    r   r   <module>rK      s   < < "  $ ' '	SAH 2711 2w 2 2 CW%?%? @Aa];qS>Z[t1bc+CDE/HI&/ $J 	
  	 B& KW-G-G(HI#FO .' . J. w/I/IJ/6v C W  K w/I/IJU\]cUd c w/E/E 7  K !"18 :c :w : #:r   