
    ph                     |    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	 d dl
mZmZ d dlmZ d dlmZ  G d	 d
      Zy)    )List)HTTPException)Session)schema)JWTPayloadSchema)OnlinePreSelectServiceBaseTblOnlinePreSelectService)CustomResponse)Messagesc                       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)OnlinePreSelectServiceServicedbtokenc                      || _         || _        y )N)r   r   )selfr   r   s      X/var/www/html/retail-simulation-api/app/api/online_pre_selected_service_level/service.py__init__z&OnlinePreSelectServiceService.__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   ONLINE_PRE_SELECTES)r   r   r   reqcreated_datasales         r   createdz%OnlinePreSelectServiceService.created   sq     C5DDS^^EUVL,33L$''JDMM$  	S(2N2NOOs   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   OnlinePreSelectServiceResponser   )r   r%   
geted_data	get_groups       r   getedz#OnlinePreSelectServiceService.geted   sY     .228TWWE
C8PQQaklakT]55DDYOakllls   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   	online_idr
   r   ONLINE_PRE_SELECTES_NOTr	   updater   r   ONLINE_PRE_SELECTES_UPDATE)r   r   r!   updated_datas       r   updatedz%OnlinePreSelectServiceService.updated   s     C5DDS^^EUVL%%-%T8;[;[\\%,,\-C-C\SWSZSZ[	 
 	S(2U2UVVs   B4B6r0   c                    K   t        j                  || j                        }|st        dt        j
                        S t        dt        j                        S wr/   )r	   deleter   r
   r   r1   ONLINE_PRE_SELECTES_DELETE)r   r0   deleted_datas      r   deletedz%OnlinePreSelectServiceService.deleted'   sE     077	477K!x7W7WXXS(2U2UVVs   AAN)__name__
__module____qualname__r   r   r   listr   OnlinePreSelectServiceCreater$   intr-   r   OnlinePreSelectServiceUpdater5   r:    r   r   r   r   
   sd    ' )9 PD)L)L$M Pm3 mWD)L)L$M WWc Wr   r   N)typingr   fastapir   sqlalchemy.ormr   )app.api.online_pre_selected_service_levelr   app.dependency.authanticationr   1app.models.main.online_pre_selected_service_levelr   r	   app.utils.schemas_utilsr
   app.locale.messagesr   r   rB   r   r   <module>rK      s)     ! " < : s 2 (!W !Wr   