o
    h,                     @   sR   d dl mZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z
 G dd dZdS )	    )Session)SeafarersCreatSeafarersResponce)TblSeafarers)TblUsers)CustomResponsec                   @   s4   e Zd ZdedefddZdefddZdd	 Zd
S )SeafarerServicedbtokenc                 C   s   || _ || _d S )N)r	   r
   )selfr	   r
    r   4/var/www/html/beacon-api/app/api/seafarer/service.py__init__   s   
zSeafarerService.__init__requestc                    sb   t di | }| j| | j  t|j|jd|jd}| j| | j	  t
dddS )N   )	user_namepasswordrole_id	entity_id1z&Seafarer and user created successfullystatusmessager   )r   dictr	   addflushr   emailr   seafarer_idcommitr   )r   r   created_seafarercreated_userr   r   r   create_seafarer   s   

zSeafarerService.create_seafarerc                    s^   | j d}|stdddS | jttj|k }|s%tdddS tddt	
|dS )	Nr   z-1z"Invalid token: seafarer_id missingr   zNo seafarer data foundr   zSeafarer Profile)r   r   data)r
   getr   r	   queryr   filterr   firstr   model_validate)r   r   seafarer_profiler   r   r   get_seafarer_profile    s   
z$SeafarerService.get_seafarer_profileN)	__name__
__module____qualname__r   r   r   r   r!   r)   r   r   r   r   r      s    	r   N)sqlalchemy.ormr   app.api.seafarer.schemasr   r   app.models.main.seafarerr   app.models.main.usersr   app.utils.schemas_utilsr   r   r   r   r   r   <module>   s    