o
    Uh
                     @   s|   d dl mZ d dlmZmZmZmZmZ d dlm	Z	m
Z
mZmZ d dlmZ d dlmZ G dd deZG dd	 d	eZd
S )    )Field)INTEGERFloat
ForeignKeyIntegerString)MappedSessionmapped_columnrelationship)Base)CustomModelc                   @   s   e Zd ZU eddZedB ed< eddZedB ed< eddZedB ed< eddZ	e
dB ed< eddZedB ed< eddZedB ed< eddZedB ed	< eddZedB ed
< dS )CatchmentPotentialBaseN)defaultcatch_idISEC_Segmentnumber_of_householdspercentage_of_segmentpotential_number_of_householdsAssumptionsSourcesgroup_id)__name__
__module____qualname__r   r   int__annotations__r   r   r   floatr   r   strr   r    r   r   >/var/www/html/RetailAPI/app/models/main/catchment_potential.pyr      s   
 r   c                	   @   s\  e Zd ZU dZedddZee ed< ede	ddZ
ee ed< eeddZee ed< eeddZee ed	< eeddZee ed
< eedddZee ed< eedddZee ed< ede	edddZee ed< edddZedededd fddZedededdfddZededededdfddZedededefddZ dS ) TblCatchmentPotentialtbl_catchment_potentialT)primary_keyautoincrementr   r   F)nullabler   r   r   d   r   r   r   ztbl_group.group_idTblGroupcatchmentPotential)back_populatesdatadbreturnc                 C   s,   |  }| di |}|| |  |S )Nr   )
model_dumpaddflush)clsr*   r+   	data_dictnew_datar   r   r    create   s
   
zTblCatchmentPotential.createzTblCatchmentPotential | Nonec                 C   s   | | | j|k S N)queryfilterr   first)r0   r   r+   r   r   r    	get_by_id'   s   zTblCatchmentPotential.get_by_idc                 C   sf   | | | j|k }|sd S | }| D ]\}}|d ur't||| q|  || |S r4   )	r5   r6   r   r7   r-   itemssetattrcommitrefresh)r0   r   r*   r+   get_datar1   keyvaluer   r   r    update+   s   
zTblCatchmentPotential.updatec                 C   s0   | | | j|k }|sdS || dS )NFT)r5   r6   r   r7   delete)r0   r   r+   objr   r   r    rA   8   s
   
zTblCatchmentPotential.deleteN)!r   r   r   __tablename__r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   groupclassmethodr   r	   r3   r8   r@   boolrA   r   r   r   r    r!      s&   
  r!   N)pydanticr   
sqlalchemyr   r   r   r   r   sqlalchemy.ormr   r	   r
   r   app.models.mainr   app.utils.schemas_utilsr   r   r!   r   r   r   r    <module>   s    
