
    	,h                     p    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
)    )Session)HTTPException)schema)JWTPayloadSchema)Messages)CompetitorCategoryAnalysesBaseTblCompetitorCategoryAnalyses)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j                  fdZde	fdZy)!CompetitorCategoryAnalysesServicedbtokenc                      || _         || _        y N)r   r   )selfr   r   s      G/var/www/html/RetailAPI/app/api/competitor_category_analyses/service.py__init__z*CompetitorCategoryAnalysesService.__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   #COMPETITOR_CATEGORY_ANALYSES_CREATE)r   r   $created_competitor_category_analysess      r   #create_competitor_category_analyseszECompetitorCategoryAnalysesService.create_competitor_category_analyses   sZ     /M/\/\]d]o]o]q/r,%,,-QSWSZSZ[S(2^2^__s   A9A;competitor_category_idc                    K   t        j                  || j                        }t        j                  j                  |      S wr   )r	    get_competitor_category_analysesr   r   "CompetitorCategoryAnalysesResponser   )r   r"   #new_get_competitor_category_analyses      r   get_competitor_category_analysezACompetitorCategoryAnalysesService.get_competitor_category_analyse   sL     .K.l.l  nD  FJ  FM  FM  /N+88GGHklls   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)Ni  zGet group ID not found)status_codedetail)
r   queryr	   filterr(   allr   r   r%   r   )r   r(   )new_get_group_competitor_category_analyse	get_groups       r   %get_group_competitor_category_analysezGCompetitorCategoryAnalysesService.get_group_competitor_category_analyse   s     48GGMMB_4`4g4g  iF  iO  iO  S[  i[  5\  5`  5`  5b18C8PQQ fO  P  fOXa99HHS  fO  P  	P  Ps   A!B#&B	Bc                 ^  K   t        j                  |j                               }|j                  t	        dt
        j                        S t        j                  |j                  || j                         | j                  j                          t	        dt
        j                        S wNz-1r   r   )r   r   r   r"   r
   r   'COMPETITOR_CATEGORY_ANALYSES_NOT_UPDATEr	   #update_competitor_category_analysesr   r   'COMPETITOR_CATEGORY_ANALYSES_UPDATE_SUC)r   r   #updated_competitor_category_analyses      r   "update_competitor_category_analysezDCompetitorCategoryAnalysesService.update_competitor_category_analyse   s     .L.[.[\c\n\n\p.q+.EEM!x7g7ghh%IIJm  KE  KE  Gj  lp  ls  ls  	tS(2b2bccs   B+B-competitor_category_delete_idc                    K   t        j                  || j                        }|st        dt        j
                        S t        dt        j                        S wr4   )r	   #delete_competitor_category_analysesr   r
   r   r5   'COMPETITOR_CATEGORY_ANALYSES_DELETE_SUC)r   r:   #deleted_competitor_category_analyses      r   "delete_competitor_category_analysezDCompetitorCategoryAnalysesService.delete_competitor_category_analyse&   s]     .K.o.o  qN  PT  PW  PW  /X+2!x7g7ghhS(2b2bccs   AAN)__name__
__module____qualname__r   r   r   r    CompetitorCategoryAnalysesCreater!   intr'   r2    CompetitorCategoryAnalysesUpdater9   r?    r   r   r   r   	   sr    ' )9 `@g@g `m3 mP3 PJi Pdv?f?f ddUX dr   r   N)sqlalchemy.ormr   fastapir   $app.api.competitor_category_analysesr   app.dependency.authanticationr   app.locale.messagesr   ,app.models.main.competitor_category_analysesr   r	   app.utils.schemas_utilsr
   r   rF   r   r   <module>rN      s&    " ! 7 : ( v 2!d !dr   