src/Entity/Cvs/Candidates.php line 25

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Cvs;
  3. use App\Entity\Core\Users;
  4. use App\Entity\Core\Agencies;
  5. use Doctrine\DBAL\Types\Types;
  6. use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
  7. use Symfony\Component\Validator\Constraints as Assert;
  8. use Doctrine\ORM\Mapping as ORM;
  9. use Vich\UploaderBundle\Mapping\Annotation as Vich;
  10. use Symfony\Component\HttpFoundation\File\File;
  11. use Symfony\Component\HttpFoundation\File\UploadedFile;
  12. use Vich\UploaderBundle\Entity\File as EmbeddedFile;
  13. use Vich\UploaderBundle\Templating\Helper\UploaderHelper;
  14. /**
  15.  * Candidates
  16.  *
  17.  * @ORM\Table("cvs_candidates")
  18.  * @ORM\Entity(repositoryClass="App\Repository\Cvs\CandidatesRepository")
  19.  * @ORM\HasLifecycleCallbacks()
  20.  * @Vich\Uploadable
  21.  */
  22. class Candidates
  23. {
  24.     /**
  25.      * @var integer
  26.      *
  27.      * @ORM\Column(name="id", type="integer")
  28.      * @ORM\Id
  29.      * @ORM\GeneratedValue(strategy="AUTO")
  30.      */
  31.     protected $id;
  32.     /**
  33.      * @var string
  34.      *
  35.      * @ORM\Column(name="created_at", type="datetime", nullable=true, options={"comment":"Date de création"})
  36.      */
  37.     private $createdAt;
  38.     /**
  39.      * @var string
  40.      *
  41.      * @ORM\Column(name="updated_at", type="datetime", nullable=true, options={"comment":"Date de mise à jour"})
  42.      */
  43.     private $updatedAt;
  44.     /**
  45.      * @var string
  46.      *
  47.      * @ORM\Column(name="perimeter", type="string", length=255, nullable=true)
  48.      */
  49.     private $perimeter;
  50.     /**
  51.      * @var string
  52.      *
  53.      * @ORM\Column(name="phone", type="string", length=255, nullable=true)
  54.      */
  55.     private $phone;
  56.     /**
  57.      * @var string
  58.      *
  59.      * @ORM\Column(name="address", type="string", length=255, nullable=true)
  60.      */
  61.     private $address;
  62.     /**
  63.      * @var string
  64.      *
  65.      * @ORM\Column(name="city", type="string", length=255, nullable=true)
  66.      */
  67.     private $city;
  68.     /**
  69.      * @var string
  70.      *
  71.      * @ORM\Column(name="zipcode", type="string", length=255, nullable=true)
  72.      */
  73.     private $zipcode;
  74.     /**
  75.      * @var string
  76.      *
  77.      * @ORM\Column(name="country", type="string", length=255, nullable=true)
  78.      */
  79.     private $country;
  80.     /**
  81.      * @var string
  82.      *
  83.      * @ORM\Column(name="slug", type="string", length=255, nullable=true)
  84.      */
  85.     private $slug;
  86.     /**
  87.      * @var string
  88.      *
  89.      * @ORM\Column(name="slug_anonyme", type="string", length=255, nullable=true)
  90.      */
  91.     private $slugAnonyme;
  92.     /**
  93.      * @var string
  94.      *
  95.      * @ORM\Column(name="title_job", type="string", length=255, nullable=true)
  96.      */
  97.     private $titleJob;
  98.     /**
  99.      * @var string
  100.      *
  101.      * @ORM\Column(name="description_cover", type="text", nullable=true)
  102.      */
  103.     private $descriptionCover;
  104.     /**
  105.      * @var string
  106.      *
  107.      * @ORM\Column(name="description_cover_anonyme", type="text", nullable=true)
  108.      */
  109.     private $descriptionCoverAnonyme;
  110.     /**
  111.      * @var string
  112.      *
  113.      * @ORM\Column(name="description_services", type="text", nullable=true)
  114.      */
  115.     private $descriptionServices;
  116.     /**
  117.      * @var string
  118.      *
  119.      * @ORM\Column(name="description_services_anonyme", type="text", nullable=true)
  120.      */
  121.     private $descriptionServicesAnonyme;
  122.     /**
  123.      * @var string
  124.      *
  125.      * @ORM\Column(name="description_cta", type="text", nullable=true)
  126.      */
  127.     private $descriptionCta;
  128.     /**
  129.      * @var string
  130.      *
  131.      * @ORM\Column(name="description_cta_anonyme", type="text", nullable=true)
  132.      */
  133.     private $descriptionCtaAnonyme;
  134.     /**
  135.      * @var string
  136.      *
  137.      * @ORM\Column(name="description", type="text", nullable=true)
  138.      */
  139.     private $description;
  140.     /**
  141.      * @var string
  142.      *
  143.      * @ORM\Column(name="description_anonyme", type="text", nullable=true)
  144.      */
  145.     private $descriptionAnonyme;
  146.     /**
  147.      * @var string
  148.      *
  149.      * @ORM\Column(name="description_experience", type="text", nullable=true)
  150.      */
  151.     private $descriptionExperience;
  152.     /**
  153.      * @var string
  154.      *
  155.      * @ORM\Column(name="description_experience_anonyme", type="text", nullable=true)
  156.      */
  157.     private $descriptionExperienceAnonyme;
  158.     /**
  159.      * @var string
  160.      *
  161.      * @ORM\Column(name="website_url", type="text", nullable=true)
  162.      */
  163.     private $websiteUrl;
  164.     /**
  165.      * @var string
  166.      *
  167.      * @ORM\Column(name="video_fr_url", type="text", nullable=true)
  168.      */
  169.     private $videoFrUrl;
  170.     /**
  171.      * @var string
  172.      *
  173.      * @ORM\Column(name="video_en_url", type="text", nullable=true)
  174.      */
  175.     private $videoEnUrl;
  176.     /**
  177.      * @var string
  178.      *
  179.      * @ORM\Column(name="video_default_url", type="text", nullable=true)
  180.      */
  181.     private $videoDefaultUrl;
  182.     /**
  183.      * @var string
  184.      *
  185.      * @ORM\Column(name="linkedin_url", type="text", nullable=true)
  186.      */
  187.     private $linkedinUrl;
  188.     /**
  189.      * @var string
  190.      *
  191.      * @ORM\Column(name="salary", type="boolean", nullable=true)
  192.      */
  193.     private $salary;
  194.     /**
  195.      * @var string
  196.      *
  197.      * @ORM\Column(name="freelance", type="boolean", nullable=true)
  198.      */
  199.     private $freelance;
  200.     /**
  201.      * @var string
  202.      *
  203.      * @ORM\Column(name="alternance", type="boolean", nullable=true)
  204.      */
  205.     private $alternance;
  206.     /**
  207.      * @var string
  208.      *
  209.      * @ORM\Column(name="stage", type="boolean", nullable=true)
  210.      */
  211.     private $stage;
  212.     /**
  213.      * @var string
  214.      *
  215.      * @ORM\Column(name="on_search", type="boolean", nullable=true)
  216.      */
  217.     private $onSearch;
  218.     /**
  219.      * @var string
  220.      *
  221.      * @ORM\Column(name="on_discussion", type="boolean", nullable=true)
  222.      */
  223.     private $onDiscussion;
  224.     /**
  225.      * @var string
  226.      *
  227.      * @ORM\Column(name="notifications", type="boolean", nullable=true)
  228.      */
  229.     private $notifications;
  230.     /**
  231.      * @var string
  232.      *
  233.      * @ORM\Column(name="online", type="boolean", nullable=true)
  234.      */
  235.     private $online;
  236.     /**
  237.      * @var string
  238.      *
  239.      * @ORM\Column(name="online_classic", type="boolean", nullable=true)
  240.      */
  241.     private $onlineClassic;
  242.     /**
  243.      * @var string
  244.      *
  245.      * @ORM\Column(name="invitation_code", type="text", nullable=true)
  246.      */
  247.     private $invitationCode;
  248.     /**
  249.      * @var string
  250.      *
  251.      * @ORM\Column(name="invitation_code_anonyme", type="text", nullable=true)
  252.      */
  253.     private $invitationCodeAnonyme;
  254.     /**
  255.      * @var string
  256.      *
  257.      * @ORM\Column(name="views", type="integer", nullable=true)
  258.      */
  259.     private $views;
  260.     /**
  261.      * @var string
  262.      *
  263.      * @ORM\Column(name="exp_years", type="integer", nullable=true)
  264.      */
  265.     private $expYears;
  266.     /**
  267.      * @var string
  268.      *
  269.      * @ORM\Column(name="views_anonyme", type="integer", nullable=true)
  270.      */
  271.     private $viewsAnonyme;
  272.     /**
  273.      * @var string
  274.      *
  275.      * @ORM\Column(name="first", type="boolean", nullable=true)
  276.      */
  277.     private $first;
  278.     /**
  279.      * @var string
  280.      *
  281.      * @ORM\Column(name="point_x", type="string", length=255, nullable=true)
  282.      */
  283.     private $pointX;
  284.     /**
  285.      * @var string
  286.      *
  287.      * @ORM\Column(name="point_y", type="string", length=255, nullable=true)
  288.      */
  289.     private $pointY;
  290.     /**
  291.      * NOTE: This is not a mapped field of entity metadata, just a simple property.
  292.      *
  293.      * @Vich\UploadableField(mapping="cv_files", fileNameProperty="image.name", size="image.size", mimeType="image.mimeType", originalName="image.originalName", dimensions="image.dimensions")
  294.      *
  295.      * @var File|null
  296.      */
  297.     private $imageFile;
  298.     /**
  299.      * @ORM\Embedded(class="Vich\UploaderBundle\Entity\File")
  300.      *
  301.      * @var EmbeddedFile
  302.      */
  303.     private $image;
  304.     /**
  305.      * @var string
  306.      *
  307.      * @ORM\Column(name="analyse", type="boolean", nullable=true)
  308.      */
  309.     private $analyse;
  310.     /**
  311.      * @var string
  312.      *
  313.      * @ORM\Column(name="analyse_note", type="text", nullable=true)
  314.      */
  315.     private $analyseNote;
  316.     /**
  317.      * @var string
  318.      *
  319.      * @ORM\Column(name="analyse_locale", type="text", nullable=true)
  320.      */
  321.     private $analyseLocale;
  322.     /**
  323.      * @var string
  324.      *
  325.      * @ORM\Column(name="default_locale", type="text", nullable=true)
  326.      */
  327.     private $defaultLocale;
  328.     /**
  329.      * @var string
  330.      *
  331.      * @ORM\Column(name="french", type="boolean", nullable=true)
  332.      */
  333.     private $french;
  334.     /**
  335.      * @var string
  336.      *
  337.      * @ORM\Column(name="english", type="boolean", nullable=true)
  338.      */
  339.     private $english;
  340.     /**
  341.      * @var string
  342.      *
  343.      * @ORM\Column(name="default_language", type="boolean", nullable=true)
  344.      */
  345.     private $default;
  346.     /**
  347.      * @var string
  348.      *
  349.      * @ORM\Column(name="hard_skills_fr", type="text", nullable=true)
  350.      */
  351.     private $hardSkillsFr;
  352.     /**
  353.      * @var string
  354.      *
  355.      * @ORM\Column(name="hard_skills_en", type="text", nullable=true)
  356.      */
  357.     private $hardSkillsEn;
  358.     /**
  359.      * @var string
  360.      *
  361.      * @ORM\Column(name="hard_skills_default", type="text", nullable=true)
  362.      */
  363.     private $hardSkillsDefault;
  364.     /**
  365.      * @var string
  366.      *
  367.      * @ORM\Column(name="soft_skills_en", type="text", nullable=true)
  368.      */
  369.     private $softSkillsEn;
  370.     /**
  371.      * @var string
  372.      *
  373.      * @ORM\Column(name="soft_skills_fr", type="text", nullable=true)
  374.      */
  375.     private $softSkillsFr;
  376.     /**
  377.      * @var string
  378.      *
  379.      * @ORM\Column(name="soft_skills_default", type="text", nullable=true)
  380.      */
  381.     private $softSkillsDefault;
  382.     /**
  383.      * @var string
  384.      *
  385.      * @ORM\Column(name="tags_fr", type="text", nullable=true)
  386.      */
  387.     private $tagsFr;
  388.     /**
  389.      * @var string
  390.      *
  391.      * @ORM\Column(name="tags_en", type="text", nullable=true)
  392.      */
  393.     private $tagsEn;
  394.     /**
  395.      * @var string
  396.      *
  397.      * @ORM\Column(name="tags_default", type="text", nullable=true)
  398.      */
  399.     private $tagsDefault;
  400.     /**
  401.      * @var string
  402.      *
  403.      * @ORM\Column(name="recruiter_summary_fr", type="text", nullable=true)
  404.      */
  405.     private $resumeRecruiterFr;
  406.     /**
  407.      * @var string
  408.      *
  409.      * @ORM\Column(name="recruiter_summary_en", type="text", nullable=true)
  410.      */
  411.     private $resumeRecruiterEn;
  412.     /**
  413.      * @var string
  414.      *
  415.      * @ORM\Column(name="recruiter_summary_default", type="text", nullable=true)
  416.      */
  417.     private $resumeRecruiterDefault;
  418.     /**
  419.      * @var string
  420.      *
  421.      * @ORM\Column(name="recruiter_projects_fr", type="text", nullable=true)
  422.      */
  423.     private $resumeProjectsFr;
  424.     /**
  425.      * @var string
  426.      *
  427.      * @ORM\Column(name="recruiter_projects_en", type="text", nullable=true)
  428.      */
  429.     private $resumeProjectsEn;
  430.     /**
  431.      * @var string
  432.      *
  433.      * @ORM\Column(name="recruiter_projects_default", type="text", nullable=true)
  434.      */
  435.     private $resumeProjectsDefault;
  436.     /**
  437.      * @var string
  438.      *
  439.      * @ORM\Column(name="recruiter_exp_fr", type="text", nullable=true)
  440.      */
  441.     private $resumeExpFr;
  442.     /**
  443.      * @var string
  444.      *
  445.      * @ORM\Column(name="recruiter_exp_en", type="text", nullable=true)
  446.      */
  447.     private $resumeExpEn;
  448.     /**
  449.      * @var string
  450.      *
  451.      * @ORM\Column(name="recruiter_exp_default", type="text", nullable=true)
  452.      */
  453.     private $resumeExpDefault;
  454.     /**
  455.      * @var string
  456.      *
  457.      * @ORM\Column(name="titlejob_fr", type="text", nullable=true)
  458.      */
  459.     private $titlejobFr;
  460.     /**
  461.      * @var string
  462.      *
  463.      * @ORM\Column(name="titlejob_en", type="text", nullable=true)
  464.      */
  465.     private $titlejobEn;
  466.     /**
  467.      * @var string
  468.      *
  469.      * @ORM\Column(name="titlejob_default", type="text", nullable=true)
  470.      */
  471.     private $titlejobDefault;
  472.     /**
  473.      * @var string
  474.      *
  475.      * @ORM\Column(name="presentation_fr", type="text", nullable=true)
  476.      */
  477.     private $presentationFr;
  478.     /**
  479.      * @var string
  480.      *
  481.      * @ORM\Column(name="presentation_en", type="text", nullable=true)
  482.      */
  483.     private $presentationEn;
  484.     /**
  485.      * @var string
  486.      *
  487.      * @ORM\Column(name="presentation_default", type="text", nullable=true)
  488.      */
  489.     private $presentationDefault;
  490.     /**
  491.      * @var string
  492.      *
  493.      * @ORM\Column(name="futur_jobtitle_fr", type="text", nullable=true)
  494.      */
  495.     private $futurTitlejobFr;
  496.     /**
  497.      * @var string
  498.      *
  499.      * @ORM\Column(name="futur_jobtitle_en", type="text", nullable=true)
  500.      */
  501.     private $futurTitlejobEn;
  502.     /**
  503.      * @var string
  504.      *
  505.      * @ORM\Column(name="futur_jobtitle_default", type="text", nullable=true)
  506.      */
  507.     private $futurTitlejobDefault;
  508.     /**
  509.      * @var string
  510.      *
  511.      * @ORM\Column(name="sector_en", type="text", nullable=true)
  512.      */
  513.     private $sectorEn;
  514.     /**
  515.      * @var string
  516.      *
  517.      * @ORM\Column(name="sector_fr", type="text", nullable=true)
  518.      */
  519.     private $sectorFr;
  520.     /**
  521.      * @var string
  522.      *
  523.      * @ORM\Column(name="sector_default", type="text", nullable=true)
  524.      */
  525.     private $sectorDefault;
  526.     /**
  527.      * @var string
  528.      *
  529.      * @ORM\Column(name="status_search", type="text", nullable=true)
  530.      */
  531.     private $statusSearch;
  532.     /**
  533.      * @var string
  534.      *
  535.      * @ORM\Column(name="availability", type="text", nullable=true)
  536.      */
  537.     private $availability;
  538.     /**
  539.      * @var string|null
  540.      * @ORM\Column(name="form_ai_analysis", type="text", nullable=true)
  541.      */
  542.     private $formAiAnalysis;
  543.     /**
  544.      * @var string|null
  545.      * @ORM\Column(name="form_ai_analysis_status", type="string", length=16, nullable=true)
  546.      */
  547.     private $formAiAnalysisStatus;
  548.     /**
  549.      * @var \DateTime|null
  550.      * @ORM\Column(name="form_ai_analysis_updated_at", type="datetime", nullable=true)
  551.      */
  552.     private $formAiAnalysisUpdatedAt;
  553.     /**
  554.      * Données brutes du formulaire CV (tunnel V2).
  555.      * JSON sérialisé de l'objet CvData côté mobile.
  556.      *
  557.      * @var string|null
  558.      * @ORM\Column(name="cv_data", type="text", nullable=true)
  559.      */
  560.     private $cvData;
  561.     /**
  562.      * Paramètres de rendu du CV : theme, primary, secondary, cv_language.
  563.      * JSON sérialisé.
  564.      *
  565.      * @var string|null
  566.      * @ORM\Column(name="cv_settings", type="text", nullable=true)
  567.      */
  568.     private $cvSettings;
  569.     /**
  570.      * Chemin absolu du dernier PDF généré par cv_primary.py / cv_second.py.
  571.      *
  572.      * @var string|null
  573.      * @ORM\Column(name="cv_pdf_path", type="string", length=512, nullable=true)
  574.      */
  575.     private $cvPdfPath;
  576.     public function __construct()
  577.     {
  578.         $this->image = new \Vich\UploaderBundle\Entity\File();
  579.     }
  580.     /**
  581.      * @ORM\PrePersist
  582.      */
  583.     public function setCreatedAtValue(): void
  584.     {
  585.         $this->setCreatedAt(new \DateTime("now"));
  586.         $this->setUpdatedAt(new \DateTime("now"));
  587.     }
  588.     /**
  589.      * @ORM\PreUpdate
  590.      */
  591.     public function setUpdatedAtValue(): void
  592.     {
  593.         $this->setUpdatedAt(new \DateTime("now"));
  594.     }
  595.     public function __toString()
  596.     {
  597.         return (string)$this->id;
  598.     }
  599.     /**
  600.      * If manually uploading a file (i.e. not using Symfony Form) ensure an instance
  601.      * of 'UploadedFile' is injected into this setter to trigger the  update. If this
  602.      * bundle's configuration parameter 'inject_on_load' is set to 'true' this setter
  603.      * must be able to accept an instance of 'File' as the bundle will inject one here
  604.      * during Doctrine hydration.
  605.      *
  606.      * @param File|UploadedFile|null $imageFile
  607.      */
  608.     public function setImageFile(?File $imageFile null)
  609.     {
  610.         $this->imageFile $imageFile;
  611.         if (null !== $imageFile) {
  612.             // It is required that at least one field changes if you are using doctrine
  613.             // otherwise the event listeners won't be called and the file is lost
  614.             $this->setUpdatedAt(new \DateTime("now"));
  615.         }
  616.     }
  617.     public function getImageFile(): ?File
  618.     {
  619.         return $this->imageFile;
  620.     }
  621.     public function setImage(EmbeddedFile $image): void
  622.     {
  623.         $this->image $image;
  624.     }
  625.     public function getImage(): ?EmbeddedFile
  626.     {
  627.         return $this->image;
  628.     }
  629.     public function getImageBase64(?string $projectDir null): ?string
  630.     {
  631.         if (!$this->image || !$this->image->getName()) {
  632.             return null;
  633.         }
  634.         if (!$projectDir) {
  635.             return null// ou throw new \Exception('Project dir required');
  636.         }
  637.         $filePath $projectDir '/files/cvs/' $this->image->getName();
  638.         if (!file_exists($filePath)) {
  639.             return null;
  640.         }
  641.         $imageData file_get_contents($filePath);
  642.         $mimeType $this->image->getMimeType() ?? mime_content_type($filePath);
  643.         return 'data:' $mimeType ';base64,' base64_encode($imageData);
  644.     }
  645.     public function getId(): ?int
  646.     {
  647.         return $this->id;
  648.     }
  649.     public function getCreatedAt(): ?\DateTimeInterface
  650.     {
  651.         return $this->createdAt;
  652.     }
  653.     public function setCreatedAt(?\DateTimeInterface $createdAt): self
  654.     {
  655.         $this->createdAt $createdAt;
  656.         return $this;
  657.     }
  658.     public function getUpdatedAt(): ?\DateTimeInterface
  659.     {
  660.         return $this->updatedAt;
  661.     }
  662.     public function setUpdatedAt(?\DateTimeInterface $updatedAt): self
  663.     {
  664.         $this->updatedAt $updatedAt;
  665.         return $this;
  666.     }
  667.     public function getPhone(): ?string
  668.     {
  669.         return $this->phone;
  670.     }
  671.     public function setPhone(?string $phone): self
  672.     {
  673.         $this->phone $phone;
  674.         return $this;
  675.     }
  676.     public function getEmail(): ?string
  677.     {
  678.         return $this->email;
  679.     }
  680.     public function setEmail(?string $email): self
  681.     {
  682.         $this->email $email;
  683.         return $this;
  684.     }
  685.     public function getAddress(): ?string
  686.     {
  687.         return $this->address;
  688.     }
  689.     public function setAddress(?string $address): self
  690.     {
  691.         $this->address $address;
  692.         return $this;
  693.     }
  694.     public function getCity(): ?string
  695.     {
  696.         return $this->city;
  697.     }
  698.     public function setCity(?string $city): self
  699.     {
  700.         $this->city $city;
  701.         return $this;
  702.     }
  703.     public function getZipcode(): ?string
  704.     {
  705.         return $this->zipcode;
  706.     }
  707.     public function setZipcode(?string $zipcode): self
  708.     {
  709.         $this->zipcode $zipcode;
  710.         return $this;
  711.     }
  712.     public function getCountry(): ?string
  713.     {
  714.         return $this->country;
  715.     }
  716.     public function setCountry(?string $country): self
  717.     {
  718.         $this->country $country;
  719.         return $this;
  720.     }
  721.     public function getSlug(): ?string
  722.     {
  723.         return $this->slug;
  724.     }
  725.     public function setSlug(?string $slug): self
  726.     {
  727.         $this->slug $slug;
  728.         return $this;
  729.     }
  730.     public function getSlugAnonyme(): ?string
  731.     {
  732.         return $this->slugAnonyme;
  733.     }
  734.     public function setSlugAnonyme(?string $slugAnonyme): self
  735.     {
  736.         $this->slugAnonyme $slugAnonyme;
  737.         return $this;
  738.     }
  739.     public function getTitleJob(): ?string
  740.     {
  741.         return $this->titleJob;
  742.     }
  743.     public function setTitleJob(?string $titleJob): self
  744.     {
  745.         $this->titleJob $titleJob;
  746.         return $this;
  747.     }
  748.     public function getDescription(): ?string
  749.     {
  750.         return $this->description;
  751.     }
  752.     public function setDescription(?string $description): self
  753.     {
  754.         $this->description $description;
  755.         return $this;
  756.     }
  757.     public function getWebsiteUrl(): ?string
  758.     {
  759.         return $this->websiteUrl;
  760.     }
  761.     public function setWebsiteUrl(?string $websiteUrl): self
  762.     {
  763.         $this->websiteUrl $websiteUrl;
  764.         return $this;
  765.     }
  766.     public function getLinkedinUrl(): ?string
  767.     {
  768.         return $this->linkedinUrl;
  769.     }
  770.     public function setLinkedinUrl(?string $linkedinUrl): self
  771.     {
  772.         $this->linkedinUrl $linkedinUrl;
  773.         return $this;
  774.     }
  775.     public function getSalary(): ?bool
  776.     {
  777.         return $this->salary;
  778.     }
  779.     public function setSalary(?bool $salary): self
  780.     {
  781.         $this->salary $salary;
  782.         return $this;
  783.     }
  784.     public function getFreelance(): ?bool
  785.     {
  786.         return $this->freelance;
  787.     }
  788.     public function setFreelance(?bool $freelance): self
  789.     {
  790.         $this->freelance $freelance;
  791.         return $this;
  792.     }
  793.     public function getOnSearch(): ?bool
  794.     {
  795.         return $this->onSearch;
  796.     }
  797.     public function setOnSearch(?bool $onSearch): self
  798.     {
  799.         $this->onSearch $onSearch;
  800.         return $this;
  801.     }
  802.     public function getOnDiscussion(): ?bool
  803.     {
  804.         return $this->onDiscussion;
  805.     }
  806.     public function setOnDiscussion(?bool $onDiscussion): self
  807.     {
  808.         $this->onDiscussion $onDiscussion;
  809.         return $this;
  810.     }
  811.     public function getNotifications(): ?bool
  812.     {
  813.         return $this->notifications;
  814.     }
  815.     public function setNotifications(?bool $notifications): self
  816.     {
  817.         $this->notifications $notifications;
  818.         return $this;
  819.     }
  820.     public function getOnline(): ?bool
  821.     {
  822.         return $this->online;
  823.     }
  824.     public function setOnline(?bool $online): self
  825.     {
  826.         $this->online $online;
  827.         return $this;
  828.     }
  829.     public function getOnlineClassic(): ?bool
  830.     {
  831.         return $this->onlineClassic;
  832.     }
  833.     public function setOnlineClassic(?bool $onlineClassic): self
  834.     {
  835.         $this->onlineClassic $onlineClassic;
  836.         return $this;
  837.     }
  838.     public function getInvitationCode(): ?string
  839.     {
  840.         return $this->invitationCode;
  841.     }
  842.     public function setInvitationCode(?string $invitationCode): self
  843.     {
  844.         $this->invitationCode $invitationCode;
  845.         return $this;
  846.     }
  847.     public function getAgency(): ?Agencies
  848.     {
  849.         return $this->agency;
  850.     }
  851.     public function setAgency(?Agencies $agency): self
  852.     {
  853.         $this->agency $agency;
  854.         return $this;
  855.     }
  856.     public function getFirst(): ?bool
  857.     {
  858.         return $this->first;
  859.     }
  860.     public function setFirst(?bool $first): self
  861.     {
  862.         $this->first $first;
  863.         return $this;
  864.     }
  865.     public function getDescriptionAnonyme(): ?string
  866.     {
  867.         return $this->descriptionAnonyme;
  868.     }
  869.     public function setDescriptionAnonyme(?string $descriptionAnonyme): self
  870.     {
  871.         $this->descriptionAnonyme $descriptionAnonyme;
  872.         return $this;
  873.     }
  874.     public function getDescriptionCover(): ?string
  875.     {
  876.         return $this->descriptionCover;
  877.     }
  878.     public function setDescriptionCover(?string $descriptionCover): self
  879.     {
  880.         $this->descriptionCover $descriptionCover;
  881.         return $this;
  882.     }
  883.     public function getDescriptionCta(): ?string
  884.     {
  885.         return $this->descriptionCta;
  886.     }
  887.     public function setDescriptionCta(?string $descriptionCta): self
  888.     {
  889.         $this->descriptionCta $descriptionCta;
  890.         return $this;
  891.     }
  892.     public function getDescriptionCoverAnonyme(): ?string
  893.     {
  894.         return $this->descriptionCoverAnonyme;
  895.     }
  896.     public function setDescriptionCoverAnonyme(?string $descriptionCoverAnonyme): self
  897.     {
  898.         $this->descriptionCoverAnonyme $descriptionCoverAnonyme;
  899.         return $this;
  900.     }
  901.     public function getDescriptionCtaAnonyme(): ?string
  902.     {
  903.         return $this->descriptionCtaAnonyme;
  904.     }
  905.     public function setDescriptionCtaAnonyme(?string $descriptionCtaAnonyme): self
  906.     {
  907.         $this->descriptionCtaAnonyme $descriptionCtaAnonyme;
  908.         return $this;
  909.     }
  910.     public function getDescriptionServices(): ?string
  911.     {
  912.         return $this->descriptionServices;
  913.     }
  914.     public function setDescriptionServices(?string $descriptionServices): self
  915.     {
  916.         $this->descriptionServices $descriptionServices;
  917.         return $this;
  918.     }
  919.     public function getDescriptionServicesAnonyme(): ?string
  920.     {
  921.         return $this->descriptionServicesAnonyme;
  922.     }
  923.     public function setDescriptionServicesAnonyme(?string $descriptionServicesAnonyme): self
  924.     {
  925.         $this->descriptionServicesAnonyme $descriptionServicesAnonyme;
  926.         return $this;
  927.     }
  928.     public function getDescriptionExperience(): ?string
  929.     {
  930.         return $this->descriptionExperience;
  931.     }
  932.     public function setDescriptionExperience(?string $descriptionExperience): self
  933.     {
  934.         $this->descriptionExperience $descriptionExperience;
  935.         return $this;
  936.     }
  937.     public function getDescriptionExperienceAnonyme(): ?string
  938.     {
  939.         return $this->descriptionExperienceAnonyme;
  940.     }
  941.     public function setDescriptionExperienceAnonyme(?string $descriptionExperienceAnonyme): self
  942.     {
  943.         $this->descriptionExperienceAnonyme $descriptionExperienceAnonyme;
  944.         return $this;
  945.     }
  946.     public function getInvitationCodeAnonyme(): ?string
  947.     {
  948.         return $this->invitationCodeAnonyme;
  949.     }
  950.     public function setInvitationCodeAnonyme(?string $invitationCodeAnonyme): self
  951.     {
  952.         $this->invitationCodeAnonyme $invitationCodeAnonyme;
  953.         return $this;
  954.     }
  955.     public function getViews(): ?int
  956.     {
  957.         return $this->views;
  958.     }
  959.     public function setViews(?int $views): self
  960.     {
  961.         $this->views $views;
  962.         return $this;
  963.     }
  964.     public function getViewsAnonyme(): ?int
  965.     {
  966.         return $this->viewsAnonyme;
  967.     }
  968.     public function setViewsAnonyme(?int $viewsAnonyme): self
  969.     {
  970.         $this->viewsAnonyme $viewsAnonyme;
  971.         return $this;
  972.     }
  973.     public function getAlternance(): ?bool
  974.     {
  975.         return $this->alternance;
  976.     }
  977.     public function setAlternance(?bool $alternance): self
  978.     {
  979.         $this->alternance $alternance;
  980.         return $this;
  981.     }
  982.     public function getStage(): ?bool
  983.     {
  984.         return $this->stage;
  985.     }
  986.     public function setStage(?bool $stage): self
  987.     {
  988.         $this->stage $stage;
  989.         return $this;
  990.     }
  991.     public function getPerimeter(): ?string
  992.     {
  993.         return $this->perimeter;
  994.     }
  995.     public function setPerimeter(?string $perimeter): self
  996.     {
  997.         $this->perimeter $perimeter;
  998.         return $this;
  999.     }
  1000.     public function getPointX(): ?string
  1001.     {
  1002.         return $this->pointX;
  1003.     }
  1004.     public function setPointX(?string $pointX): self
  1005.     {
  1006.         $this->pointX $pointX;
  1007.         return $this;
  1008.     }
  1009.     public function getPointY(): ?string
  1010.     {
  1011.         return $this->pointY;
  1012.     }
  1013.     public function setPointY(?string $pointY): self
  1014.     {
  1015.         $this->pointY $pointY;
  1016.         return $this;
  1017.     }
  1018.     public function isSalary(): ?bool
  1019.     {
  1020.         return $this->salary;
  1021.     }
  1022.     public function isFreelance(): ?bool
  1023.     {
  1024.         return $this->freelance;
  1025.     }
  1026.     public function isAlternance(): ?bool
  1027.     {
  1028.         return $this->alternance;
  1029.     }
  1030.     public function isStage(): ?bool
  1031.     {
  1032.         return $this->stage;
  1033.     }
  1034.     public function isOnSearch(): ?bool
  1035.     {
  1036.         return $this->onSearch;
  1037.     }
  1038.     public function isOnDiscussion(): ?bool
  1039.     {
  1040.         return $this->onDiscussion;
  1041.     }
  1042.     public function isNotifications(): ?bool
  1043.     {
  1044.         return $this->notifications;
  1045.     }
  1046.     public function isOnline(): ?bool
  1047.     {
  1048.         return $this->online;
  1049.     }
  1050.     public function getExpYears(): ?int
  1051.     {
  1052.         return $this->expYears;
  1053.     }
  1054.     public function setExpYears(?int $expYears): static
  1055.     {
  1056.         $this->expYears $expYears;
  1057.         return $this;
  1058.     }
  1059.     public function isFirst(): ?bool
  1060.     {
  1061.         return $this->first;
  1062.     }
  1063.     public function isOnlineClassic(): ?bool
  1064.     {
  1065.         return $this->onlineClassic;
  1066.     }
  1067.     public function getVideoFrUrl(): ?string
  1068.     {
  1069.         return $this->videoFrUrl;
  1070.     }
  1071.     public function setVideoFrUrl(?string $videoFrUrl): static
  1072.     {
  1073.         $this->videoFrUrl $videoFrUrl;
  1074.         return $this;
  1075.     }
  1076.     public function getVideoEnUrl(): ?string
  1077.     {
  1078.         return $this->videoEnUrl;
  1079.     }
  1080.     public function setVideoEnUrl(?string $videoEnUrl): static
  1081.     {
  1082.         $this->videoEnUrl $videoEnUrl;
  1083.         return $this;
  1084.     }
  1085.     public function getAnalyse(): ?bool
  1086.     {
  1087.         return $this->analyse;
  1088.     }
  1089.     public function setAnalyse(?bool $analyse): self
  1090.     {
  1091.         $this->analyse $analyse;
  1092.         return $this;
  1093.     }
  1094.     public function getAnalyseLocale(): ?string
  1095.     {
  1096.         return $this->analyseLocale;
  1097.     }
  1098.     public function setAnalyseLocale(?string $analyseLocale): static
  1099.     {
  1100.         $this->analyseLocale $analyseLocale;
  1101.         return $this;
  1102.     }
  1103.     public function isAnalyse(): ?bool
  1104.     {
  1105.         return $this->analyse;
  1106.     }
  1107.     public function getAnalyseNote(): ?string
  1108.     {
  1109.         return $this->analyseNote;
  1110.     }
  1111.     public function setAnalyseNote(?string $analyseNote): static
  1112.     {
  1113.         $this->analyseNote $analyseNote;
  1114.         return $this;
  1115.     }
  1116.     public function getHardSkillsFr(): ?string
  1117.     {
  1118.         return $this->hardSkillsFr;
  1119.     }
  1120.     public function setHardSkillsFr(?string $hardSkillsFr): static
  1121.     {
  1122.         $this->hardSkillsFr $hardSkillsFr;
  1123.         return $this;
  1124.     }
  1125.     public function getHardSkillsEn(): ?string
  1126.     {
  1127.         return $this->hardSkillsEn;
  1128.     }
  1129.     public function setHardSkillsEn(?string $hardSkillsEn): static
  1130.     {
  1131.         $this->hardSkillsEn $hardSkillsEn;
  1132.         return $this;
  1133.     }
  1134.     public function getSoftSkillsEn(): ?string
  1135.     {
  1136.         return $this->softSkillsEn;
  1137.     }
  1138.     public function setSoftSkillsEn(?string $softSkillsEn): static
  1139.     {
  1140.         $this->softSkillsEn $softSkillsEn;
  1141.         return $this;
  1142.     }
  1143.     public function getSoftSkillsFr(): ?string
  1144.     {
  1145.         return $this->softSkillsFr;
  1146.     }
  1147.     public function setSoftSkillsFr(?string $softSkillsFr): static
  1148.     {
  1149.         $this->softSkillsFr $softSkillsFr;
  1150.         return $this;
  1151.     }
  1152.     public function getTagsFr(): ?string
  1153.     {
  1154.         return $this->tagsFr;
  1155.     }
  1156.     public function setTagsFr(?string $tagsFr): static
  1157.     {
  1158.         $this->tagsFr $tagsFr;
  1159.         return $this;
  1160.     }
  1161.     public function getTagsEn(): ?string
  1162.     {
  1163.         return $this->tagsEn;
  1164.     }
  1165.     public function setTagsEn(?string $tagsEn): static
  1166.     {
  1167.         $this->tagsEn $tagsEn;
  1168.         return $this;
  1169.     }
  1170.     public function getResumeRecruiterFr(): ?string
  1171.     {
  1172.         return $this->resumeRecruiterFr;
  1173.     }
  1174.     public function setResumeRecruiterFr(?string $resumeRecruiterFr): static
  1175.     {
  1176.         $this->resumeRecruiterFr $resumeRecruiterFr;
  1177.         return $this;
  1178.     }
  1179.     public function getResumeRecruiterEn(): ?string
  1180.     {
  1181.         return $this->resumeRecruiterEn;
  1182.     }
  1183.     public function setResumeRecruiterEn(?string $resumeRecruiterEn): static
  1184.     {
  1185.         $this->resumeRecruiterEn $resumeRecruiterEn;
  1186.         return $this;
  1187.     }
  1188.     public function getTitlejobFr(): ?string
  1189.     {
  1190.         return $this->titlejobFr;
  1191.     }
  1192.     public function setTitlejobFr(?string $titlejobFr): static
  1193.     {
  1194.         $this->titlejobFr $titlejobFr;
  1195.         return $this;
  1196.     }
  1197.     public function getTitlejobEn(): ?string
  1198.     {
  1199.         return $this->titlejobEn;
  1200.     }
  1201.     public function setTitlejobEn(?string $titlejobEn): static
  1202.     {
  1203.         $this->titlejobEn $titlejobEn;
  1204.         return $this;
  1205.     }
  1206.     public function getPresentationFr(): ?string
  1207.     {
  1208.         return $this->presentationFr;
  1209.     }
  1210.     public function setPresentationFr(?string $presentation_fr): static
  1211.     {
  1212.         $this->presentationFr $presentation_fr;
  1213.         return $this;
  1214.     }
  1215.     public function getPresentationEn(): ?string
  1216.     {
  1217.         return $this->presentationEn;
  1218.     }
  1219.     public function setPresentationEn(?string $presentation_en): static
  1220.     {
  1221.         $this->presentationEn $presentation_en;
  1222.         return $this;
  1223.     }
  1224.     public function getFuturTitlejobFr(): ?string
  1225.     {
  1226.         return $this->futurTitlejobFr;
  1227.     }
  1228.     public function setFuturTitlejobFr(?string $futurTitlejobFr): static
  1229.     {
  1230.         $this->futurTitlejobFr $futurTitlejobFr;
  1231.         return $this;
  1232.     }
  1233.     public function getFuturTitlejobEn(): ?string
  1234.     {
  1235.         return $this->futurTitlejobEn;
  1236.     }
  1237.     public function setFuturTitlejobEn(?string $futurTitlejobEn): static
  1238.     {
  1239.         $this->futurTitlejobEn $futurTitlejobEn;
  1240.         return $this;
  1241.     }
  1242.     public function getSectorEn(): ?string
  1243.     {
  1244.         return $this->sectorEn;
  1245.     }
  1246.     public function setSectorEn(?string $sectorEn): static
  1247.     {
  1248.         $this->sectorEn $sectorEn;
  1249.         return $this;
  1250.     }
  1251.     public function getSectorFr(): ?string
  1252.     {
  1253.         return $this->sectorFr;
  1254.     }
  1255.     public function setSectorFr(?string $sectorFr): static
  1256.     {
  1257.         $this->sectorFr $sectorFr;
  1258.         return $this;
  1259.     }
  1260.     public function isFrench(): ?bool
  1261.     {
  1262.         return $this->french;
  1263.     }
  1264.     public function setFrench(?bool $french): static
  1265.     {
  1266.         $this->french $french;
  1267.         return $this;
  1268.     }
  1269.     public function isEnglish(): ?bool
  1270.     {
  1271.         return $this->english;
  1272.     }
  1273.     public function setEnglish(?bool $english): static
  1274.     {
  1275.         $this->english $english;
  1276.         return $this;
  1277.     }
  1278.     public function getDefaultLocale(): ?string
  1279.     {
  1280.         return $this->defaultLocale;
  1281.     }
  1282.     public function setDefaultLocale(?string $defaultLocale): static
  1283.     {
  1284.         $this->defaultLocale $defaultLocale;
  1285.         return $this;
  1286.     }
  1287.     public function isDefault(): ?bool
  1288.     {
  1289.         return $this->default;
  1290.     }
  1291.     public function setDefault(?bool $default): static
  1292.     {
  1293.         $this->default $default;
  1294.         return $this;
  1295.     }
  1296.     public function getHardSkillsDefault(): ?string
  1297.     {
  1298.         return $this->hardSkillsDefault;
  1299.     }
  1300.     public function setHardSkillsDefault(?string $hardSkillsDefault): static
  1301.     {
  1302.         $this->hardSkillsDefault $hardSkillsDefault;
  1303.         return $this;
  1304.     }
  1305.     public function getSoftSkillsDefault(): ?string
  1306.     {
  1307.         return $this->softSkillsDefault;
  1308.     }
  1309.     public function setSoftSkillsDefault(?string $softSkillsDefault): static
  1310.     {
  1311.         $this->softSkillsDefault $softSkillsDefault;
  1312.         return $this;
  1313.     }
  1314.     public function getTagsDefault(): ?string
  1315.     {
  1316.         return $this->tagsDefault;
  1317.     }
  1318.     public function setTagsDefault(?string $tagsDefault): static
  1319.     {
  1320.         $this->tagsDefault $tagsDefault;
  1321.         return $this;
  1322.     }
  1323.     public function getResumeRecruiterDefault(): ?string
  1324.     {
  1325.         return $this->resumeRecruiterDefault;
  1326.     }
  1327.     public function setResumeRecruiterDefault(?string $resumeRecruiterDefault): static
  1328.     {
  1329.         $this->resumeRecruiterDefault $resumeRecruiterDefault;
  1330.         return $this;
  1331.     }
  1332.     public function getTitlejobDefault(): ?string
  1333.     {
  1334.         return $this->titlejobDefault;
  1335.     }
  1336.     public function setTitlejobDefault(?string $titlejobDefault): static
  1337.     {
  1338.         $this->titlejobDefault $titlejobDefault;
  1339.         return $this;
  1340.     }
  1341.     public function getPresentationDefault(): ?string
  1342.     {
  1343.         return $this->presentationDefault;
  1344.     }
  1345.     public function setPresentationDefault(?string $presentationDefault): static
  1346.     {
  1347.         $this->presentationDefault $presentationDefault;
  1348.         return $this;
  1349.     }
  1350.     public function getFuturTitlejobDefault(): ?string
  1351.     {
  1352.         return $this->futurTitlejobDefault;
  1353.     }
  1354.     public function setFuturTitlejobDefault(?string $futurTitlejobDefault): static
  1355.     {
  1356.         $this->futurTitlejobDefault $futurTitlejobDefault;
  1357.         return $this;
  1358.     }
  1359.     public function getSectorDefault(): ?string
  1360.     {
  1361.         return $this->sectorDefault;
  1362.     }
  1363.     public function setSectorDefault(?string $sectorDefault): static
  1364.     {
  1365.         $this->sectorDefault $sectorDefault;
  1366.         return $this;
  1367.     }
  1368.     public function getVideoDefaultUrl(): ?string
  1369.     {
  1370.         return $this->videoDefaultUrl;
  1371.     }
  1372.     public function setVideoDefaultUrl(?string $videoDefaultUrl): static
  1373.     {
  1374.         $this->videoDefaultUrl $videoDefaultUrl;
  1375.         return $this;
  1376.     }
  1377.     public function getStatusSearch(): ?string
  1378.     {
  1379.         return $this->statusSearch;
  1380.     }
  1381.     public function setStatusSearch(?string $statusSearch): static
  1382.     {
  1383.         $this->statusSearch $statusSearch;
  1384.         return $this;
  1385.     }
  1386.     public function getAvailability(): ?string
  1387.     {
  1388.         return $this->availability;
  1389.     }
  1390.     public function setAvailability(?string $availability): static
  1391.     {
  1392.         $this->availability $availability;
  1393.         return $this;
  1394.     }
  1395.     public function getResumeProjectsFr(): ?string
  1396.     {
  1397.         return $this->resumeProjectsFr;
  1398.     }
  1399.     public function setResumeProjectsFr(?string $resumeProjectsFr): static
  1400.     {
  1401.         $this->resumeProjectsFr $resumeProjectsFr;
  1402.         return $this;
  1403.     }
  1404.     public function getResumeProjectsEn(): ?string
  1405.     {
  1406.         return $this->resumeProjectsEn;
  1407.     }
  1408.     public function setResumeProjectsEn(?string $resumeProjectsEn): static
  1409.     {
  1410.         $this->resumeProjectsEn $resumeProjectsEn;
  1411.         return $this;
  1412.     }
  1413.     public function getResumeProjectsDefault(): ?string
  1414.     {
  1415.         return $this->resumeProjectsDefault;
  1416.     }
  1417.     public function setResumeProjectsDefault(?string $resumeProjectsDefault): static
  1418.     {
  1419.         $this->resumeProjectsDefault $resumeProjectsDefault;
  1420.         return $this;
  1421.     }
  1422.     public function getResumeExpFr(): ?string
  1423.     {
  1424.         return $this->resumeExpFr;
  1425.     }
  1426.     public function setResumeExpFr(?string $resumeExpFr): static
  1427.     {
  1428.         $this->resumeExpFr $resumeExpFr;
  1429.         return $this;
  1430.     }
  1431.     public function getResumeExpEn(): ?string
  1432.     {
  1433.         return $this->resumeExpEn;
  1434.     }
  1435.     public function setResumeExpEn(?string $resumeExpEn): static
  1436.     {
  1437.         $this->resumeExpEn $resumeExpEn;
  1438.         return $this;
  1439.     }
  1440.     public function getResumeExpDefault(): ?string
  1441.     {
  1442.         return $this->resumeExpDefault;
  1443.     }
  1444.     public function setResumeExpDefault(?string $resumeExpDefault): static
  1445.     {
  1446.         $this->resumeExpDefault $resumeExpDefault;
  1447.         return $this;
  1448.     }
  1449.     public function getFormAiAnalysis(): ?string
  1450.     {
  1451.         return $this->formAiAnalysis;
  1452.     }
  1453.     public function setFormAiAnalysis(?string $formAiAnalysis): self
  1454.     {
  1455.         $this->formAiAnalysis $formAiAnalysis;
  1456.         return $this;
  1457.     }
  1458.     public function getFormAiAnalysisStatus(): ?string
  1459.     {
  1460.         return $this->formAiAnalysisStatus;
  1461.     }
  1462.     public function setFormAiAnalysisStatus(?string $status): self
  1463.     {
  1464.         $this->formAiAnalysisStatus $status;
  1465.         return $this;
  1466.     }
  1467.     public function getFormAiAnalysisUpdatedAt(): ?\DateTimeInterface
  1468.     {
  1469.         return $this->formAiAnalysisUpdatedAt;
  1470.     }
  1471.     public function setFormAiAnalysisUpdatedAt(?\DateTimeInterface $d): self
  1472.     {
  1473.         $this->formAiAnalysisUpdatedAt $d;
  1474.         return $this;
  1475.     }
  1476.     public function getCvData(): ?string
  1477.     {
  1478.         return $this->cvData;
  1479.     }
  1480.     public function setCvData(?string $cvData): self
  1481.     {
  1482.         $this->cvData $cvData;
  1483.         return $this;
  1484.     }
  1485.     public function getCvSettings(): ?string
  1486.     {
  1487.         return $this->cvSettings;
  1488.     }
  1489.     public function setCvSettings(?string $cvSettings): self
  1490.     {
  1491.         $this->cvSettings $cvSettings;
  1492.         return $this;
  1493.     }
  1494.     public function getCvPdfPath(): ?string
  1495.     {
  1496.         return $this->cvPdfPath;
  1497.     }
  1498.     public function setCvPdfPath(?string $cvPdfPath): self
  1499.     {
  1500.         $this->cvPdfPath $cvPdfPath;
  1501.         return $this;
  1502.     }
  1503. }