
    8hZ                         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 d dlmZ d dlmZ d dlmZ  G d d	e      Z G d
 de      Zy)    )HTTPException)INTEGERVARCHAR)Mappedmapped_columnSessionrelationship)Base)Field)Optional)CustomModelc                      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<    ed      Zee	   ed<    ed      Zee	   ed<    ed      Zee	   ed<   y)CompanyListBaseN)default
company_idcompany_namelicence_valid_untilclient_codeaddressp_admin_namep_admin_emailp_admin_mobils_admin_names_admin_emails_admin_mobillicence_date_issuedcertificate_name_format)__name__
__module____qualname__r   r   r   int__annotations__r   strr   r   r   r   r   r   r   r   r   r   r        8/var/www/html/beacon-api/app/models/main/company_list.pyr   r      s     %d 3J3"'"5L(3-5).t)<#<!&t!4K#4"40GXc]0"'"5L(3-5#(#6M8C=6#(#6M8C=6"'"5L(3-5#(#6M8C=6#(#6M8C=6).t)<#<-24-@Xc]@r%   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      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	      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	      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 e
d	      d      Zee   e	d<    edd      Z edd      Z edd      Zedededd fd       Zedededefd       Z ededededdfd        Z!y!)"TblCompanyListtbl_company_listr   T)primary_keyautoincrementr   2   )nullabler      r   r   r   r   r   r   r   r      r   r   TblAdmincompany)back_populatesTblVesselListTblCompanyRoleMapdatadbreturnc                 x    |j                         } | di |}|j                  |       |j                          |S )Nr$   )
model_dumpaddflush)clsr5   r6   	data_dict	new_admins        r&   createzTblCompanyList.create.   s6    OO%	$)$	
y

r%   c                     |j                  |       j                  | j                  |k(        j                         }|st	        dd      t
        j                  |      S )Ni  zCompany not found)status_codedetail)queryfilterr   firstr   r   model_validate)r<   r   r6   results       r&   	get_by_idzTblCompanyList.get_by_id6   sN    #%%cnn
&BCIIKC8KLL--f55r%   zTblCompanyList | Nonec                 4   |j                  |       j                  | j                  |k(        j                         }|sy |j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S )N)	rC   rD   r   rE   r9   itemssetattrcommitrefresh)r<   r   r5   r6   get_datar=   keyvalues           r&   updatezTblCompanyList.update=   s    88C=''*(DEKKMOO%	#//+JC #u- , 			


8r%   N)"r   r   r    __tablename__r   r   r   r   r!   r"   r   r   r#   r   r   r   r   r   r   r   r   r   r   r   r	   adminsvesselsrolesclassmethodr   r   r?   rH   rQ   r$   r%   r&   r(   r(      s   &M+L'tcghJsh -ngbkTX YL&+Y'45JGTWLcg'hh,]GCLSWXKX(GCL4PGVC[P -ngclUY ZL&+Z!.W[!\M6#;\!.W[!\M6#;\ -ngclUY ZL&+Z!.W[!\M6#;\!.W[!\M6#;\'4WR[$'OO+89RT[\_T`ko+pVC[p*Y?F?9EG,YGE / w ;K   63 6G 6 6 6 
 
? 
 
Lc 
 
r%   r(   N)fastapir   
sqlalchemyr   r   sqlalchemy.ormr   r   r   r	   app.models.mainr
   pydanticr   typingr   app.utils.schemas_utilsr   r   r(   r$   r%   r&   <module>r^      s7    ! ' F F     /Ak A1T 1r%   