
    	,h                        d dl mZ d dlmZ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 dd	lmZmZmZmZmZ d d
lmZmZ d dlmZ  e       Zej7                  dd       ee       ee      fdededefd       Zej;                  ded       ee       ee      fdededefd       Zej;                  ded       ee       ee      fdededefd       Z ejC                  de
d       ee       ee      fdededefd       Z"ej;                  dee   d       ee       ee      fde#dedefd       Z$ej7                  ddg        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&ej;                  d%edg&       ee       ee      fdededefd'       Z'y())    )List)	APIRouterDepends)Session)service)GroupResponse)get_db)CategoryCreate   )GroupCreateGroupResposeGroupUpdateStudentInfoGroupCategoryResponse)get_current_userJWTPayloadSchema)MainDataSchemaz/groupT)response_model_exclude_nonerequestdbtokenc                 h   K   t        j                  ||      j                  |        d {   S 7 wN)r   GroupServicecreate_groupr   r   r   s      //var/www/html/RetailAPI/app/api/group/router.pyr   r      *     %%b%0==gFFFF   )202z/group/{group_id})response_modelr   group_idc                 h   K   t        j                  ||      j                  |        d {   S 7 wr   )r   r   	get_groupr!   r   r   s      r   get_simulationr%      s*     %%b%0::8DDDDr   z/category/{group_id}c                 h   K   t        j                  ||      j                  |        d {   S 7 wr   )r   r   get_group_categoryr$   s      r   get_simulation1r(      s*     %%b%0CCHMMMMr   z/group/updatec                 h   K   t        j                  ||      j                  |        d {   S 7 wr   )r   r   update_groupr   s      r   update_segmentr+      r   r   z/group/{group_id}/students
group_codec                 h   K   t        j                  ||      j                  |        d {   S 7 wr   )r   r   get_group_students)r,   r   r   s      r   r.   r.      s*     %%b%0CCJOOOOr   z	/categoryCategory)tagsc                 L    t        j                  ||      j                  |       S r   )r   r   create_categoryr   s      r   assign_categoryr3   "   s     5)99'BB    z /groupbased/{group_id}/main-data)r    c                 L    t        j                  ||      j                  |       S r   )r   r   get_main_data_by_group_servicer$   s      r   get_main_data_by_groupr7   &   s     E*II(SSr4   z/group/category/{group_id})r    r0   c                 L    t        j                  ||      j                  |       S r   )r   r   get_group_category_servicer$   s      r   r'   r'   *   s     5)DDXNNr4   N)(typingr   fastapir   r   sqlalchemy.ormr   app.api.groupr   app.api.student.schemasr   app.database.main.mysqlr	   app.models.main.categoryr
   schemasr   r   r   r   r   app.dependency.authanticationr   r   app.api.group.schemasr   group_routerpostr   getintr%   r(   putr+   strr.   r3   r7   r'    r4   r   <module>rK      s    & " ! 1 * 3 ` ` L 0{8>:A&/dkl|d} G G GQa G ?G %l`de6=foahiyaz E3 EG EN^ E fE (9Nlpq7>vbijzb{ NC NW NO_ N rN /-]ab<CFOfmn~f G+ G' GSc G cG .tK?Pnrs<CFOgno  hA P P' PTd P tP ;j\2;B6?elm}e~ C^ C CRb C 3C 4^T8?bijzb{ TS Tg TO_ T UT .?T\f[gh4;FO^efv^w O O' OK[ O iOr4   