
    	,hp	                     p    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
)    )schema)ShrinkageAreasReasonsBaseTblShrinkageAreasReasons)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j                  fdZdee	   fd	Zy
)ShrinkageAreasReasonsServicedbtokenc                      || _         || _        y )N)r   r   )selfr   r   s      B/var/www/html/RetailAPI/app/api/shrinkage_areas_reasons/service.py__init__z%ShrinkageAreasReasonsService.__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_shrinkage_areas_reasonsr   commitr   r	   SHRINNKAGE_AREAS_REASONS)r   r   created_shrinkage_areas_reasonss      r   r   z;ShrinkageAreasReasonsService.create_shrinkage_areas_reasons   sZ     *C*R*RSZSeSeSg*h' ??@_aeahahiS(2S2STTs   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_shrinkage_areas_reasonsr   r
   r   ShrinkageAreasReasonsResponser   )r   r    new_get_shrinkage_areas_reasons	get_groups       r   r$   z8ShrinkageAreasReasonsService.get_shrinkage_areas_reasons   sj     *B*^*^_gimipip*q'.C8PQQ`  A`S\44CCIN`  A  	A  As   4A$&AA$c                 *  K   t        j                  |j                               }|j                  t	        dt
        j                        S t        j                  |j                  || j                         t	        dt
        j                        S w)N-1r   r   )r   r   r   shrinkage_idr   r	   SHRINNKAGE_AREAS_REASONS_NOTr   update_shrinkage_areas_reasonsr   SHRINNKAGE_AREAS_REASONS_UPDATE)r   r   updated_shrinkage_areas_reasonss      r   r,   z;ShrinkageAreasReasonsService.update_shrinkage_areas_reasons   s     *C*R*RSZSeSeSg*h'*77?!x7\7\]] ??@_@l@l  oN  PT  PW  PW  	XS(2Z2Z[[s   BBc                    K   t        j                  || j                        }|st        dt        j
                        S t        dt        j                        S w)Nr)   )r   r   r   )r   delete_shrinkage_areas_reasonsr   r   r	   r+   SHRINNKAGE_AREAS_REASONS_DELETE)r   r    deleted_shrinkage_areas_reasonss      r   r0   z;ShrinkageAreasReasonsService.delete_shrinkage_areas_reasons!   sJ     *B*a*abjlplsls*t'.!$0U0UVVS(2Z2Z[[s   AAN)__name__
__module____qualname__r   r   r   r   ShrinkageAreasReasonsCreater   intr$   ShrinkageAreasReasonsUpdater,   listr0    r   r   r   r   	   s^    ' )9 U6;];] UA A\6;];] \\DI \r   r   N)app.api.shrinkage_areas_reasonsr   'app.models.main.shrinkage_areas_reasonsr   r   app.utils.schemas_utilsr   sqlalchemy.ormr   app.dependency.authanticationr   app.locale.messagesr	   fastapir
   r   r:   r   r   <module>rB      s&    2 g 2 " : ( !\ \r   