
    Ehb                     |    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)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ej                     fdZde	fdZy)!CompetitorCategoryAnalysesServicedbtokenc                      || _         || _        y N)r   r   )selfr   r   s      S/var/www/html/retail-simulation-api/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                 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   r#   r   r   'COMPETITOR_CATEGORY_ANALYSES_NOT_UPDATEr
   #update_competitor_category_analysesr   r   'COMPETITOR_CATEGORY_ANALYSES_UPDATE_SUC)r   r   req#updated_competitor_category_analyses       r   "update_competitor_category_analysezDCompetitorCategoryAnalysesService.update_competitor_category_analyse   s     C2P2_2_`c`n`n`p2q/2IIQ%T8;k;kll)MMNq  OI  OI  Kn  pt  pw  pw  x	 
 	S(2b2bccs   B4B6competitor_category_delete_idc                    K   t        j                  || j                        }|st        dt        j
                        S t        dt        j                        S wr5   )r
   #delete_competitor_category_analysesr   r   r   r6   '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(   r3   r    CompetitorCategoryAnalysesUpdater;   rA    r   r   r   r   
   sw    ' )9 `@g@g `m3 mP3 PJi PdtFDkDk?l ddUX dr   r   N)typingr   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   rH   r   r   <module>rQ      s)     " ! 7 : ( v 2"d "dr   