
    EhP
                     |    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)CompetitorBenchmarkingBaseTblCompetitorBenchmarking)CustomResponsec                   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)CompetitorBenchMarkingServicedbtokenc                      || _         || _        y )N)r   r   )selfr   r   s      O/var/www/html/retail-simulation-api/app/api/competitor_bench_marking/service.py__init__z&CompetitorBenchMarkingService.__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   CREATE_COMPETITOR_BENCH_MARKING)r   r    created_competitor_bench_markings      r   create_competitor_bench_markingz=CompetitorBenchMarkingService.create_competitor_bench_marking   sW     +E+T+TU\UgUgUi+j(!(()I$''RS(2Z2Z[[s   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%Competitor Bench Marking ID not found)status_codedetail)r
   get_by_competitor_benchmarkingr   r   r   CompetitorBenchmarkingResponser   )r   r"    new_get_competitor_bench_marking	get_groups       r   get_competitor_bench_markingz:CompetitorBenchMarkingService.get_competitor_bench_marking   sv     +D+c+cdlnrnunu+v(/C8_`` bB  C  bBT]55DDYO  bB  C  	C  Cs   4A$&AA$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   competitorbenchmarking_idr   r   )CREATE_COMPETITOR_BENCH_MARKING_NOT_FOUNDr
   update_competitor_benchmarkingr   r   COMPETITOR_BENCH_MARKING_UPDATE)r   r   reqr/   s       r   updated_competitor_benchmarkingz=CompetitorBenchMarkingService.updated_competitor_benchmarking   s     C-G-V-VWZWeWeWg-h*-GGO%T8;m;mnn%DDEcE}E}  ]  ^b  ^e  ^e  f	 
 	S(2Z2Z[[s   B4B6r-   c                    K   t        j                  || j                        }|st        dt        j
                        S t        dt        j                        S wr,   )r
   delete_competitor_benchmarkingr   r   r   r.   COMPETITOR_BENCH_MARKING_DELETE)r   r-   deleted_competitor_benchmarkings      r   r4   z<CompetitorBenchMarkingService.delete_competitor_benchmarking&   sY     *C*b*bc|  C  F  F  +G'.!x7i7ijjS(2Z2Z[[s   AAN)__name__
__module____qualname__r   r   r   r   CompetitorBenchMarkingCreater!   intr*   r   CompetitorBenchmarkingUpdater2   r4    r   r   r   r      s_    7 +; \V=`=` \C3 C\T&BeBe=f \\c \r   r   N)typingr   fastapir   sqlalchemy.ormr    app.api.competitor_bench_markingr   app.dependency.authanticationr   app.locale.messagesr   'app.models.main.competitor_benchmarkingr	   r
   app.utils.schemas_utilsr   r   r=   r   r   <module>rF      s)     ! " 3 : ( i 2\ \r   