
    Eh                     |    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
 d dlmZ d dlmZ d dlmZ  G d	 d
      Zy)    )List)schema)AnnexuresBaseTblAnnexures)CustomResponse)Session)JWTPayloadSchema)Messages)HTTPExceptionc                   z    e Zd ZdedefdZdej                  fdZde	fdZ
deej                     fdZd	e	fd
Zy)AnnexuresServicedbtokenc                      || _         || _        y )N)r   r   )selfr   r   s      @/var/www/html/retail-simulation-api/app/api/annexures/service.py__init__zAnnexuresService.__init__   s    
    requestc                    K   t        j                  |j                               }t        j                  || j
                         | j
                  j                          t        dt        j                        S w)N1statusmessage)
r   model_validate
model_dumpr   create_annexuresr   commitr   r
   	ANNEXURES)r   r   created_annexuress      r   r   z!AnnexuresService.create_annexures   sV     )889K9K9MN%%&7AS(2D2DEEs   A9A;group_idc                    K   t        j                  || j                        }|st        dd      |D cg c]!  }t        j
                  j                  |      # c}S c c}w w)Ni  zGet group ID not found)status_codedetail)r   get_annuexuresr   r   r   AnnexuresResponser   )r   r!   new_get_annexures	get_groups       r   get_annexureszAnnexuresService.get_annexures   sY     (77$''J C8PQQTefTey((77	BTefffs   4A$&AA$c                 p  K   |D ]y  }t        j                  |j                               }|j                  t	        dt
        j                        c S t        j                  |j                  || j                         { | j                  j                          t	        dt
        j                        S wNz-1r   r   )r   r   r   annexures_idr   r
   ANNEXURES_NOTr   update_annuexuresr   r   ANNEXURES_UPDATE)r   r   requpdated_annexuress       r   update_annexuresz!AnnexuresService.update_annexures   s     C - < <S^^=M N --5%T8;Q;QRR**+<+I+IK\^b^e^ef	 
 	S(2K2KLLs   B4B6r,   c                    K   t        j                  || j                        }|st        dt        j
                        S t        dt        j                        S wr+   )r   delete_annexuresr   r   r
   r-   ANNEXURES_DELETE)r   r,   deleted_annexuress      r   r4   z!AnnexuresService.delete_annexures$   sF     (99,P !x7M7MNNS(2K2KLLs   AAN)__name__
__module____qualname__r   r	   r   r   AnnexuresCreater   intr)   r   AnnexuresUpdater2   r4    r   r   r   r   
   s_    ' )9 FV-C-C Fg3 gMT&2H2H-I MM# Mr   r   N)typingr   app.api.annexuresr   app.models.main.annexuresr   r   app.utils.schemas_utilsr   sqlalchemy.ormr   app.dependency.authanticationr	   app.locale.messagesr
   fastapir   r   r=   r   r   <module>rF      s)     $ A 2 " : ( !M Mr   