o
    Uhe                     @   sb   d dl mZ d dlmZ d dlmZmZ d dlmZm	Z	 d dl
mZ d dlmZ G dd dZd	S )
    )HTTPException)Session)CommercialEquipmentBaseTblCommercialEquipment)CommercialEquipmentCreateCommercialEquipmentResponse)JWTPayloadSchema)CustomResponsec                   @   s:   e Zd ZdedefddZdefddZdefd	d
Z	dS )CommercialEquipmentServicedbtokenc                 C   s   || _ || _d S )N)r   r   )selfr   r    r   ?/var/www/html/RetailAPI/app/api/commercial_equipment/service.py__init__	   s   
z#CommercialEquipmentService.__init__requestc                    sd   |j |j  }t|}||_tt| | j}| j	| | j
  | j| tdddS )N1z/Commercial Equipment item created successfully.)statusmessage)cost_per_unitr   model_validatetotalr   creater   
model_dumpr   addcommitrefreshr	   )r   r   r   created_equipmentnew_equipmentr   r   r   create_commercial_equipment   s   

z6CommercialEquipmentService.create_commercial_equipmentequipment_idc                    s*   t || j}|stdddt|S )Ni  zcomercial equipment not found)status_codedetail)r   	get_by_idr   r   r   r   )r   r    commercial_equipmentr   r   r   get_commercial_equipment   s
   
z3CommercialEquipmentService.get_commercial_equipmentN)
__name__
__module____qualname__r   r   r   r   r   intr%   r   r   r   r   r
      s    
r
   N)fastapir   sqlalchemy.ormr   $app.models.main.commercial_equipmentr   r   $app.api.commercial_equipment.schemasr   r   app.dependency.authanticationr   app.utils.schemas_utilsr	   r
   r   r   r   r   <module>   s    