
    	,h                     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)StoreLevelStaffNeedsBaseTblStoreLevelStaffNeeds)CustomResponse)Session)JWTPayloadSchema)Messages)HTTPExceptionc                   t    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	fd	Zy
)StoreLevelStaffNeedsServicedbtokenc                      || _         || _        y )N)r   r   )selfr   r   s      B/var/www/html/RetailAPI/app/api/store_level_staff_needs/service.py__init__z$StoreLevelStaffNeedsService.__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_store_level_staffr   commitr   r	   STORE_LEVEL_STAFF_NEEDS)r   r   created_store_level_staffs      r   r   z4StoreLevelStaffNeedsService.create_store_level_staff   sY     $<$K$KGL^L^L`$a!889RTXT[T[\S(2R2RSSs   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_store_level_staffr   r
   r   StoreLevelStaffNeedsResponser   )r   r    new_get_store_level_staff	get_groups       r   r$   z1StoreLevelStaffNeedsService.get_store_level_staff   s^     $;$Q$QRZ\`\c\c$d!(C8PQQ_xy_xR[33BB9M_xyyys   4A$&AA$c                 *  K   t        j                  |j                               }|j                  t	        dt
        j                        S t        j                  |j                  || j                         t	        dt
        j                        S wNz-1r   r   )r   r   r   store_idr   r	   STORE_LEVEL_STAFF_NEEDS_NOTr   update_store_level_staffr   STORE_LEVEL_STAFF_NEEDS_UPDATE)r   r   updated_store_level_staffs      r   r,   z4StoreLevelStaffNeedsService.update_store_level_staff   sv     $<$K$KGL^L^L`$a!$--5!x7[7[\\889R9[9[]vx|xx  	AS(2Y2YZZs   BBc                    K   t        j                  || j                        }|st        dt        j
                        S t        dt        j                        S wr)   )r   delete_store_level_staffr   r   r	   r+   STORE_LEVEL_STAFF_NEEDS_DELETE)r   r    deleted_store_level_staffs      r   r0   z4StoreLevelStaffNeedsService.delete_store_level_staff!   sJ     $;$T$TU]_c_f_f$g!(!x7[7[\\S(2Y2YZZs   AAN)__name__
__module____qualname__r   r   r   r   StoreLevelStaffNeedsCreater   intr$   StoreLevelStaffNeedsUpdater,   r0    r   r   r   r   	   sZ    ' )9 TV5V5V Tz3 z[V5V5V [[s [r   r   N)app.api.store_level_staff_needsr   'app.models.main.store_level_staff_needsr   r   app.utils.schemas_utilsr   sqlalchemy.ormr   app.dependency.authanticationr   app.locale.messagesr	   fastapir
   r   r9   r   r   <module>rA      s&    2 e 2 " : ( ![ [r   