
    di                     h   d dl mZmZ d dlmZ d dlmZ d dlmZ d dl	Z	d dl
mZ d dlZd dlZd Zded	ed
efdZd Z G d dej&                        Z G d dej&                        Z G d dej&                        Z G d dej&                        Z G d dej&                        Z G d dej&                        Z G d dej&                        Z G d dej&                        Z G d dej&                        Z G d d ej&                        Z G d! d"ej&                        Z G d# d$ej&                        Z G d% d&ej&                        Z  G d' d(ej&                        Z! G d) d*ej&                        Z" G d+ d,ej&                        Z# G d- d.ej&                        Z$ G d/ d0ej&                        Z% G d1 d2ej&                        Z& G d3 d4ej&                        Z' G d5 d6ej&                        Z( G d7 d8ej&                        Z) G d9 d:ej&                        Z* G d; d<ej&                        Z+ G d= d>ej&                        Z, G d? d@ej&                        Z- G dA dBej&                        Z. G dC dDej&                        Z/ G dE dFej&                        Z0 G dG dHej&                        Z1y)I    )modelstransaction)ImplementerDetails)User)timezoneN)VectorFieldc                       y)NTEMP_PUBLIC_ID r       )/var/www/auto_recruiter/masters/models.pygenerate_public_idr   
   s    r   textlengthreturnc                 <   | sd|z  S t        j                  dd|       j                         j                         }|j	                         }dj                  d |D              }t        |      |k  r"|r |d   }|t        |      z
  }|dd|z    }||z  }|d|z  z   d | S )NXz
[^A-Za-z ] c              3   &   K   | ]	  }|d      yw)r   Nr   ).0words     r   	<genexpr>zformat_code.<locals>.<genexpr>   s     /T!W/s      )resubstripuppersplitjoinlen)r   r   cleanwordsresult	last_wordneededextras           r   format_coder(      s    V| FF="d+11399;EKKME WW///F 6{V"I	#f+% !AJ'% cFl#Wf--r   c                 ~    t         j                  j                  dt        | j                  j
                        |      S )Nl0_interview_videos)ospathr    strmatched_profileid)instancefilenames     r   l0_video_upload_pathr2   $   s,    77<<-s83K3K3N3N/OQYZZr   c                      e Zd Z ej                  d      Z ej                  eej                  ddd      Z	 ej                  d      Z ej                  ddd      Z ej                  d      Z ej                  d	      Z ej                  d      Z ej                  ddd      Z ej                  ddd      Z ej                  ddd      Z ej                  ddd      Z ej                  d
ddgd      Z ej*                  ddd      Z ej*                  ddd      Z ej                  ddd      Z ej*                  dd      Z G d d      Zy)TblImpDepartmentTprimary_keyimplementerrelated_nameblanknull   
max_lengthd   r>   r:   r;      2   ActiverD   InactiverF   rD   r>   choicesdefaultauto_now_addr:   r;   auto_nowr;   c                       e Zd ZdZdgZy)TblImpDepartment.Metatbl_impdepartmentz-imp_department_idN__name__
__module____qualname__db_tableorderingr   r   r   MetarO   @   s    &()r   rW   N)rR   rS   rT   r   	AutoFieldimp_department_id
ForeignKeyr   
DO_NOTHINGr7   	CharFieldimp_department_nameimp_dep_contact_nameimp_dep_contact_emailimp_dep_country_codeimp_dep_contact_numberaddress1address2statepincodestatusDateTimeFieldcreated_date
created_by
updated_byupdated_daterW   r   r   r   r4   r4   '   s{   (((T:#&##$68I8IXemqx|}K*&**c:+6++s$TR,F,,<+6++q9-V--=v3dFHv3dFHF4dCEf#TEGV $
 F (6''TDQL%%%4t$OJ!!!S4HJ'6''DAL* *r   r4   c                      e Zd Z ej                  d      Z ej                  eej                  ddd      Z	 ej                  d      Z ej                  dddd	      Z ej                  d      Z ej                  d      Z ej                  ddd
      Z ej                  ddd
      Z ej                  ddd
      Z ej                  ddd
      Z ej                  ddd
      Z ej                  d      Z ej                  ddd
      Z ej                  dddgd      Z ej,                  ddd      Z ej                  ddd
      Z ej                  ddd
      Z ej,                  dd      Z ej6                  ddd      Z ej                  ddd
      Z ej                  dd      Z G d d      Zy)	TblClientTr5   clients	on_deleter9   r:   r;   r<   r=   r?   Endr>   r:   r;   rI   r@   rA   rB   rC   rE   rD   rG   rJ   rL   zimages/client/logo/	upload_tor:   r;      r   r>   rI   c                       e Zd ZdZdgZy)TblClient.Meta
tbl_clientz
-client_idNrQ   r   r   r   rW   rx   l        >r   rW   N) rR   rS   rT   r   rX   	client_idrZ   r4   r[   imp_departmentr\   client_nameclient_typeclient_contact_nameclient_contact_emailrb   rc   rd   re   client_country_codeclient_contact_numberrf   rg   rh   ri   rj   rk   
ImageFieldclient_logowebsite_urlclient_jd_serial_numberrW   r   r   r   rm   rm   C   s      T2I&V&&##N #&""c2K"&""	K +&**c:+6++s;v3dFHv3dFHv3dFHF4dCEf#TEG*&**a8,F,,4dSV $
 F (6''TDQL!!!S4HJ!!!S4HJ'6''DAL#&##.C4VZ[K"&""cDIK.f..#qI" "r   rm   c                       e Zd Z ej                  eej                  d      Z ej                  ddd      Z	 ej                  d      Z G d d	      Zy
)TblClientDocument	documentsrp   r9   zdocuments/client/Frs   TrK   c                       e Zd ZdZy)TblClientDocument.Metatbl_client_documentsNrR   rS   rT   rU   r   r   r   rW   r          )r   rW   N)rR   rS   rT   r   rZ   rm   CASCADEclient	FileFielddocumentrg   uploaded_daterW   r   r   r   r   r   p   \    V.. F  v%H )F((d;M* *r   r   c                      e Zd Z ej                  d      Z ej                  eej                  ddd      Z	 ej                  d      Z ej                  ddd      Z ej                  d      Z ej                  d	      Z ej                  d      Z ej                  ddd      Z ej                  ddd      Z ej                  ddd      Z ej                  ddd      Z ej                  ddd      Z ej                  d
ddgd      Z ej*                  ddd      Z ej*                  ddd      Z ej                  ddd      Z ej*                  dd      Z G d d      Zy)TblDepartmentTr5   r   ro   r<   r=   r?   r@   rA   rB   rC   rE   rD   rG   rJ   rL   c                       e Zd ZdZdgZy)TblDepartment.Metatbl_departmentz-department_idNrQ   r   r   r   rW   r      s    #$%r   rW   N)rR   rS   rT   r   rX   department_idrZ   rm   r   r   r\   department_namedep_contact_namedep_contact_emaildep_country_codedep_contact_numberrb   rc   rd   re   rf   rg   rh   ri   rj   rk   rW   r   r   r   r   r      s   $F$$6MVyFNNQYaelpqF&f&&#6O'v''3dN(((C8'v''15)))S9v3dFHv3dFHv3dFHF4dCEf#TEGV $
 F (6''TDQL%%%4t$OJ!!!S4HJ'6''DAL& &r   r   c                   ,   e Zd Z ej                  d      Z ej                  d      Z ej                  ddd      Z ej                  d      Z	 ej                  d      Z
 ej                  ddd      Z ej                  ddd      Z ej                  ddd      Z ej                  ddd      Z ej                  ddd      Z ej                  d      Z ej                  ddd      Z ej                  dd	d
gd      Z ej$                  ddd      Z ej                  ddd      Z ej                  ddd      Z ej$                  dd      Z ej.                  ddd      Z ej2                  ddd      Z G d d      Zy)	TblVendorTr5   r<   r=   r?   r@   rA   rB   rC   rE   rD   rG   rJ   rL   zimages/vendor/logo/rs   ru   c                       e Zd ZdZdgZy)TblVendor.Meta
tbl_vendorz
-vendor_idNrQ   r   r   r   rW   r      rz   r   rW   N)rR   rS   rT   r   rX   	vendor_idr\   vendor_namevendor_typevendor_contact_namevendor_contact_emailrb   rc   rd   re   vendor_country_codevendor_contact_numberrf   rg   rh   ri   rj   rk   r   vendor_logoURLFieldr   rW   r   r   r   r   r      s      T2I"&""c2K"&""cDIK*&**c:+6++s;v3dFHv3dFHv3dFHF4dCEf#TEG*&**a8,F,,4dSV $
 F (6''TDQL!!!S4HJ!!!S4HJ'6''DAL#&##.C4VZ[K!&//S4HK" "r   r   c                       e Zd Z ej                  eej                  d      Z ej                  ddd      Z	 ej                  d      Z G d d	      Zy
)TblVendorDocumentr   r   zdocuments/vendor/Frs   Tr   c                       e Zd ZdZy)TblVendorDocument.Metatbl_vendor_documentsNr   r   r   r   rW   r      r   r   rW   N)rR   rS   rT   r   rZ   r   r   vendorr   r   rg   r   rW   r   r   r   r   r      r   r   r   c                       e Zd Z ej                  d      Z ej                  dd      Z ej                  e	ej                  ddd      Z ej                  eej                  ddd      Z ej                  eej                  ddd	      Z ej                  d
dd      Z ej$                  dd      Z ej                  d      Z ej                  ddd      Z ej                  d
dd      Z ej                  d
      Z ej                  d
dd      Z ej2                  dd      Z ej2                         Z ej2                         Z ej2                  dd      Z ej2                  dd      Z ej2                  dd      Z ej                  ddd      Z  ej                  ddd      Z! ej2                  dd      Z" ej2                  dd      Z# ej2                  dd      Z$ ej2                  dd      Z% ej                  ddd      Z& ej                  ddd      Z' ejP                  e)dd      Z* ej                  ddd      Z+ ej                  ddd      Z, ej                  dddd      Z- ej\                  e/j`                  dddd      Z1 ej                  ddd      Z2 ej                  dd      Z3 ejh                  d      Z5 ej2                  dd      Z6 ej2                  dd      Z7 ejp                  dd      Z9 ejP                  e)dd      Z: e;dd      Z< ej                  ddd      Z= ej\                  e/j`                  dd      Z> ej2                  dd      Z? ej                  dddgdd      Z@ ej                  ddd      ZA ejp                  ddd       ZB ej                  ddd      ZC ejp                  dd!      ZD G d" d#      ZE fd$ZF xZGS )%TblJobDescriptionTr5   rB   r>   unique	jd_clientro   jd_departmentjd_implementorr8   ru   r@   r:   r;     r=   rI   r:   r;   1)r>   rI   r:   r;   F)rI   r   r:   r;   editabler?   Createdrv   rI   r;   r:      
dimensionsr;   )rI   r   r      )On Holdr   )	Cancelledr   )r>   rH   r;   r:   rJ   rL   c                       e Zd ZdZdgZy)TblJobDescription.Metatbl_job_descriptionz-jd_idNrQ   r   r   r   rW   r     s    (:r   rW   c                 0   | j                   st        j                         5  t        j                         j                  d      }| j                  rt        j                  j                         j                  | j                  j                        }t        |j                        j                  d      }t        | j                  d      }t!        |j"                  xs d      }t        |      j                  d      }| d| d| d| | _         |dz   |_        |j%                  dg	       nt&        j                  j                  | j(                  j                        }	t        |	j*                  d      }
t        | j                  d      }t!        |	j,                  xs d      }t        |      j                  d      }|
 d| d| d| | _         |dz   |	_        |	j%                  d
g	       d d d        t/        | H  |i | y # 1 sw Y   xY w)Nz%y%m%dpk      r   _r   r   )update_fieldsimplementor_jd_serial_number)jd_display_idr   atomicr   nowstrftimer{   rm   objectsselect_for_updategetr   r-   zfillr(   	job_titleintr   saver   implementor_iddisplay_namer   super)selfargskwargsdate_strr   client_codejob_codecurrent_serial
serial_strimplemntor_dataimplementor_code	__class__s              r   r   zTblJobDescription.save  s   !!##%  Y#<<>228<>>!))**, 1 12 
 #&f&6&6"7"="=a"@K*4>>1=H%()G)G)L1%MN!$^!4!:!:1!=J,7=(1XJaPZ|)\D&5Ca5GF2KK/H.IKJ +2266$:M:M:P:P6Q $ (3?3O3OQR'S$*4>>1=H%()U)U)ZYZ%[N!$^!4!:!:1!=J,<+=Qxj(STU_T`)aD&CQTUCUO@#((8V7W(XA YD 	d%f%E Y  Ys   GHH)HrR   rS   rT   r   rX   jd_idr\   r   rZ   rm   r   r{   r   r   r   r[   r   client_job_id	DateFieldjd_dater   ai_titlejob_typeyears_of_experienceduration	TextFieldabout_companyjob_summaryresponsibilitiesdomain_requirementscertification_requirementssecurity_clearance_requirements
onsite_jobjob_locationrequired_qualificationspreferred_qualificationsworking_hoursbenefits	jd_sourcejd_source_txt	JSONFieldlistsearch_patternrequirement_prioritysalary_rangeno_of_open_positions	UUIDFielduuiduuid4apply_token_urlrf   jd_stageBooleanField	has_error
error_descchangesrg   last_profile_search_timeduplicated_jd_idr   jd_responsibilities_embeddingai_title_similaritypublic_tokenjd_status_reasonjd_status_reason_typeri   
created_dtrj   
updated_dtrW   r   __classcell__r   s   @r   r   r      s=   F.E$F$$4@M!!!)v~~T_gkrvwI%F%%mv~~\ksw  C  DM&V&&'96;L;L[ksw  C  DN$F$$4dKMfT5G   C0Iv3dFHv3dFH*&**c:v3dFH$F$$4d;M"&""$K'v'')*&**DA!1!1!14!H&6f&6&6T&M#!!!S4HJ#6##s$TJL.f..TE/v//dF$F$$4d;Mvd6H   Ct$GI$F$$4dKM%V%%d$TJN+6++s$TR#6##s$TJL+6++sCtZ^_&f&&tzz$dY]hmnOVDtDFv3	BH###E2I!!!48JfT5G3v33TJ'v''DtL$/3T$J!*&**cDQ#6##DJJtTL'v''T>,F,,&'@A	 "!!S4HJ%%%4t$OJ!!!S4HJ%%%t$?J $& $&r   r   c                       e Zd Z ej                  eej                  d      Z ej                  eej                  d      Z	 G d d      Z
y)
UserClientclient_mappingsr   user_mappingsc                       e Zd ZdZdZy)UserClient.Metauser_client)userr   NrR   rS   rT   rU   unique_togetherr   r   r   rW   r%  K  s     ,r   rW   N)rR   rS   rT   r   rZ   r   r   r'  rm   r   rW   r   r   r   r!  r!  >  sL    6..&D V..$F- -r   r!  c                   ^   e Zd Z ej                  eej                  d      Z ej                  eej                        Z	 ej                  ed      Z ej                  eej                        Z ej                  dd      Z ej"                  d	      Z ej"                  d
      Zy)AssignJdassignjdr   rp   T)r:   r?   Assignedrv   r   rM   N)rR   rS   rT   r   rZ   r   r   r'  rm   r   ManyToManyFieldr   departmentsr   jdr\   rf   rg   
created_at
updated_atr   r   r   r+  r+  O  s    6nnD
 VyFNNCF(&((dCK			,	GBVjAF%%%48J%%%t4Jr   r+  c                       e Zd Z ej                  eej                  d      Z ej                  eej                  d      Z G d d      Z	y)UserRecruiterMappingrecruiter_mappingsr   mapped_delivery_managersc                       e Zd ZdZy)UserRecruiterMapping.Meta)r'  	recruiterNrR   rS   rT   r)  r   r   r   rW   r:  h  s    /r   rW   N)
rR   rS   rT   r   rZ   r   r   r'  r;  rW   r   r   r   r6  r6  \  sL    6..)D
 "!!../I0 0r   r6  c                       e Zd Z ej                  eej                  d      Z ej                  d      Z	 ej                  d      Z ej                  d      Z ej                  d      Zd	 Zy
)EmailOTPUserapi_email_otpsr   r   r   FTr   r/  c                 P    d| j                   j                   d| j                   dS )NzOTP for z (Verified: ))r'  usernameis_verifiedr   s    r   __str__zEmailOTPUser.__str__r  s)    $)),,-\$:J:J9K1MMr   N)rR   rS   rT   r   rZ   r   r   r'  IntegerFieldcounterr  rC  rg   r3  r4  rE  r   r   r   r>  r>  k  sk    6TV^^JZ[D!f!!!,G%&%%e4K%%%48J%%%t4JNr   r>  c                   \   e Zd Z ej                  eej                  d      Z ej                  eej                        Z	 ej                  ddd      Z ej                  dd      Z ej                  dg d	d
      Z ej                  ddd      Z ej"                  d      Zd Zy)LinkedInJobPostlinkedin_postsr   r-  r<   Tr@   r   r   )PostedrL  FailedrN  )ReplacedrO  rL  rG   z0Fields selected and custom text used for posting)r:   r;   	help_textr   c                 L    | j                   j                   d| j                   S Nz - )r2  r   rf   rD  s    r   rE  zLinkedInJobPost.__str__  s"    ''''(DKK=99r   N)rR   rS   rT   r   rZ   r   r   r2  r   	posted_byr\   linkedin_post_urnr   	apply_urlrf   r  posted_payloadrg   	posted_atrE  r   r   r   rI  rI  u  s    			..%
B
 "!!..I
 )((  I V

 F &V%%DN %$$$7I:r   rI  c                      e Zd ZdZ ej
                  eej                  d      Z ej                  de      Z
 ej                  ddd      Z ej                  ddd      Z ej                  ddd      Z ej                  dd	      Z ej                  dddd
      Z ej                  ddd      Z ej$                  dd	      Z ej(                  d      Z ej$                  dd	      Z ej$                  dd	      Z ej0                  dd	      Z ej                  ddd      Z ej(                  d      Z ej(                  d      Z ej0                  d      Z ej0                  d      Z G d d      Zy)ImplementerPortalConfig))linkedinLinkedIn)naukriNaukri)monsterMonster)zjob bankzJob bank)zjob seekzJob seek)founditFounditportal_configsr   rB   r>   rH   r<   Tr@   r   z$openid profile email w_member_socialrr   Fr   r   r/  c                       e Zd ZdZy)ImplementerPortalConfig.Metaimplementer_portal_configNr   r   r   r   rW   re    s    .r   rW   N) rR   rS   rT   PORTAL_CHOICESr   rZ   r   r   r7   r\   portalnamer{   client_secretr   redirect_uriscopeportal_usernamer   portal_passwordr  	has_tokenaccess_tokenrefresh_tokenrg   
expires_atportal_user_urnis_connected	is_activer3  r4  rW   r   r   r   rY  rY    s   N $&##..%K V^DF6s$TBD   Ct$GI$F$$4dKM"6??D9LF6	E 'f&&#TMO&f&&T=O###E2I#6##$T:L$F$$4d;M%%%Dt<J&f&&#TMO&6&&u5L###D1I%%%48J%%%t4J/ /r   rY  c                       e Zd Z ej                         Z ej                         Z ej                  d      Z ej                  e
j                        Z ej                  dd      Z ej                  edd      Z ej"                  dd      Z ej                  dd      Z ej(                  d      Z ej                  dd      Z ej                  ddd	      Z ej                  ddd	      Z ej                  ddd	      Z ej                  ddd	      Z ej                  d
dd	      Z ej"                  ddd      Z ej:                         Z ej:                  d      Z ej:                  d      Z  ej(                         Z! ej:                  d      Z" ej:                  d      Z# ej                  d      Z$ fdZ% xZ&S )TblMatchedProfilesrB   r=   r   Tr   r   Fr   r>   r;   r:   r?   i  r@   )r;   r   c                 (   | j                   r]t        j                  j                  | j                         }|j                  | j                  k7  r3t        j                         | _        nt        j                         | _        t        | $  |i | y )Nr   )
r   rw  r   r   rf   r   r   status_updated_atr   r   )r   r   r   oldr   s       r   r   zTblMatchedProfiles.save  sd    77$,,00DGG0<CzzT[[()1&%-\\^D"d%f%r   )'rR   rS   rT   r   rF  	resume_idjob_idr\   rf   rg   r   r   rz  l0_scheduled_atr  r  l0_interview_summaryr   accepted_messageaccepted_atr  interview_scheduledinterview_datetimeinterview_linknotice_periodcurrent_salaryexpected_salaryvisa_statusremarks
FloatFieldmatch_scoreprimaryskill_scoresecondaryskill_scoreexperience_scoreresponsibilities_scoretech_framework_scorerh   r   r  r  s   @r   rw  rw    s   ###%I V  "FV,F,,,X\\B*f**DAO+6++D4P'v''T>&&&&D=K-&--e<---4tD%V%%4tLN$F$$TJM%V%%$dKN&f&&"4tLO"&""cDIKf$dFG#&##%K***5,6,,$7*v**,.V..D9,6,,$7'6''T:L& &r   rw  c                   <   e Zd Z ej                  eej                  d      Z ej                  ddd      Z	 ej                  edd      Z ej                  edd      Z ej                   dd      Z ej                   d	      Z ej                   d
      Zy)L0InterviewListl0_matched_profilesr   r<   Trx  )rI   r;   r:   rt   r;   r:   r   r   r/  N)rR   rS   rT   r   rZ   rw  r   r.   r\   rf   r  r  interview_scorer   r2   interview_videorg   interview_completed_timer3  r4  r   r   r   r  r    s    'f''(:fnncxyOV4tDF&f&&t$dKO&f&&1EDX\]O3v33TJ%%%48J%%%t4Jr   r  c                   H   e Zd Z ej                  eej                  d      Z ej                  eej                  d      Z	 ej                  edd      Z ej                         Z ej                  dd      Z ej                   d      Z ej                   d      Zy	)
L0InterviewSessionsl0_matched_profiles_sessionsr   l0_interviewTr  r   r   r/  N)rR   rS   rT   r   rZ   rw  r   r.   r  r  r   r2   recorded_videor   questionanswerrg   r3  r4  r   r   r   r  r    s    'f''(:fnn  dB  CO$6$$_]klL%V%%0D4W[\Nv!HVD5F%%%48J%%%t4Jr   r  c                      e Zd Z ej                  d      Z ej                  d      Z ej                  ddd      Z ej                  dddd      Z	 ej                  ddd      Z
 ej                  ddd      Z ej                  d	dd
      Z ej                  dddd      Z ej                  ddd      Z ej                  ddd      Z ej                  ddd      Z ej                  ddd      Z ej                  ddd      Z ej                  ddd      Z ej*                  dd      Z ej                  ddd      Z ej                  ddd      Z ej                  ddd      Z ej                  ddd      Z ej                  ddd      Z ej6                  ddd      Z ej                  ddd      Z ej6                  dd      Z G d d      Zy)TblCandidateProfileTr5      r=   r@   )r>   r   r;   r:   rB   rx  zCandidate Images/r  manual)r>   r;   r:   rI   r   r?   r   ru   rJ   rL   c                       e Zd ZdgZy)TblCandidateProfile.Metaz-idN)rR   rS   rT   rV   r   r   r   rW   r    s	    7r   rW   N) rR   rS   rT   r   rX   r/   r\   
first_name	last_nameemailcoutry_codemobile_numberr   candidate_photosource
source_refcandidate_statusagegenderr  employment_typer   notesr  r  r  ri   rg   r  rj   r  rW   r   r   r   r  r    s   			d	+B!!!S1J   Ct$GIFDt4PE"&""bt4HK$F$$TJM'f''2EDX\]OV$dHUF!!!St4HJ'v''3dN
&

cD
ACVDtDF$F$$4dKM&f&&#TMOF4d3E%V%%DtLN&f&&#TMO"&""cDIK!!!S4HJ!!!S4HJ%%%4t$OJ!!!S4HJ%%%t$?J r   r  c                   &   e Zd Z ej                  d      Z ej                  eej                  ddd      Z	 ej                  d      Z ej                  ddd      Z ej                  edd      Z ej                   dd	      Z ed
d      Z ej                  ddd      Z ej                  ddd      Z ej                  ddd      Z ej                  ddd      Z ej                  e      Z ej                  edd      Z ej                  edd      Z ej                  edd      Z ej                  edd      Z ej                  edd      Z ej                  edd      Z ej                  edd      Z ej                  ddd      Z  ej                  ddd      Z! ej                   dd	      Z" ej                  ddd      Z# ejH                  d      Z% ej                  ddd      Z& ej                  e'ejP                  ddd      Z) ej                  edd      Z* ej                  ddd      Z+ ejX                  ddd      Z- ej                  ddd      Z. ejX                  dd      Z/y)TblCandidateResumeTr5   candidate_resumero   r  r=   rx  r   r   r   r   rB   r   r?   r@   r   ru   l0_candidate_interviewrJ   rL   N)0rR   rS   rT   r   rX   r|  rZ   r  r   candidate_idr\   titletotalexpr  r  companyr   responsibility_summaryr   )resume_responsibilities_summary_embeddingsalarylocationr  r  primary_skillstechnical_skillstools_and_frameworkssoft_skillsdomain_skills	educationcertificationsprojectsrf   resume_fileparsed_textversionr  	is_latestresume_sourcer  SET_NULLl0_interview_datar  ri   rg   r  rj   r  r   r   r   r  r  !  s      T2I$6$$%8FNNas{  GK  LLF,Ev3TFHfG
 .V--DtD0;sQU0V-V4tDFv3TFHF$dCE$F$$TJM%V%%N (v''
 ,6++
 #&""K
 %F$$M
 !  I
 &V%%N
  vH
 VDtDF"&""cDIK"&""D9Kf#TEG###D1I$F$$4dKM)))/V__c{  DH  OS  T+6++D4P!!!S4HJ%%%4t$OJ!!!S4HJ%%%t$?Jr   r  c                      e Zd Z ej                  eej                  d      Z ej                  d      Z	 ej                  d      Z
 ej                  ddd      Z ej                  d	      Z ej                  d
      Z ej                         Z ej"                  d      Z ej&                  d      Z ej*                  dd      Z ej                  ddd      Z ej*                  ddd      Z G d d      Zd Zy)careercareersr   r?   r=   rB   zcareers/Tr     r<   i8  r   r   r@   rJ   c                       e Zd ZdZdZy)career.Metatbl_careers)r7   codeNr(  r   r   r   rW   r  {  s     1r   rW   c                 L    | j                   j                   d| j                   S rR  )r7   r   ri  rD  s    r   rE  zcareer.__str__  s$    ""//0DII;??r   N)rR   rS   rT   r   rZ   r   r   r7   r\   ri  r  r   logodb_usernamedb_passwordGenericIPAddressField
ip_addressrF  portr  ru  rg   	last_syncri   r  rW   rE  r   r   r   r  r  d  s   #&##..K 6s+D6r*D6zDID"&""c2K"&""c2K---/J6t,D###D1I$$$$d;I!!!S4HJ%%%4t$OJ2 2@r   r  c                       e Zd Z ej                  eej                  d      Z ej                  ddd      Z	 ej                  e
ej                  d      Z ej                  d      Z G d d	      Zy
)FounditJobPostfoundit_postsr   r<   Tr@   )rp   r;   r   c                       e Zd ZdZy)FounditJobPost.Metatbl_foundit_job_postNr   r   r   r   rW   r    r   r   rW   N)rR   rS   rT   r   rZ   r   r   r2  r\   r}  r   r  rS  rg   r  rW   r   r   r   r  r    sj    			,Ud	eBVDtDF!!!$&//MI%%%48J* *r   r  c                   N   e Zd Z ej                  eej                  d      Z ej                  eej                        Z	 ej                  ddd      Z ej                  d      Z ej                  d	d
dg      Z ej                  e      Z ej"                  d      Zy)FacebookJobPostfacebook_postsr   r-  r<   Trx  r   r=   rB   rK  rM  rc  r   r   N)rR   rS   rT   r   rZ   r   r   r2  r   rS  r\   facebook_post_idrU  rf   r  dictrV  rg   rW  r   r   r   r  r    s    			..%
B
 "!!$&..AI'v''3TN   C0IV%';<F &V%%d3N$$$$7Ir   r  c                      e Zd Z ej                  eej                  d      Z ej                  d      Z	 ej                         Z ej                  d      Z ej                  d      Z ej                  dd	
      Z ej                   d      Z ej$                  dd      Z ej(                  dd      Zd Zy)JobApplicationapplicationsr   ru   r=   r   public_resumes/rt   rB   Publicrv   Tr   r   c                 L    | j                    d| j                  j                   S rR  	full_namer2  r   rD  s    r   rE  zJobApplication.__str__  #    ..!TWW%:%:$;<<r   NrR   rS   rT   r   rZ   r   r   r2  r\   r  
EmailFieldr  mobiler   resumer  rg   
applied_atr  r  r   
user_agentrE  r   r   r   r  r    s    			..#
B !  C0IFEV,FV#F VF
 &%%48J---4tDJ!!!t48J=r   r  c                       e Zd Z ej                         Z ej                         Z ej                  d      Z G d d      Z	y)TblJDResumeSeenTr   c                       e Zd ZdZy)TblJDResumeSeen.Meta)r   r|  Nr<  r   r   r   rW   r    s    0r   rW   N)
rR   rS   rT   r   rF  r   r|  rg   rh   rW   r   r   r   r  r    s>    F!E###%I'6''T:L1 1r   r  c                      e Zd Z ej                  eej                  d      Z ej                  d      Z	 ej                         Z ej                  d      Z ej                  d      Z ej                  dd	
      Z ej                   d      Z ej$                  dd      Z ej(                  dd      Zd Zy)CareerJobApplicationcareer_applicationsr   ru   r=   r   r  r  rB   r  rv   Tr   r   c                 L    | j                    d| j                  j                   S rR  r  rD  s    r   rE  zCareerJobApplication.__str__  r  r   Nr  r   r   r   r  r    s    			..*
B !  C0IFEV,FV#F VF
 &%%48J---4tDJ!!!t48J=r   r  c                      e Zd ZdZ ej
                         Z ej                  d      Z ej                         Z
 ej
                         Z ej                  d      Z ej                  d      Z ej                  ded	      Z ej                  d
d
      Z ej"                  ej&                        Z ej"                  d
      Z ej"                  d
      Zd Zy)
EmailQueue)PENDINGPendingSENTSentFAILEDrN  r<   r=   r   r   rA   
   r  rG   Tr   r   r/  c                 4    | j                   | j                  k  S N)retry_countmax_retriesrD  s    r   	can_retryzEmailQueue.can_retry  s    $"2"222r   N)rR   rS   rT   STATUS_CHOICESr   r  to_emailr\   subjectr   body
from_emailPositiveIntegerFieldr  r  rf   
last_errorrg   r   r   next_retry_atr3  r4  r  r   r   r   r  r    s    N !v  "Hf#.G6D"""$J-&--a8K-&--a8KV~yF "!!48J(F((>M%%%48J%%%t4J3r   r  c                   D   e Zd Z ej                  d      Z ej                  d      Z ej                         Z ej                  dg dd      Z	 ej                  d      Z ej                  d	d	
      Z ej                  d	d	      Z ej                  d	      Zy)WhatsAppQueuer   r=   r?   )r  r  r  r  rG   r   r   Tr   r   r   N)rR   rS   rT   r   r\   to_phonetemplate_namer  template_paramsrf   rF  r  rg   r  r   r  r3  r   r   r   r  r    s    v2.H$F$$4M&f&&(OV

 F &&%%a0K(F((d$?M!!!48J%%%48Jr   r  c                       e Zd Z ej                  d      Z ej                         Z ej                  dd      Z ej                  d      Z
 ej                  dd      Z ej                  dd      Zy	)
SMSQueuer   r=   r  rv   r   r   Tr   N)rR   rS   rT   r   r\   r  r   messagerf   rF  r  rg   r  r  r   r   r   r  r    sr    v2.Hf GVY?F%&%%a0K(F((d$?M!!!t48Jr   r  c                       e Zd Z ej                  dd      Z ej                  ddd      Z ej                  ddd      Z ej                  d      Z ej                  d      Z
d	 Zy
)
PublicLinkr   Tr   r?   rx  rB   r=   r   c                     | j                   S r  )tokenrD  s    r   rE  zPublicLink.__str__  s    zzr   N)rR   rS   rT   r   r\   r#  r|  r   	link_typerg   r3  rE  r   r   r   r!  r!    sk    F48E   Cd$GIF$dCE   B/I%%%48Jr   r!  c                      e Zd Z ej                         Z ej                         Z ej                  ddd      Z ej                  dd      Z
 ej                  dd      Z ej                  dd      Z ej                  dd      Z ej                  dd      Z ej                  dd      Z ej"                  d      Zy)TblMatchedProfilesCandidater   Trx  r   r   N)rR   rS   rT   r   rF  r|  r   r\   rf   r  overall_scorer  technicalskill_scorer  r  r  r  rg   rh   r   r   r   r&  r&    s    ###%IF!EV$dCF%F%%4t<M***DA,6,,$dC*v**DA.V..DE,6,,$dC'6''T:Lr   r&  c                       e Zd Z ej                  dej
                  d      Z ej                  d      Z ej                         Z
 ej                         Z ej                  ej                        Zd Zy)	JobEmailSharer   email_sharesr   ru   r=   r   c                 L    | j                    d| j                  j                   S )Nz shared )	your_namejobr   rD  s    r   rE  zJobEmailShare.__str__.  s#    ..!$((*<*<)=>>r   N)rR   rS   rT   r   rZ   r   r.  r\   r-  r  
your_emailr   friend_emailsrg   r   r   r3  rE  r   r   r   r*  r*  #  sp    
&

..#C
 !  C0I"""$J$F$$&M%%%hll;J?r   r*  )2	django.dbr   r   admin_users.modelsr   django.contrib.auth.modelsr   django.utilsr   r   pgvector.djangor   r  r+   r   r-   r   r(   r2   Modelr4   rm   r   r   r   r   r   r!  r+  r6  r>  rI  rY  rw  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r&  r*  r   r   r   <module>r7     s3   ) 1 + ! 	 '  	.c .3 .3 ..[*v|| *8+" +"Z* *&&FLL &<" "@* *:^& ^&@- -"5v|| 506<< 0N6<< N':fll ':R0/fll 0/d!& !&F5fll 55&,, 5&,, 8A@ A@F@V\\ @<*V\\ *8fll 8 =V\\ =81fll 1=6<< =83 309FLL 9$9v|| 9 
;&,, 
;?FLL ?r   