
    hh	                     F   S SK r S SKJrJrJrJrJr  S SKJr  S SK	J
r
  S SKJr  S SKJr  S SKJr  S SKJr  \" 5       r\" 5         \ R*                  " S	S
5      r\R/                  S\R0                  S9\" \
5      4S\R2                  S\4S jj5       r\R9                  S\\R0                     S9\" \
5      4S\4S jj5       r\R?                  S\R0                  S9\" \
5      4S\ S\RB                  S\4S jj5       r"\RG                  S5      \" \
5      4S\ S\4S jj5       r$g)    N)	APIRouterDependsHTTPExceptionFile
UploadFile)"disable_installed_extensions_check)check_user_is_admin)select)GeneralState)Category)adminFILE_STORAGE_PATHfilesz/categories)response_modelpayloaddependenciesc                     Uu  p#[        S0 U R                  5       DS[        R                  0D6nUR	                  U5        UR                  5         UR                  U5        U$ )Nstate )r   
model_dumpr   ACTIVEaddcommitrefresh)r   r   dbr   categorys        FD:\kofCorporation\kof-academy-backend\app\routers\admins\categories.pycreate_categoryr      sP    IBJ',,.Jl6I6IJHFF8IIKJJxO    c                     U u  pUR                  [        [        5      R                  [        R                  [
        R                  :H  5      5      nUR                  5       R                  5       $ )N)	executer
   r   wherer   r   r   scalarsall)r   r   r   results       r   list_categoriesr&   #   sQ    IBZZxx~~1D1DDEF >>!!r   z/categories/{category_id}category_idc                 v   Uu  p4UR                  [        [        5      R                  [        R                  U :H  5      5      nUR                  5       nU(       d  [        SS5      eUR                  SS9R                  5        H  u  px[        XgU5        M     UR                  5         UR                  U5        U$ )N  Category not foundT)exclude_unset)r!   r
   r   r"   idscalar_one_or_noner   r   itemssetattrr   r   )	r'   r   r   r   r   r%   r   fieldvalues	            r   update_categoryr2   ,   s    IBZZx(..x{{k/IJKF((*HC!566***>DDF' GIIKJJxOr   c                    Uu  p#UR                  [        [        5      R                  [        R                  U :H  5      5      nUR                  5       nU(       d  [        SS5      eUR                  S:X  a  [        SS5      eSUl        UR                  5         UR                  U5        SUR                  UR                  S.S.$ )	Nr)   r*   DELETEDi  zCategory already deletedzCategory deleted successfully)r,   r   )messager   )
r!   r
   r   r"   r,   r-   r   r   r   r   )r'   r   r   r   r%   r   s         r   delete_categoryr6   :   s    IBZZx(..x{{k/IJKF((*HC!566~~"C!;<<HNIIKJJx 3#;;@ r   )%osfastapir   r   r   r   r   fastapi_pagination.utilsr   app.utils.authentificationr	   sqlalchemy.futurer
   app.enums.general_stater   app.models.categoryr   app.schemasr   schemasroutergetenvr   postCategoryResponseCategoryCreatetupler   getlistr&   putintCategoryUpdater2   deleter6   r   r   r   <module>rL      sH   	 G G G : $ 0 ) ( 
 " $II17;  ]7+C+CDKRSfKg W33 5  E M$w/G/G*HI*12E*F "% " J" '8P8PQ]dex]y 
 
w/E/E 
UZ 
 R
 *+<CDW<X  E  ,r   