
    h	                     p    d dl mc mc 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  G d d      Zy)	    N)Session)Messages)SegmentBase
TblSegment)CustomResponse)Listc                   v    e Zd ZdefdZdeej                     fdZdej                  fdZ
defdZdefd	Zy
)SegmentServicedbc                      || _         || _        y )N)r   token)selfr   r   s      2/var/www/html/RetailAPI/app/api/segment/service.py__init__zSegmentService.__init__	   s    
    request_listc                   K   |D ]N  }t        j                  |      }|j                  st        d      t	        j
                  || j                         P | j                  j                          t        dt        j                        S w)NzName cannot be null1statusmessage)r   model_validatename
ValueErrorr   creater   commitr   r   SEGMENT_CREAT)r   r   requestvalidated_datas       r   create_segmentzSegmentService.create_segment   sl     #G(77@N!&& !677ndgg6	 $
 	S(2H2HIIs   B	Br   c                 B  K   t        j                  |      }|j                  t        dt        j
                        S t        j                  |j                  || j                         | j                  j                          t        dt        j                        S wN-1r   r   )r   r   
segment_idr   r   SEGMENT_NOT_FOUNDr   updater   r   SEGMENT_UPDATE)r   r   updated_segments      r   update_segmentzSegmentService.update_segment&   sr     %44W=%%-!x7Q7QRR/44_dggNS(2I2IJJs   BBgroup_idc                    K   t        j                  || j                        }|st        dt        j
                        S |D cg c]!  }t        j                  j                  |      # c}S c c}w w)Nr#   r   )	r   get_by_group_idr   r   r   r%   schemasSegmantResponser   )r   r*   segment	group_gets       r   get_segmentzSegmentService.get_segment.   s]     ,,Xtww?!x7Q7QRRSZ[SZi''66yASZ[[[s   AA2&A-*A2c                    K   t        j                  || j                        }|st        dt        j
                        S t        dt        j                        S wr"   )r   deleter   r   r   CATCHMENT_NOT_FOUNDSEGMENT_DELETED)r   r*   deleteds      r   delete_segmentzSegmentService.delete_segment4   sE     ##Hdgg6!x7S7STTS(2J2JKKs   AAN)__name__
__module____qualname__r   r   r   r-   SegmentCreater    SegmentUpdater)   intr1   r7    r   r   r
   r
      sW    7 &Jg6K6K1L JKG,A,A K\# \LS Lr   r
   )app.api.segment.schemasapir/   r-   sqlalchemy.ormr   app.locale.messagesr   app.models.main.segmentr   r   app.utils.schemas_utilsr   typingr   r
   r>   r   r   <module>rF      s&    ) ) " ( ; 2 0L 0Lr   