o
    h%                     @   s   d dl m Z  d dl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 d dlmZmZ G dd deZG d	d
 d
eZdS )    )datetime)INTEGERVARCHAR	TIMESTAMP
ForeignKey)Mappedmapped_columnrelationshipSession)SeafarersCreat)Base)	BaseModelFieldc                   @   sn  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
< 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 )SeafarersBaseN)defaultseafarer_idrole_id
first_name	last_namemiddle_nameemailmobileid_type	id_numberid_issue_country	ship_name
sf_role_idonboard_date
is_captain	vessel_idstatus)__name__
__module____qualname__r   r   int__annotations__r   r   strr   r   r   r   r   r   r   r   r   r   r   r   r   r     r'   r'   4/var/www/html/beacon-api/app/models/main/seafarer.pyr      s"   
 r   c                   @   sf  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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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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dZee e	d< eee
dddZee e	d< ededdddZee e	d< edd d!Z ed"dd!Z!ed#dd!Z"ed$dd!Z#ed%d d!Z$e%d&e&d'e'd(d fd)d*Z(d+S ),TblSeafarers	seafarersr   T)primary_keyautoincrementztbl_role.role_id)nullabler   r   ztbl_seafarer_role.sf_role_idr      r   r   r   password   r   r   ztbl_seafarer_id_type.id_typer   r   r   r   r   
   ztbl_vessel_list.vessel_idr   r    Active)r-   server_defaultTblRoleseafarer)back_populatesTblVesselListTblSeafarerRoleTblSeafarerIdTypeTblTiketdatadbreturnc                 C   s,   |  }| di |}|| |  |S )Nr'   )
model_dumpaddflush)clsr;   r<   	data_dictnew_seafarerr'   r'   r(   create7   s
   
zTblSeafarers.createN))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   r   r   r   r   r   r    r	   rolevesselseafarer_roleseafarer_id_typetiketsclassmethodr   r
   rD   r'   r'   r'   r(   r)      s4   
    r)   N)r   
sqlalchemyr   r   r   r   sqlalchemy.ormr   r   r	   r
   app.api.seafarer.schemasr   app.models.mainr   pydanticr   r   r   r)   r'   r'   r'   r(   <module>   s    