
    h,                     X    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      Zy)	    )Session)SeafarersCreatSeafarersResponce)TblSeafarers)TblUsers)CustomResponsec                   .    e Zd ZdedefdZdefdZd Zy)SeafarerServicedbtokenc                      || _         || _        y )N)r   r   )selfr   r   s      4/var/www/html/beacon-api/app/api/seafarer/service.py__init__zSeafarerService.__init__   s    
    requestc                   K   t        di |j                         }| j                  j                  |       | j                  j	                          t        |j                  |j                  d|j                        }| j                  j                  |       | j                  j                          t        dd      S w)N   )	user_namepasswordrole_id	entity_id1z&Seafarer and user created successfullystatusmessage )r   dictr   addflushr   emailr   seafarer_idcommitr   )r   r   created_seafarercreated_users       r   create_seafarerzSeafarerService.create_seafarer   s     '9',,.9$%mm%%&22	
 	L!S2Z[[s   B>C c                 X  K   | j                   j                  d      }|st        dd      S | j                  j	                  t
              j                  t
        j                  |k(        j                         }|st        dd      S t        ddt        j                  |            S w)	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_profiles      r   get_seafarer_profilez$SeafarerService.get_seafarer_profile    s     jjnn]3!7[\\ GGMM,'VL,,;<UW 	
  !7OPP&"112BC
 	
s   B(B*N)	__name__
__module____qualname__r   r   r   r   r&   r/   r   r   r   r
   r
      s(    7 4 \^ \
r   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   <module>r8      s    " F 1 * 2*
 *
r   