
    i                     L    S SK JrJrJrJrJr  S SKJr  SSKJ	r	   " S S5      r
g)    )ListDictTupleSetOptional)get_connection   )StopButtonEnclosureOptionsc                   R    \ rS rSrSrS\\   4S jrS\S\	\   4S jr
S\4S jrS	rg
)!StopButtonEnclosureOptionsService   u   
Capa de servicio para gestionar la lógica de negocio y el acceso a datos
para las opciones del botón de parada.

Esta clase devuelve diccionarios listos para ser serializados a JSON.
returnc                    [        5        nUR                  5        nUR                  S5        UR                   Vs/ s H  o3S   PM	     nnUR	                  5       nU Vs/ s H  n[        [        XF5      5      PM     nnU Vs/ s H  n[        S0 UD6PM     n	nU	 V
s/ s H  oR                  5       PM     sn
sSSS5        sSSS5        $ s  snf s  snf s  snf s  sn
f ! , (       d  f       O= f SSS5        g! , (       d  f       g= f)z
Obtiene todos los registros de StopButtonEnclosureOptions desde la base de datos
y los devuelve como una lista de diccionarios.
z(SELECT * FROM StopButtonEnclosureOptionsr   N )	r   cursorexecutedescriptionfetchalldictzipr
   
model_dump)selfconnr   columnacolumnasfilasfilaresultados_dictdatamodelosmodelos              rC:\Users\victor.barrera\Documents\proyectos\elepV3\Elep\src\App\api\services\StopButtonEnclosureOptions_Service.pyget_all)StopButtonEnclosureOptionsService.get_all   s    
 &IJ6<6H6HI6H7AJ6HI) JO"O4H(;#<"O KZZ/$5==/Z ;BB'))+'B   J #P [ C  sW   C< C!C
C! C>C!CC!C8C!:	C<C!!
C/	+C<<
D
item_idc                    [        5        nUR                  5        nUR                  SU45        UR                   Vs/ s H  oDS   PM	     nnUR	                  5       nU(       d   SSS5        SSS5        g[        [        XV5      5      n[        S0 UD6nUR                  5       sSSS5        sSSS5        $ s  snf ! , (       d  f       O= f SSS5        g! , (       d  f       g= f)zn
Obtiene un registro por su ID desde la base de datos.
Devuelve un diccionario si lo encuentra, o None si no.
z:SELECT * FROM StopButtonEnclosureOptions WHERE stop_id = ?r   Nr   )	r   r   r   r   fetchoner   r   r
   r   )	r   r%   r   r   r   r   r   
datos_dictr!   s	            r"   	get_by_id+StopButtonEnclosureOptionsService.get_by_id$   s    
 &[^e]gh6<6H6HI6H7AJ6HI(    "#h"56
 4AjA ((*!   J  s?   C"B=B8B=&C7.B=%	C8B==
C	C
C&stop_idc                 L    [        5        nUR                  5        nSnUR                  XA5        UR                  5       nUsSSS5        sSSS5        $ ! , (       d  f       O= f SSS5        g! , (       d  f       g= f! [         a  n[        SU 35         SnAgSnAff = f)z
Obtiene los valores de los campos especificados en getFields.

params:
- getFields: Lista de nombres de campos a obtener.

return:
- Diccionario con los valores de los campos solicitados.
zISELECT stop_decription FROM StopButtonEnclosureOptions WHERE stop_id = ?;Nz'Error obteniendo campos de CZE_Quotes: )r   r   r   r'   	Exceptionprint)r   r+   r   r   queryresultes          r"   get_description1StopButtonEnclosureOptionsService.get_description=   s    		!T[[]fgENN54#__.F!	 #] "!"]] "!!  	;A3?@	sQ   
B A0%A	A0	B 
A#	A0'B 0
A>:B >B 
B#BB#r   N)__name__
__module____qualname____firstlineno____doc__r   r   r#   strr   r)   r2   __static_attributes__r       r"   r   r      s<    Cd C,+ +$ +2s r;   r   N)typingr   r   r   r   r   Consultas_SQL.conexionr   "schemas.StopButtonEnclosureOptionsr
   r   r   r;   r"   <module>r?      s    3 3 1 KI Ir;   