
    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 d dlmZmZ d dlmZ  G d	 d
      Zy)    )List)HTTPException)Session)schema)JWTPayloadSchema)Messages)CompetitorPricingAnalysisBaseTblCompetitorPricingAnalysis)CustomResponsec                       e Zd ZdedefdZdej                  fdZde	fdZ
de	d	d
fdZdeej                     fdZde	fdZy) CompetitorPricingAnalysisServicedbtokenc                      || _         || _        y )N)r   r   )selfr   r   s      R/var/www/html/retail-simulation-api/app/api/competitor_pricing_analysis/service.py__init__z)CompetitorPricingAnalysisService.__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_pricing_analysisr   commitr   r   COMPETITOR_PRICING_ANALYSIS)r   r   #created_competitor_pricing_analysiss      r   r   zCCompetitorPricingAnalysisService.create_competitor_pricing_analysis   sZ     .K.Z.Z[b[m[m[o.p+$GGHkmqmtmtuS(2V2VWWs   A9A;competitor_get_idc                    K   t        j                  || j                        }|st        dd      t        j
                  j                  |      S w)N  zGet ID not foundstatus_codedetail)r
   get_competitor_pricing_analysisr   r   r   !CompetitorPricingAnalysisResponser   )r   r!   #new_get_competitor_pricing_analysiss      r   r'   z@CompetitorPricingAnalysisService.get_competitor_pricing_analysis   sY     .J.j.jk|  C  F  F  /G+2C8JKK77FFGjkks   AAgroup_idreturnr
   c                 &  K   | j                   j                  t              j                  t        j                  |k(        j                         }|st        dd      |D cg c]!  }t        j                  j                  |      # c}S c c}w w)Nr#   zGet Group ID not foundr$   )
r   queryr
   filterr*   allr   r   r(   r   )r   r*   )new_get_group_competitor_pricing_analysis	get_groups       r   %get_group_competitor_pricing_analysiszFCompetitorPricingAnalysisService.get_group_competitor_pricing_analysis   s     48GGMMB^4_4f4f  hD  hM  hM  QY  hY  5Z  5^  5^  5`18C8PQQ eN  O  eNW`88GG	R  eN  O  	O  Os   A!B#&B	B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   competitor_idr   r   COMPETITOR_PRICING_ANALYSIS_NOTr
   "update_competitor_pricing_analysisr   r   "COMPETITOR_PRICING_ANALYSIS_UPDATE)r   r   req#updated_competitor_pricing_analysiss       r   r7   zCCompetitorPricingAnalysisService.update_competitor_pricing_analysis!   s     C2O2^2^_b_m_m_o2p/2@@H%T8;c;cdd(KKLoL}L}  @c  ei  el  el  m	 
 	S(2]2]^^s   B4B6r5   c                    K   t        j                  || j                        }|st        dt        j
                        S t        dt        j                        S wr4   )r
   "delete_competitor_pricing_analysisr   r   r   r6   "COMPETITOR_PRICING_ANALYSIS_DELETE)r   r5   #deleted_competitor_pricing_analysiss      r   r<   zCCompetitorPricingAnalysisService.delete_competitor_pricing_analysis*   sY     .J.m.mn{  ~B  ~E  ~E  /F+2!x7_7_``S(2]2]^^s   AAN)__name__
__module____qualname__r   r   r   r   CompetitorPricingAnalysisCreater   intr'   r2   r   CompetitorPricingAnalysisUpdater7   r<    r   r   r   r   
   sv    ' )9 Xv?e?e Xls lO3 OJh O_tFDjDj?k __S _r   r   N)typingr   fastapir   sqlalchemy.ormr   #app.api.competitor_pricing_analysisr   app.dependency.authanticationr   app.locale.messagesr   +app.models.main.competitor_pricing_analysisr	   r
   app.utils.schemas_utilsr   r   rE   r   r   <module>rN      s)     ! " 6 : ( s 2$_ $_r   