
    Tiq	                        d dl mZmZ d dlmZmZ d dlmZ  e       Z e       Z	 G d de      Z
 G d de      Z G d d	e      Z G d
 de      Zej                  d      d        Zej!                  d      de
fd       Zej%                  d      dedefd       Zej+                  d      defd       Zej!                  d      dedefd       Zej%                  d      dededefd       Zej+                  d      dedefd       Zy)    )	APIRouterHTTPException)	BaseModelField)	KBServicec                   J    e Zd ZU  edd      Zeed<    edd      Zeed<   y)CategoryCreate.   
min_lengthcodetitleN)__name__
__module____qualname__r   r   str__annotations__r        A/home/techsaathi/public_html/it_helpdesk_chatbot/app/api/admin.pyr	   r	   
   s$    ca(D#(sq)E3)r   r	   c                   ,    e Zd ZU  edd      Zeed<   y)CategoryUpdate.r
   r   r   N)r   r   r   r   r   r   r   r   r   r   r   r      s    sq)E3)r   r   c                   Z    e Zd ZU  edd      Zeed<    edd      Zeed<   ee   ed<   y)IssueCreate.r
   r   r   r   stepsN)	r   r   r   r   r   r   r   r   listr   r   r   r   r      s.    ca(D#(sq)E3)9r   r   c                   <    e Zd ZU  edd      Zeed<   ee   ed<   y)IssueUpdate.r
   r   r   r   N)r   r   r   r   r   r   r   r   r   r   r   r   r      s    sq)E3)9r   r   z/admin/datac                  J    t         j                          t         j                  S )N)kbreloaddatar   r   r   
admin_datar#      s    IIK77Nr   z/admin/categoriespayloadc                     	 t         j                  | j                  | j                        S # t        $ r}t        dt        |            d }~ww xY wNi  status_codedetail)r    add_categoryr   r   
ValueErrorr   r   )r$   es     r   create_categoryr-   $   sA    <w||W]];; <CF;;<s   ), 	AAAz!/admin/categories/{category_code}category_codec                     	 t         j                  | |j                        S # t        $ r}t	        dt        |            d }~ww xY wN  r'   )r    update_categoryr   r+   r   r   r.   r$   r,   s      r   r2   r2   ,   s?    <!!-?? <CF;;<s   " 	AAAc                     	 t         j                  |        ddiS # t        $ r}t        dt	        |            d }~ww xY wNstatussuccessr1   r'   )r    delete_categoryr+   r   r   )r.   r,   s     r   r8   r8   4   sA    <
=))$$ <CF;;<s    	?:?z(/admin/categories/{category_code}/issuesc                     	 t         j                  | |j                  |j                  |j                        S # t
        $ r}t        dt        |            d }~ww xY wr&   )r    add_sub_optionr   r   r   r+   r   r   r3   s      r   create_issuer;   =   sK    <  gmmW]][[ <CF;;<s   58 	AAAz3/admin/categories/{category_code}/issues/{sub_code}sub_codec                     	 t         j                  | ||j                  |j                        S # t        $ r}t        dt        |            d }~ww xY wr0   )r    update_sub_optionr   r   r+   r   r   )r.   r<   r$   r,   s       r   update_issuer?   E   sG    <##M8W]]GMMZZ <CF;;<s   +. 	AAAc                     	 t         j                  | |       ddiS # t        $ r}t        dt	        |            d }~ww xY wr5   )r    delete_sub_optionr+   r   r   )r.   r<   r,   s      r   delete_issuerB   M   sC    <
]H5)$$ <CF;;<s    	A ;A N)fastapir   r   pydanticr   r   app.services.kb_servicer   routerr    r	   r   r   r   getr#   postr-   putr   r2   deleter8   r;   r?   rB   r   r   r   <module>rK      sl   , % -	[*Y *
*Y *) ) 
 M 
  !<^ < "< /0<3 < < 1< 23<3 < 4< 78< <k < 9< AB< <s <[ < C< DE< <s < F<r   