
    8h                     |    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  G d de      Z G d d	e      Zy
)    )Field)INTEGERVARCHAR)Mappedmapped_columnrelationshipSession)Base)CustomModelc                   R    e Zd ZU  ed      Zedz  ed<    ed      Zedz  ed<   y)SeafarererRoleBaseN)default
sf_role_idsf_role_name)	__name__
__module____qualname__r   r   int__annotations__r   str     9/var/www/html/beacon-api/app/models/main/seafarer_role.pyr   r      s(    "40Jd
0$T2L#*2r   r   c            	           e Zd ZU dZ ededd      Zee   e	d<    ed e
d      dd      Zee   e	d<    ed	d
      Z edd
      Zdede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y)TblSeafarerRoletbl_seafarer_roler   T)primary_keyautoincrementr      N)nullableserver_defaultTblSeafarersseafarer_role)back_populatesTblCompanyRoleMapc                      || _         || _        y N)r   r   )selfr   r   s      r   __init__zTblSeafarerRole.__init__   s    $(r   datadbreturnc                 x    |j                         } | di |}|j                  |       |j                          |S )Nr   )
model_dumpaddflush)clsr*   r+   	data_dictnew_datas        r   createzTblSeafarerRole.create   s5    OO%	##
x

r   zTblSeafarerRole | Nonec                 4   |j                  |       j                  | j                  |k(        j                         }|sy |j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S r'   )	queryfilterr   firstr.   itemssetattrcommitrefresh)r1   r   r*   r+   get_datar2   keyvalues           r   updatezTblSeafarerRole.update"   s    88C=''*(DEKKMOO%	#//+JC #u- , 			


8r   )r   r   r   __tablename__r   r   r   r   r   r   r   r   r   r   	seafarers	companiesr)   classmethodr   r	   r4   r@   r   r   r   r   r      s    'M+L'tcghJsh -ngclUYjn oL&+o^OLI0QI)3 )c ) , ' >O   
 
+= 
7 
Og 
 
r   r   N)pydanticr   
sqlalchemyr   r   sqlalchemy.ormr   r   r   r	   app.models.mainr
   app.utils.schemas_utilsr   r   r   r   r   r   <module>rJ      s/     ) F F   /3 3"d "r   