
    ιh/                         d dl mZ d dlmZmZ d dlmZmZmZm	Z	 d dl
mZmZmZmZmZ d dlmZ d dl
mZ  G d de      Z G d	 d
e      Zy)    )Optional)	BaseModelField)Mappedmapped_columnrelationshipSession)IntegerVARCHAREnumTEXT
ForeignKey)Base)JSONc                   b   e Zd ZU  ed      Zee   ed<    ed      Zee   ed<    ed      Z	ee
   ed<    ed      Zee
   ed<    ed      Zee
   ed<    ed      Zee
   ed<    ed      Zee
   ed	<    ed      Zee   ed
<    ed      Zee
   ed<    ed      Zee   ed<   y)LocationDetailsBaseN)default
details_idtrading_radiustrading_rationaladjacenciesadjacencies_rationallocation_characteristicsrationaldetailsstore_format_typegroup_id)__name__
__module____qualname__r   r   r   int__annotations__r   r   strr   r   r   r   r   dictr   r        G/var/www/html/retail-simulation-api/app/models/main/location_details.pyr   r      s     %d 3J3$)$$7NHSM7&+D&9hsm9!&t!4K#4*/*=(3-=.3D.AhsmA#D1Hhsm1#D1GXd^1',T':x}:#D1Hhsm1r&   r   c            	          e Zd ZU dZ ededd      Zee   e	d<    ededd      Z
ee   e	d<    ed ed	      dd      Zee   e	d<    ed
edd      Zee   e	d
<    ed ed	      dd      Zee   e	d<    ed eddd            Zee   e	d<    ed ed	      dd      Zee   e	d<    ed ed	      dd      Zee   e	d<    ededd      Zee   e	d<    ed edd            Zee   e	d<    ed ed            Zee   e	d<    edd      Zedededd fd       Z edededd fd       Z!ed edededd fd!       Z"edededd fd"       Z#y)#TblLocationDetailstbl_location_detailsr   T)primary_keyautoincrementr   N)nullableserver_defaultr      r   r   r   zCorner Property
HighstreetMallcorner_property_rationalr   r   r   zStore Format AzStore Format Br   ztbl_group.group_idTblGrouplocation_details)back_populatesdatadbreturnc                 x    |j                         } | di |}|j                  |       |j                          |S )Nr%   )
model_dumpaddflush)clsr6   r7   new_data	data_dicts        r'   create_location_detailsz*TblLocationDetails.create_location_details1   s4    ??$O(O	
y

r&   c                 |    |j                  |       j                  | j                  |k(        j                         }|S N)queryfilterr   all)r=   r   r7   get_datas       r'   get_location_detailsz'TblLocationDetails.get_location_details9   s1    88C=''(@AEEGr&   	update_idc                 .   |j                  |       j                  | j                  |k(        j                         }|j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S rB   )	rC   rD   r   firstr:   itemssetattrcommitrefresh)r=   rH   r6   r7   update_datar?   keyvalues           r'   update_location_detailsz*TblLocationDetails.update_location_details>   s|    hhsm**3>>Y+FGMMOOO%	#//+JC S%0 , 			


;r&   c                     |j                  |       j                  | j                  |k(        j                         }|sy|j	                  |       |j                          |S )NF)rC   rD   r   rJ   deleterM   )r=   r   r7   delete_datas       r'   delete_location_detailsz*TblLocationDetails.delete_location_detailsI   sM    hhsm**3>>Z+GHNNP
		+
		r&   )$r   r   r    __tablename__r   r
   r   r   r!   r"   r   r   r   r#   r   r   r   r   r   r2   r   r   r   r$   r   r   r   r   groupclassmethodr   r	   r@   rG   rR   rV   r%   r&   r'   r)   r)   !   s1   )M,\7PTdhiJi#01A7UYjn#oNVC[o%23Ews|^bsw%xvc{x -mTDae fK&+f)67MwWZ|fj{  *A6#;  A-:;UW[\mnz  |B  XC  .Dvc{  D-:;UW^_bWcnr  DH  .Ivc{  I*:ws|dcghHvc{h*9dTZ^_GfTl_&34GN^`pIq&rsr*:zBV7WXHvc{X4FGE*= ' Ma   3 7 >R   s 9L QX \p     CW  r&   r)   N)typingr   pydanticr   r   sqlalchemy.ormr   r   r   r	   
sqlalchemyr
   r   r   r   r   app.models.base_classr   r   r   r)   r%   r&   r'   <module>r_      s5     % G G ? ? & 
2) 
2/ /r&   