
    	,hZ                     |    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)    )HTTPException)func)Session)schema)JWTPayloadSchema)Messages)DisplayBoardBaseTblDisplayBoard)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)DisplayBoardServicedbtokenc                      || _         || _        y )N)r   r   )selfr   r   s      8/var/www/html/RetailAPI/app/api/display_board/service.py__init__zDisplayBoardService.__init__   s    
    requestc                 :  K   |j                   |j                  z  }|j                         }||d<   t        j                  |      }t        j                  || j                         | j                  j                          t        dt        j                        S w)Ntotal1statusmessage)sizecost_per_unit
model_dumpr	   model_validater
   creater   commitr   r   DISPLAY_BOARD)r   r   r   request_datacreated_display_boards        r   create_display_boardz(DisplayBoardService.create_display_board   sy     w444))+ %W 0 ? ? M4dgg>S(2H2HIIs   BBdisplay_get_idc                    K   t        j                  || j                        }|st        dd      t        j
                  j                  |      S w)N  zGet Display Board ID not foundstatus_codedetail)r
   get_by_display_board_datar   r   r   DisplayBoardResopnser   )r   r&   new_get_display_boards      r   get_display_boardz%DisplayBoardService.get_display_board#   sI      / I I.Z^ZaZa b$C8XYY**99:OPPs   AAgroup_idreturnr
   c                   K   | j                   j                  t        j                  t        j                  t        j                  t        j                        j                  d            j                  t        j                  |k(        j                  t        j                  t        j                        j                         }|st        dd      |D cg c]!  }t        j                  j                  |      # c}S c c}w w)N	total_sumr(   zGet sum ID not foundr)   )r   queryr
   r0   store_formate_typer   sumr   labelfiltergroup_byallr   r   DisplayBoardSumr   )r   r0   new_get_and_sum_display_boardget_and_sum_display_boards       r   r=   z-DisplayBoardService.get_and_sum_display_board)   s     GGMM((22../55kB
 00H<=/22O4V4VW 	& -C8NOO sP  Q  sPUn&&556OP  sP  Q  	Q  Qs   CD&D?Dc                   K   |j                   |j                  z  }|j                         }||d<   t        j                  |      }|j
                  t        dt        j                        S t        j                  |j
                  || j                         | j                  j                          t        dt        j                        S w)Nr   -1r   r   )r   r   r   r	   r   display_board_idr   r   DISPLAY_BOADR_UPDATE_NOTr
   update_display_boardr   r!   !DISPLAY_BOADR_UPDATE_SUCCESSFULLY)r   r   r   r#   updated_display_boards        r   rB   z(DisplayBoardService.update_display_board8   s     w444))+ %W 0 ? ? M 119!x7X7XYY,,-B-S-STijnjqjqrS(2\2\]]s   CCdisplay_board_delete_idc                    K   t        j                  || j                        }|st        dt        j
                        S t        dt        j                        S w)Nr?   r   r   )r
   delete_display_boardr   r   r   rA   DISPLAY_BOARD_DELETE)r   rE   deleted_display_boards      r   rG   z(DisplayBoardService.delete_display_boardC   sJ      / D DE\^b^e^e f$!x7X7XYYS(2O2OPPs   AAN)__name__
__module____qualname__r   r   r   r   DisplayBoardCreater%   intr/   r=   DisplayBoardUpdaterB   rG    r   r   r   r   
   sq    7 +; J&2K2K J(QS QQ Q?P Q	^&2K2K 	^Q# Qr   r   N)fastapir   
sqlalchemyr   sqlalchemy.ormr   app.api.display_boardr   app.dependency.authanticationr   app.locale.messagesr   app.models.main.display_boardr	   r
   app.utils.schemas_utilsr   r   rP   r   r   <module>rY      s)    !  " ( : ( K 2=Q =Qr   