o
    Uh                     @   sx   d dl mZmZ d dlmZ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 G dd deZG dd deZd	S )
    )	BaseModelField)INTEGERVARCHARTEXTEnum
ForeignKeyFLOAT)MappedSessionmapped_columnrelationship)Basec                   @   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	< dS )
	CivilBaseN)defaultcivil_idgroup_idstore_format_typetype_of_civil_workrate_per_sqft
total_sqftremarks)__name__
__module____qualname__r   r   int__annotations__r   r   strr   r   floatr   r    r   r   0/var/www/html/RetailAPI/app/models/main/civil.pyr      s   
 r   c                	   @   s6  e Zd ZU dZededddZee e	d< eee
dddZee e	d< ed	ed
dddddZee e	d	< e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e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d S )!TblCivil	tbl_civilr   T)primary_keyautoincrementztbl_group.group_idF)nullabler   r   zStore format AzStore Formate Bstore_formate_type)name   r   r   r   r   TblGroupcivils)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TblCivil.createzTblCivil | Nonec                 C   s   | | | j|k S N)queryfilterr   first)r2   r   r-   r   r   r    	get_civil$   s   zTblCivil.get_civilc                 C   sf   | | | j|k }|sd S | }| D ]\}}|d ur't||| q|  || |S r6   )	r7   r8   r   r9   r/   itemssetattrcommitrefresh)r2   r   r,   r-   get_datar3   keyvaluer   r   r    update(   s   
zTblCivil.updateN)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   r5   r:   rB   r   r   r   r    r!      s    
 $ r!   N)pydanticr   r   
sqlalchemyr   r   r   r   r   r	   sqlalchemy.ormr
   r   r   r   app.models.mainr   r   r!   r   r   r   r    <module>   s     	