
    $i                     p    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  G d d	      Zy
)    )JWTPayloadSchema)TblSimulation)TblUserSimulationUserSimulationBase)CustomResponse)Messages)Session)schemac                   L    e Zd ZdedefdZdej                  fdZdede	fdZ
y)	UserSimulationServicedbtokenc                      || _         || _        y )N)r   r   )selfr   r   s      F/var/www/html/retail-simulation-api/app/api/user_simulation/service.py__init__zUserSimulationService.__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   creater   commitr   r   USER_SIMULATION)r   r   created_datas      r   createdzUserSimulationService.created   sT     )889K9K9MN  tww7S(2J2JKKs   A9A;user_idc                   K   | j                  t              j                  t        t        j                  t        j                  k(        j                  t        j                  |k(        j                         }|sdddS d|dS w)Nr   z!No simulations found for the userr      )r   simulations)queryr   joinr   simulation_idfilterr!   all)r   r!   results      r   get_user_simulation_detailsz1UserSimulationService.get_user_simulation_details   so     HH]#T#%6%D%DHcHc%cdV%--89SU	 	 ,OPPF33s   BBN)__name__
__module____qualname__r	   r   r   r
   UserSimulationCreater    intr+    r   r   r   r   	   s=    ' )9 LF$?$? L4g 4 4r   r   N)app.dependency.authanticationr   app.models.main.simulationr   app.models.main.user_simulationr   r   app.utils.schemas_utilsr   app.locale.messagesr   sqlalchemy.ormr	   app.api.user_simulationr
   r   r1   r   r   <module>r9      s$    : 4 Q 2 ( " *4 4r   