
    Ѷ'iG                     2    d dl mZmZ  G d de          ZdS )    )ABCabstractmethodc                   \    e Zd ZdZd Zed
d            Zed
d            ZddZd Z	d	 Z
dS )BaseDBHandlerz@Abstract base class for database handlers with common utilities.c                 0    || _         d | _        d | _        d S N)
api_logger
connectionpool)selfr	   s     D/Users/user/workspace/sujinbaek/cqa-test-app/products/dbs/base_db.py__init__zBaseDBHandler.__init__   s    $			    Nc                     dS )zN
        Connect to the database
        Returns: dict with code, msg
        N )r   serviceuserpassworddatabases        r   connectzBaseDBHandler.connect   	     	r   c                     dS )z^
        Execute a query
        Returns: dict with code, msg, columns_names, results
        Nr   )r   queryr   s      r   execute_queryzBaseDBHandler.execute_query   r   r   Query executed successfullyc                     d||pg |pg dS )z(Helper method to create success response   )codemsgcolumns_namesresultsr   )r   r   r    r!   s       r   make_success_responsez#BaseDBHandler.make_success_response   s(     *0b}"	
 
 	
r   c                     d|dS )z?Helper method to create connection response (code and msg only)r   r   r   r   )r   r   s     r   make_connection_responsez&BaseDBHandler.make_connection_response$   s     
 
 	
r   c                     ||dS )z&Helper method to create error responser$   r   )r   r   r   s      r   make_error_responsez!BaseDBHandler.make_error_response+   s     
 
 	
r   r   )r   NN)__name__
__module____qualname____doc__r   r   r   r   r"   r%   r'   r   r   r   r   r      s        JJ  
    ^    ^
 
 
 

 
 

 
 
 
 
r   r   N)abcr   r   r   r   r   r   <module>r-      sQ    # # # # # # # #-
 -
 -
 -
 -
C -
 -
 -
 -
 -
r   