
    ׻i                     |    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 d dlmZ  G d	 d
      Zy)    )datetime)HTTPException)schema)JWTPayloadSchema)
MasterBase	TblMaster)CustomResponse)Messages)Sessionc                   B    e Zd ZdedefdZdej                  fdZd Z	y)MasterServicedbtokenc                      || _         || _        y N)r   r   )selfr   r   s      =/var/www/html/retail-simulation-api/app/api/master/service.py__init__zMasterService.__init__   s    
    requestc                 \  K   |j                   dk(  r|j                  dk(  rCt        j                  |j	                               }t        j                  || j                         | j                  j                          t        dt        j                        S |j                   dk7  r|j                  dk(  r| j                  j                  t
              j                  t
        j                   |j                   k(        j                         }|st        dd      |j                   r|j                   |_        | j                  j                          t        dt        j"                        S |j                  dk7  rw| j                  j                  t
              j                  t
        j                   |j                   k(        j                         }d|_        t%        j&                         |_        | j                  j                          t        dt        j*                        S y w)Nr   1)statusmessagei  zMaster record not found)status_codedetail   )	master_id
is_deletedr   model_validate
model_dumpr   creater   commitr	   r
   MASTERqueryfilterfirstr   category_nameMASTER_UPDATEr   utcnow
updated_atMASTER_DELETE)r   r   created_dataupdatedeletes        r   createdzMasterService.created   s    !!!Q&)889K9K9MN  tww7GGNN!hooFF!#!!Q&y1889L9LPWPaPa9abhhj'C@YZZ((+2+@+@F(GGNN$)h>T>TUU##q(y1889L9LPWPaPa9abhhj$%!$,OO$5!GGNN!h6L6LMM! $s   H*H,c                    K   t        j                  | j                        }|D cg c]!  }t        j                  j                  |      # c}S c c}w wr   )r   getr   r   MasterResponser    )r   
geted_dataget_datas      r   getedzMasterService.geted*   sA     ]]477+
OYZz8%%44X>zZZZs   $A&AAN)
__name__
__module____qualname__r   r   r   r   MasterCreater0   r6    r   r   r   r   
   s0    ' )9 NF$7$7 N6[r   r   N)r   fastapir   app.api.masterr   app.dependency.authanticationr   app.models.main.masterr   r   app.utils.schemas_utilsr	   app.locale.messagesr
   sqlalchemy.ormr   r   r;   r   r   <module>rC      s)     ! ! : 8 2 ( ""[ "[r   