
    Eh
                     |    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)schema)JWTPayloadSchema)Messages) CompetitorAnalysisComparisonBaseTblCompetitorAnalysisComparison)CustomResponse)Sessionc                   z    e Zd ZdedefdZdej                  fdZde	fdZ
deej                     fdZd	e	fd
Zy)#CompetitorAnalysisComparisonServicedbtokenc                      || _         || _        y )N)r   r   )selfr   r   s      U/var/www/html/retail-simulation-api/app/api/competitor_analysis_comparison/service.py__init__z,CompetitorAnalysisComparisonService.__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	   %create_competitor_analysis_comparisonr   commitr
   r   COMPETITOR_ANALYSIS_COMPARISON)r   r   &created_competitor_analysis_comparisons      r   r   zICompetitorAnalysisComparisonService.create_competitor_analysis_comparison   sZ     1Q1`1`ahasasau1v.'MMNtvzv}v}~S(2Y2YZZs   A9A;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	   "get_competitor_analysis_comparisonr   r   r   $CompetitorAnalysisComparisonResponser   )r   r!   &new_get_competitor_analysis_comparison	get_groups       r   r%   zFCompetitorAnalysisComparisonService.get_competitor_analysis_comparison   s     1P1s1st|  C  F  F  2G.5C8PQQ hN  O  hNZc;;JJ9U  hN  O  	O  Os   4A$&AA$c                 \  K   |D ]o  }t        j                  |j                               }|t        dt        j
                        c S t        j                  |j                  || j                         q | j                  j                          t        dt        j                        S wNz-1r   r   )r   r   r   r
   r   "COMPETITOR_ANALYSIS_COMPARISON_NOTr	   %update_competitor_analysis_comparisoncompetitor_idr   r   &COMPETITOR_ANALYSIS_COMPARISON_UPDTATE)r   r   req&updated_competitor_analysis_comparisons       r   r,   zICompetitorAnalysisComparisonService.update_competitor_analysis_comparison   s     C5U5d5deheseseu5v25=%T8;f;fgg+QQRx  SG  SG  Io  qu  qx  qx  y	 
 	S(2a2abbs   B*B,r-   c                    K   t        j                  || j                        }|st        dt        j
                        S t        dt        j                        S wr*   )r	   %delete_competitor_analysis_comparisonr   r
   r   r+   %COMPETITOR_ANALYSIS_COMPARISON_DELETE)r   r-   &deleted_competitor_analysis_comparisons      r   r2   zICompetitorAnalysisComparisonService.delete_competitor_analysis_comparison$   s]     1P1v1v  xE  GK  GN  GN  2O.5!x7b7bccS(2`2`aas   AAN)__name__
__module____qualname__r   r   r   r   "CompetitorAnalysisComparisonCreater   intr%   r   "CompetitorAnalysisComparisonUpdater,   r2    r   r   r   r   
   s_    ' )9 [&BkBk [O Oc$vGpGpBq cb br   r   N)typingr   fastapir   &app.api.competitor_analysis_comparisonr   app.dependency.authanticationr   app.locale.messagesr   .app.models.main.competitor_analysis_comparisonr   r	   app.utils.schemas_utilsr
   sqlalchemy.ormr   r   r;   r   r   <module>rD      s)     ! 9 : ( | 2 "b br   