
    Eh
                     |    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 d dlmZ d dlmZ  G d	 d
      Zy)    )List)schema)CategoryPricingStrategisBaseTblCategoryPricingStrategis)CustomResponse)Session)HTTPException)JWTPayloadSchema)Messagesc                       e Zd ZdedefdZdeej                     fdZ	de
fdZdeej                     fdZd	e
fd
Zy)CategoryPricingStrategisServicedbtokenc                      || _         || _        y )N)r   r   )selfr   r   s      Q/var/www/html/retail-simulation-api/app/api/category_pricing_strategis/service.py__init__z(CategoryPricingStrategisService.__init__   s    
    requestc                 2  K   g }|D ]X  }|j                         }t        j                  |      }t        j                  || j
                        }|j                  |       Z | j
                  j                          t        dt        j                        S w)N1statusmessage)
model_dumpr   model_validater   !create_category_pricing_strategisr   appendcommitr   r   CATEGORY_PRICING_STRATEGIS)r   r   created_categoryitemrequest_datacreated_itemsales          r   r   zACategoryPricingStrategisService.create_category_pricing_strategis   s}     D??,L7FF|TL.PPQ]_c_f_fgD##D)	 
 	S(2U2UVVs   BB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Get group ID not found)status_codedetail)r   get_category_pricing_strategisr   r	   r    CategoryPricingStrategisResponser   )r   r&   "new_get_category_pricing_strategis	get_groups       r   r*   z>CategoryPricingStrategisService.get_category_pricing_strategis   sv     -H-g-ghprvryry-z*1C8PQQ dF  G  dFV_77FFyQ  dF  G  	G  G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   category_idr   r   CATEGORY_PRICING_STRATEGIS_NOTr   !update_category_pricing_strategisr   r   !CATEGORY_PRICING_STRATEGIS_UPDATE)r   r   req"updated_category_pricing_strategiss       r   r2   zACategoryPricingStrategisService.update_category_pricing_strategis   s     C1M1\1\]`]k]k]m1n.1==E%T8;b;bcc'IIJlJxJx  {]  _c  _f  _f  g	 
 	S(2\2\]]s   B4B6r0   c                    K   t        j                  || j                        }|st        dt        j
                        S t        dt        j                        S wr/   )r   !delete_category_pricing_strategisr   r   r   r1   !CATEGORY_PRICING_STRATEGIS_DELETE)r   r0   "deleted_category_pricing_strategiss      r   r7   zACategoryPricingStrategisService.delete_category_pricing_strategis(   sM     -H-j-jkvx|xx  .A*1!x7^7^__S(2\2\]]s   AAN)__name__
__module____qualname__r   r
   r   r   r   CategoryPricingStrategisCreater   intr*   CategoryPricingStrategisUpdater2   r7    r   r   r   r   
   sd    ' )9 Wd6ChCh>i WGC G^d6ChCh>i ^^# ^r   r   N)typingr   "app.api.category_pricing_strategisr   *app.models.main.category_pricing_strategisr   r   app.utils.schemas_utilsr   sqlalchemy.ormr   fastapir	   app.dependency.authanticationr
   app.locale.messagesr   r   r@   r   r   <module>rI      s)     5 p 2 " ! : ("^ "^r   