
    i                      0   d dl mZmZmZmZmZmZmZmZ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 G d	 d
e      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Zy)    )	ColumnIntegerStringBooleanDateTime
ForeignKeyTextJSONFloat)relationship)func)Basec                   v    e Zd ZdZ eedd      Z eeddd      Z eed      Z	 ee      Z
 eed      Zy)	AdminadminsTprimary_keyindexFuniquer   nullabler   defaultN)__name__
__module____qualname____tablename__r   r   idr   emailhashed_password	full_namer   	is_active     P/Users/theessential/Documents/Github/Quarante/therecruiter-backend/app/models.pyr   r      sF    M	T	6B6$dUCEVe4OvIw-Ir%   r   c                   d    e Zd ZdZ eedd      Z eedd      Z eed      Z	 ee
d      Zy)SubscriptionPacksubscription_packsTr   F)r   r   r   N)r   r   r   r   r   r   r   r   nametokensr   pricer$   r%   r&   r(   r(      s;    (M	T	6B&6DGe,F55)Er%   r(   c                      e Zd ZdZ eedd      Z eed      Z eeddd      Z	 ee      Z
 eed      Z eed      Z eed      Z eed      Z ed	d
      Z edd
      Z edd
      Z edd
      Zy)Company	companiesTr   Fr   r   r   r   Searchcompanyback_populates	ShortlistCompanySubscriptionJobOfferN)r   r   r   r   r   r   r   r   company_namer    phone_numberr!   r   r#   is_verifiedtokens_balancer   searches
shortlistssubscriptions
job_offersr$   r%   r&   r.   r.      s    M	T	6B&51L6$dUCE&>LVe4Ow-I%0KGQ/NHY?Hk)DJ !6yQMjCJr%   r.   c                       e Zd ZdZ eedd      Z ee ed            Z ee ed            Z	 e e
d       ej                               Z ee      Z edd	
      Z ed      Zy)r5   company_subscriptionsTr   companies.idzsubscription_packs.idtimezoneserver_defaultr.   r=   r2   r(   N)r   r   r   r   r   r   r   r   
company_idpack_idr   r   now
created_atr   
price_paidr   r1   packr$   r%   r&   r5   r5   (   sq    +M	T	6BN!;<JWj)@ABG$/
KJJ9_EG*+Dr%   r5   c                       e Zd ZdZ eedd      Z ee ed            Z ee	d      Z
 e ed       ej                               Z ed	d
      Z edd
      Zy)r0   r;   Tr   rA   Fr   rB   rD   r.   r2   SearchMessagesearchN)r   r   r   r   r   r   r   r   rF   r	   initial_promptr   r   rH   rI   r   r1   messagesr$   r%   r&   r0   r0   4   sc    M	T	6BN!;<JD51N$/
KJ9Z@GOHEHr%   r0   c                       e Zd ZdZ eedd      Z ee ed            Z ee	d      Z
 eed      Z e ed       ej                               Z ed	d
      Zy)rM   search_messagesTr   zsearches.idFr   rB   rD   r0   rP   r2   N)r   r   r   r   r   r   r   r   	search_idr   roler
   contentr   r   rH   rI   r   rN   r$   r%   r&   rM   rM   ?   sc    %M	T	6Bw
= 9:I&5)DTE*G$/
KJ(:>Fr%   rM   c                       e Zd ZdZ eedd      Z ee ed            Z ee	d      Z
 e ed       ej                               Z ed	d
      Z edd
      Zy)r4   r<   Tr   rA   Fr   rB   rD   r.   r2   ShortlistCandidate	shortlistN)r   r   r   r   r   r   r   r   rF   r   r*   r   r   rH   rI   r   r1   
candidatesr$   r%   r&   r4   r4   J   sd     M	T	6BN!;<J&5)D$/
KJ9\BG2;OJr%   r4   c                       e Zd ZdZ eedd      Z ee ed            Z ee	d      Z
 e ed       ej                               Z ed	d
      Zy)rW   shortlist_candidatesTr   zshortlists.idFr   rB   rD   r4   rY   r2   N)r   r   r   r   r   r   r   r   shortlist_idr
   candidate_datar   r   rH   added_atr   rX   r$   r%   r&   rW   rW   U   sW    *M	T	6B':o#>?LD51Nh-hdhhjIH[FIr%   rW   c                      e Zd ZdZ eedd      Z ee ed            Z ee	ddd      Z
 ee	d      Z eed      Z ee      Z ee      Z ee	d      Z ee	d      Z ee	d      Z ee	d      Z eed      Z e ed	       ej2                         
      Z e ed	       ej2                               Z edd      Z edd      Zy)r6   r>   Tr   rA   Fr   r   r   rB   rD   )onupdater.   r2   JobApplication	job_offerN)r   r   r   r   r   r   r   r   rF   r   tagtitler	   descriptionr
   requirementsresponsibilitieslocationsalary_rangecontract_type	image_urlr   r#   r   r   rH   rI   
updated_atr   r1   applicationsr$   r%   r&   r6   r6   _   s     M	T	6BN!;<J
D5
AC6E*E.K$<Ld|ft,H&40L6D1Mv-Iw-I$/
KJ$/($((*EJ9\BG 0MLr%   r6   c                       e Zd ZdZ eedd      Z ee ed            Z eed      Z	 ee
d      Z e ed	       ej                         
      Z edd      Zy)ra   job_applicationsTr   zjob_offers.idFr   pendingr   rB   rD   r6   rm   r2   N)r   r   r   r   r   r   r   r   job_offer_iduser_idr   statusr   r   rH   
applied_atr   rb   r$   r%   r&   ra   ra   t   sc    &M	T	6B':o#>?LWu-GFI.F$/
KJZGIr%   ra   N)
sqlalchemyr   r   r   r   r   r   r	   r
   r   sqlalchemy.ormr   sqlalchemy.sqlr   app.core.databaser   r   r(   r.   r5   r0   rM   r4   rW   r6   ra   r$   r%   r&   <module>ry      s    ` ` ` '  ".D .*t *Dd D"
,$ 
,	FT 	F	?D 	?	P 	PG GNt N*	HT 	Hr%   