
    _hR                     |    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
 d dlmZ d dlmZ d dlmZ  G d	 d
      Zy)    )List)Session)schema)JWTPayloadSchema)CriticalBusinessBaseTblCriticalBusiness)CustomResponse)Messages)HTTPExceptionc                       e Zd ZdedefdZdeej                     fdZ	de
fdZdeej                     fdZd	e
fd
Zy)CriticalBusinessServicedbtokenc                      || _         || _        y )N)r   r   )selfr   r   s      L/var/www/html/retail-simulation-api/app/api/critical_for_business/service.py__init__z CriticalBusinessService.__init__   s    
    requestc                 .  K   g }|D ]V  }t        j                  |j                               }t        j                  || j
                        }|j                  |       X | j
                  j                          t        dt        j                        S w)N1statusmessage)r   model_validate
model_dumpr   creater   appendcommitr	   r
   CRITICAL_BUSINESS)r   r   created_dataitemcreate_requestsales         r   createdzCriticalBusinessService.created   ss     D1@@ARSN&--ndggFD%  	S(2L2LMMs   BB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   getr   r   r   CriticalBusinessResponser   )r   r&   
geted_data	get_groups       r   getedzCriticalBusinessService.geted   sX     (,,Xtww?
C8PQQ[ef[ei//>>yI[e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   critical_idr	   r
   CRITICAL_BUSINESS_NOTr   updater   r   CRITICAL_BUSINESS_UPDATE)r   r   requpdated_datas       r   updatedzCriticalBusinessService.updated   s     C/>>s~~?OPL''/%T8;Y;YZZ&&|'?'?twwW	 
 	S(2S2STTs   B4B6r1   c                    K   t        j                  || j                        }|st        dt        j
                        S t        dt        j                        S wr0   )r   deleter   r	   r
   r2   CRITICAL_BUSINESS_DELETE)r   r1   deleted_datas      r   deletedzCriticalBusinessService.deleted'   sE     *11+twwG!x7U7UVVS(2S2STTs   AAN)__name__
__module____qualname__r   r   r   r   r   CriticalBusinessCreater%   intr.   CriticalBusinessUpdater7   r<    r   r   r   r   
   sd    ' )9 ND)F)F$G Ng3 gUD)F)F$G UU Ur   r   N)typingr   sqlalchemy.ormr   app.api.critical_for_businessr   app.dependency.authanticationr   %app.models.main.critical_for_businessr   r   app.utils.schemas_utilsr	   app.locale.messagesr
   fastapir   r   rC   r   r   <module>rL      s)     " 0 : [ 2 ( !!U !Ur   