@thejob/schema 2.0.1 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -15,8 +15,34 @@ var CompletenessScoreSchema = (minScore = 50) => object().shape({
15
15
  totalSteps: number().min(0).default(0).label("Total Steps"),
16
16
  completedSteps: number().min(0).default(0).label("Completed Steps")
17
17
  });
18
+ var UserIdAndCreatedAtSchema = object().shape({
19
+ userId: string().required().label("User Id"),
20
+ createdAt: string().required().label("Created At")
21
+ });
18
22
 
19
23
  // src/common/common.constant.ts
24
+ var Common = /* @__PURE__ */ ((Common2) => {
25
+ Common2["Yes"] = "yes";
26
+ Common2["No"] = "no";
27
+ Common2["DateRangeOption"] = "date_range_option";
28
+ Common2["ExperienceLevel"] = "experience_level";
29
+ Common2["Company"] = "company";
30
+ Common2["EmploymentType"] = "employment_type";
31
+ Common2["WorkMode"] = "work_mode";
32
+ Common2["Location"] = "location";
33
+ Common2["CareerLevel"] = "career_level";
34
+ Common2["Category"] = "category";
35
+ Common2["Designation"] = "designation";
36
+ Common2["EducationLevel"] = "education_level";
37
+ Common2["Language"] = "language";
38
+ Common2["Skill"] = "skill";
39
+ return Common2;
40
+ })(Common || {});
41
+ var EMPTY_STRING = "eMpTyStRiNg";
42
+ var SYSTEM_DATE_FORMAT = "YYYY-MM-DD";
43
+ var DISPLAY_DATE_FORMAT = "LL";
44
+ var DISPLAY_DATE_FORMAT_SHORT = "MMMM, YYYY";
45
+ var SITEMAP_FORMAT = "YYYY-MM-DDThh:mm:ssZ";
20
46
  var StudyType = /* @__PURE__ */ ((StudyType2) => {
21
47
  StudyType2["FullTime"] = "full_time";
22
48
  StudyType2["PartTime"] = "part_time";
@@ -198,6 +224,9 @@ var GroupMembershipSchema = object3({
198
224
  updatedAt: number2().optional().label("Updated At")
199
225
  });
200
226
 
227
+ // src/job/job.schema.ts
228
+ import { array as array8, boolean as boolean9, lazy, mixed as mixed3, number as number5, object as object16, string as string13 } from "yup";
229
+
201
230
  // src/location/location.schema.ts
202
231
  import { array as array2, number as number3, object as object4, string as string3 } from "yup";
203
232
  var LocationSchema = object4({
@@ -376,15 +405,302 @@ var PageSchema = object10().shape({
376
405
  followersCount: number4().min(0).optional().label("Followers Count")
377
406
  }).concat(CompanySchema).concat(InstituteSchema).concat(DbDefaultSchema).noUnknown(true).strict(true).required().label("Page Schema");
378
407
 
408
+ // src/skill/skill.schema.ts
409
+ import { array as array6, object as object11, string as string8 } from "yup";
410
+ var SkillSchema = object11({
411
+ name: string8().trim().required().label("Skill Name"),
412
+ logo: object11({
413
+ light: string8().required().label("Light Logo"),
414
+ dark: string8().optional().nullable().label("Dark Logo")
415
+ }).optional().nullable().default(null).label("Logo"),
416
+ tags: array6().of(string8().max(50)).max(20).optional().label("Tags")
417
+ }).concat(DbDefaultSchema).noUnknown().strict().label("Skill");
418
+
419
+ // src/question/question.constant.ts
420
+ var QuestionType = /* @__PURE__ */ ((QuestionType2) => {
421
+ QuestionType2["Input"] = "input";
422
+ QuestionType2["Choice"] = "choice";
423
+ QuestionType2["ReadAndAcknowledge"] = "readAndAcknowledge";
424
+ return QuestionType2;
425
+ })(QuestionType || {});
426
+ var SupportedQuestionTypes = Object.values(QuestionType);
427
+ var AnswerChoiceType = /* @__PURE__ */ ((AnswerChoiceType2) => {
428
+ AnswerChoiceType2["Single"] = "single";
429
+ AnswerChoiceType2["Multiple"] = "multiple";
430
+ return AnswerChoiceType2;
431
+ })(AnswerChoiceType || {});
432
+ var SupportedAnswerChoiceTypes = Object.values(AnswerChoiceType);
433
+
434
+ // src/question/question.schema.ts
435
+ import { boolean as boolean8, object as object12, string as string9 } from "yup";
436
+ var QuestionSchema = object12().shape({
437
+ label: string9().max(50).optional().label("Label"),
438
+ default: boolean8().optional().default(false).label("Default"),
439
+ title: string9().required().max(200).label("Title"),
440
+ type: string9().oneOf(SupportedQuestionTypes).required().label("Type"),
441
+ isOptional: boolean8().optional().label("Mark if the question is optional"),
442
+ readonly: boolean8().optional().label("Readonly"),
443
+ isNew: boolean8().optional().label("Is New")
444
+ });
445
+
446
+ // src/question/input-question.schema.ts
447
+ import { object as object13, string as string10 } from "yup";
448
+ var InputQuestionSchema = QuestionSchema.concat(
449
+ object13().shape({
450
+ type: string10().oneOf(["input" /* Input */]).required().label("Question type"),
451
+ preferredAnswer: string10().max(100).optional().label("Preferred Answer"),
452
+ answers: string10().max(500).when("isOptional", {
453
+ is: (isOptional) => Boolean(isOptional),
454
+ then: (schema) => schema.optional(),
455
+ otherwise: (schema) => schema.required()
456
+ }).label("Answer")
457
+ })
458
+ );
459
+
460
+ // src/question/choice-question.schema.ts
461
+ import { array as array7, mixed as mixed2, object as object14, string as string11 } from "yup";
462
+ var ChoicePreferredAnswerSchema = (label = "Preferred answer") => mixed2().when("answerChoiceType", {
463
+ is: (value) => value === "multiple" /* Multiple */,
464
+ then: () => array7(string11()).test(
465
+ "is-valid-option",
466
+ `${label} must be from the provided options`,
467
+ function(answer) {
468
+ const { options = [] } = this.parent;
469
+ if (answer && answer.length > 0) {
470
+ return answer.every((a) => options.includes(a));
471
+ }
472
+ return true;
473
+ }
474
+ ).optional().label(label),
475
+ otherwise: () => string11().test(
476
+ "is-valid-option",
477
+ `${label} must be from the provided options`,
478
+ function(answer) {
479
+ const { options = [] } = this.parent;
480
+ return !answer || options.includes(answer);
481
+ }
482
+ ).optional().label(label)
483
+ });
484
+ var getChoiceAnswerSchema = (answerChoiceType, isOptional) => {
485
+ if (answerChoiceType === "multiple" /* Multiple */) {
486
+ const multiAnswerSchema = array7(string11().max(500));
487
+ return isOptional ? multiAnswerSchema.optional().default([]) : multiAnswerSchema.min(1, "Select at least one option.").required("Select at least one option.").default([]);
488
+ }
489
+ const singleAnswerSchema = string11().max(500);
490
+ return isOptional ? singleAnswerSchema.optional() : singleAnswerSchema.required("Select an option.");
491
+ };
492
+ var ChoiceQuestionSchema = QuestionSchema.concat(
493
+ object14().shape({
494
+ type: string11().oneOf(["choice" /* Choice */]).required().label("Question type"),
495
+ optionsFrom: string11().oneOf(["skill" /* Skill */, "education_level" /* EducationLevel */, "experience_level" /* ExperienceLevel */]).optional().label("Option field"),
496
+ options: array7(string11().required()).min(1).required().label("Options"),
497
+ answerChoiceType: string11().oneOf(SupportedAnswerChoiceTypes).required().default("single" /* Single */).label("Type"),
498
+ preferredAnswer: ChoicePreferredAnswerSchema("Preferred answer"),
499
+ answers: mixed2().when(
500
+ ["answerChoiceType", "isOptional"],
501
+ ([answerChoiceType, isOptional]) => getChoiceAnswerSchema(answerChoiceType, isOptional)
502
+ )
503
+ })
504
+ );
505
+
506
+ // src/question/read-and-acknowledge.schema.ts
507
+ import { object as object15, string as string12 } from "yup";
508
+ var AcknowledgeAnswerSchema = string12().oneOf(["yes" /* Yes */, "no" /* No */]).required("This question must be acknowledged.");
509
+ var ReadAndAcknowledgeQuestionSchema = QuestionSchema.concat(
510
+ object15().shape({
511
+ type: string12().oneOf(["readAndAcknowledge" /* ReadAndAcknowledge */]).required().label("Question type"),
512
+ description: string12().max(1e4).required().label("Content"),
513
+ preferredAnswer: AcknowledgeAnswerSchema.label("Preferred Answer"),
514
+ answers: AcknowledgeAnswerSchema.label("Answer")
515
+ })
516
+ );
517
+
518
+ // src/question/question.utils.ts
519
+ var getSchemaByQuestion = (type) => {
520
+ switch (type) {
521
+ case "input" /* Input */:
522
+ return InputQuestionSchema;
523
+ case "choice" /* Choice */:
524
+ return ChoiceQuestionSchema;
525
+ case "readAndAcknowledge" /* ReadAndAcknowledge */:
526
+ return ReadAndAcknowledgeQuestionSchema;
527
+ default:
528
+ throw new Error("Unsupported schema: " + type);
529
+ }
530
+ };
531
+
532
+ // src/job/job.constant.ts
533
+ var JobStatus = /* @__PURE__ */ ((JobStatus2) => {
534
+ JobStatus2["Published"] = "published";
535
+ JobStatus2["Draft"] = "draft";
536
+ JobStatus2["Deleted"] = "deleted";
537
+ JobStatus2["Closed"] = "closed";
538
+ JobStatus2["Expired"] = "expired";
539
+ return JobStatus2;
540
+ })(JobStatus || {});
541
+ var SupportedJobStatuses = Object.values(JobStatus);
542
+ var EmploymentType = /* @__PURE__ */ ((EmploymentType2) => {
543
+ EmploymentType2["Fulltime"] = "full_time";
544
+ EmploymentType2["PartTime"] = "part_time";
545
+ EmploymentType2["Temporary"] = "temporary";
546
+ EmploymentType2["Contract"] = "contract";
547
+ EmploymentType2["Internship"] = "internship";
548
+ EmploymentType2["Freelance"] = "freelance";
549
+ EmploymentType2["Volunteer"] = "volunteer";
550
+ EmploymentType2["PerDiem"] = "per_diem";
551
+ return EmploymentType2;
552
+ })(EmploymentType || {});
553
+ var SupportedEmploymentTypes = Object.values(EmploymentType);
554
+ var WorkMode = /* @__PURE__ */ ((WorkMode2) => {
555
+ WorkMode2["OnSite"] = "on_site";
556
+ WorkMode2["Hybrid"] = "hybrid";
557
+ WorkMode2["Remote"] = "remote";
558
+ return WorkMode2;
559
+ })(WorkMode || {});
560
+ var SupportedWorkModes = Object.values(WorkMode);
561
+ var CompensationType = /* @__PURE__ */ ((CompensationType2) => {
562
+ CompensationType2["Hourly"] = "hourly";
563
+ CompensationType2["Weekly"] = "weekly";
564
+ CompensationType2["Monthly"] = "monthly";
565
+ CompensationType2["Yearly"] = "yearly";
566
+ CompensationType2["OneTime"] = "one-time";
567
+ CompensationType2["Other"] = "other";
568
+ return CompensationType2;
569
+ })(CompensationType || {});
570
+ var SupportedCompensationTypes = Object.values(CompensationType);
571
+ var EmployeeCount = /* @__PURE__ */ ((EmployeeCount2) => {
572
+ EmployeeCount2["_1_2"] = "1_2_employees";
573
+ EmployeeCount2["_3_10"] = "3_10_employees";
574
+ EmployeeCount2["_11_100"] = "11_100_employees";
575
+ EmployeeCount2["_101_1000"] = "101_1000_employees";
576
+ EmployeeCount2["_1001_5000"] = "1001_5000_employees";
577
+ EmployeeCount2["_5001_10000"] = "5001_10000_employees";
578
+ EmployeeCount2["_10001_Plus"] = "10001_plus_employees";
579
+ return EmployeeCount2;
580
+ })(EmployeeCount || {});
581
+ var SupportedEmployeeCounts = Object.values(EmployeeCount);
582
+ var ApplicationReceivePreference = /* @__PURE__ */ ((ApplicationReceivePreference2) => {
583
+ ApplicationReceivePreference2["Inbox"] = "inbox";
584
+ ApplicationReceivePreference2["Email"] = "email";
585
+ ApplicationReceivePreference2["ExternalWebsite"] = "external_website";
586
+ return ApplicationReceivePreference2;
587
+ })(ApplicationReceivePreference || {});
588
+ var SupportedApplicationReceivePreferences = Object.values(
589
+ ApplicationReceivePreference
590
+ );
591
+
592
+ // src/job/job.schema.ts
593
+ var JobSchema = object16({
594
+ /** Unique id usable by external systems to reference the job. */
595
+ uniqueId: string13().optional().label("Unique ID"),
596
+ /** Job title shown in listings and search. */
597
+ headline: string13().required().min(5).max(150).label("Headline"),
598
+ /** User-friendly, unique URL identifier. */
599
+ slug: string13().required().max(250).label("Slug"),
600
+ /** How applications are received (inbox vs external website). */
601
+ applicationReceivePreference: mixed3().oneOf([
602
+ "inbox" /* Inbox */,
603
+ "external_website" /* ExternalWebsite */
604
+ ]).required().label("Preference"),
605
+ /** Required when applicationReceivePreference is ExternalWebsite. */
606
+ externalApplyLink: string13().when("applicationReceivePreference", {
607
+ is: (value) => value === "external_website" /* ExternalWebsite */,
608
+ then: (schema) => schema.url().required().label("Apply for Job link"),
609
+ otherwise: (schema) => schema.optional()
610
+ }),
611
+ /** Company the job belongs to (subset of PageSchema). */
612
+ company: PageSchema.pick(["name", "slug", "type", "logo"]).deepPartial().concat(PageSchema.pick(["name", "type"])).required().label("Company"),
613
+ /** @deprecated kept for backwards compatibility. */
614
+ designation: string13().optional().nullable().label("Designation"),
615
+ employmentType: string13().required().label("Employment type"),
616
+ workMode: string13().required().label("Work mode"),
617
+ skills: array8().of(SkillSchema.pick(["name", "logo"]).required().label("Skill")).nullable().optional().label("Skills"),
618
+ bookmarks: array8().of(UserIdAndCreatedAtSchema).optional().label("Bookmarks"),
619
+ embedding: object16({
620
+ vector: array8(number5().required()).optional().label("Embedding vector"),
621
+ model: string13().optional().label("Embedding model")
622
+ }).nullable().optional().label("Embedding"),
623
+ applicants: array8().of(UserIdAndCreatedAtSchema).optional().label("Applicants"),
624
+ applicantCount: number5().optional().label("Applicant count"),
625
+ externalApplicationLinkClickCount: number5().optional().label("External application link click count"),
626
+ description: string13().required().min(100).max(5e4).label("Description"),
627
+ descriptionMarkdown: string13().required().label("Description Markdown"),
628
+ descriptionHTML: string13().optional().label("Description HTML"),
629
+ /**
630
+ * Job locations. Required even for remote roles (compliance/legal). Defaults
631
+ * to an empty array; min(1) is intentionally not enforced yet.
632
+ */
633
+ locations: array8().of(LocationSchema).default([]).label("Location"),
634
+ educationLevel: array8(string13().oneOf(SupportedEducationLevels)).required().min(1).label("Educational level"),
635
+ /** Posting validity window (start/expiry). */
636
+ validity: DurationSchema({
637
+ format: SYSTEM_DATE_FORMAT,
638
+ startLabel: "Start Date",
639
+ endLabel: "Expiry Date"
640
+ }).label("Validity"),
641
+ experienceLevel: string13().oneOf(SupportedExperienceLevels).nullable().optional().label("Experience level"),
642
+ contactEmail: string13().email().nullable().optional().label("Contact email"),
643
+ workingHoursPerWeek: number5().nullable().optional().min(1).max(24 * 7).label("Working hours per week"),
644
+ tags: array8().max(50).optional().label("Tags"),
645
+ /** Direct/Quick-apply questionnaire. Each item is validated against the
646
+ * concrete question schema for its `type`, with the stored `answers` omitted. */
647
+ questionnaire: array8().of(
648
+ lazy((question) => {
649
+ const schema = getSchemaByQuestion(question.type);
650
+ if (question.type === "input" /* Input */) {
651
+ return schema.omit([
652
+ "answers"
653
+ ]);
654
+ } else if (question.type === "choice" /* Choice */) {
655
+ return schema.omit([
656
+ "answers"
657
+ ]);
658
+ } else if (question.type === "readAndAcknowledge" /* ReadAndAcknowledge */) {
659
+ return schema.omit(["answers"]);
660
+ }
661
+ return schema;
662
+ })
663
+ ).label("Questionnaire"),
664
+ status: string13().oneOf(SupportedJobStatuses).default("draft" /* Draft */).required().label("Status"),
665
+ seoTags: object16({
666
+ description: string13().optional().label("Description"),
667
+ keywords: array8().of(string13()).optional().label("Keywords")
668
+ }).nullable().optional().label("SEO Tags"),
669
+ jdSummary: string13().optional().label("JD Summary"),
670
+ canCreateAlert: boolean9().optional().label("Can create alert"),
671
+ canDirectApply: boolean9().optional().label("Can direct apply"),
672
+ hasApplied: boolean9().optional().label("Has applied"),
673
+ isOwner: boolean9().optional().label("Is owner"),
674
+ hasBookmarked: boolean9().optional().label("Has bookmarked"),
675
+ hasReported: boolean9().optional().label("Has reported"),
676
+ ratePerHour: number5().optional().min(0).label("Rate per hour"),
677
+ isPromoted: boolean9().optional().label("Is promoted"),
678
+ salaryRange: object16({
679
+ currency: string13().required().label("Currency").default("USD"),
680
+ min: number5().nullable().optional().min(0).label("Minimum Salary"),
681
+ max: number5().nullable().optional().min(0).label("Maximum Salary"),
682
+ compensationType: string13().oneOf(SupportedCompensationTypes).nullable().optional().label("Compensation Type"),
683
+ isNegotiable: boolean9().nullable().optional().default(true).label("Is Negotiable")
684
+ }).nullable().optional().label("Salary Range"),
685
+ reports: array8().of(UserIdAndCreatedAtSchema).optional().label("Reports"),
686
+ category: string13().nullable().optional().label("Category"),
687
+ industry: string13().nullable().optional().label("Industry"),
688
+ subCategories: array8().of(string13().trim().required()).nullable().optional().label("Sub Categories"),
689
+ termsAccepted: boolean9().oneOf([true], "Accept terms before proceeding").required("Accept terms before proceeding").label("Terms accepted"),
690
+ isFeatured: boolean9().optional().default(false).label("Is featured"),
691
+ /** Market country codes to feature this job in; empty = global. */
692
+ featuredMarkets: array8().of(string13().required()).optional().default([]).label("Featured markets")
693
+ }).concat(DbDefaultSchema).noUnknown().label("Job");
694
+
379
695
  // src/pagination/pagination.schema.ts
380
- import { number as number5, object as object11, string as string8 } from "yup";
381
- var PaginationSchema = object11().shape({
382
- page: number5().required().min(1).label("Page").default(1),
383
- limit: number5().required().min(1).max(100).label("Limit").default(10),
384
- sortBy: string8().notOneOf([""]).optional().label("SortBy"),
385
- nextPage: string8().optional().label("Next Page Token"),
386
- prevPage: string8().optional().label("Previous Page Token"),
387
- sortDirection: string8().oneOf(["asc", "desc"]).optional().label("Sort Direction")
696
+ import { number as number6, object as object17, string as string14 } from "yup";
697
+ var PaginationSchema = object17().shape({
698
+ page: number6().required().min(1).label("Page").default(1),
699
+ limit: number6().required().min(1).max(100).label("Limit").default(10),
700
+ sortBy: string14().notOneOf([""]).optional().label("SortBy"),
701
+ nextPage: string14().optional().label("Next Page Token"),
702
+ prevPage: string14().optional().label("Previous Page Token"),
703
+ sortDirection: string14().oneOf(["asc", "desc"]).optional().label("Sort Direction")
388
704
  });
389
705
 
390
706
  // src/pagination/pagination.constant.ts
@@ -400,7 +716,7 @@ var DefaultPaginationOptions = {
400
716
  };
401
717
 
402
718
  // src/report/report.schema.ts
403
- import { mixed as mixed2, object as object12, string as string9 } from "yup";
719
+ import { mixed as mixed4, object as object18, string as string15 } from "yup";
404
720
 
405
721
  // src/report/report.constant.ts
406
722
  var ResourceType = /* @__PURE__ */ ((ResourceType3) => {
@@ -424,26 +740,15 @@ var ReportReason = /* @__PURE__ */ ((ReportReason3) => {
424
740
  var SupportedReportReasons = Object.values(ReportReason);
425
741
 
426
742
  // src/report/report.schema.ts
427
- var ReportSchema = object12({
428
- type: mixed2().oneOf(SupportedResourceTypes).required().label("Type"),
429
- resourceId: string9().required().label("Resource ID"),
430
- reason: mixed2().oneOf(SupportedReportReasons).required("Please choose a reason").label("Reason"),
431
- comment: string9().max(1e3).optional().label("Comment")
743
+ var ReportSchema = object18({
744
+ type: mixed4().oneOf(SupportedResourceTypes).required().label("Type"),
745
+ resourceId: string15().required().label("Resource ID"),
746
+ reason: mixed4().oneOf(SupportedReportReasons).required("Please choose a reason").label("Reason"),
747
+ comment: string15().max(1e3).optional().label("Comment")
432
748
  }).label("Report Schema");
433
749
 
434
- // src/skill/skill.schema.ts
435
- import { array as array6, object as object13, string as string10 } from "yup";
436
- var SkillSchema = object13({
437
- name: string10().trim().required().label("Skill Name"),
438
- logo: object13({
439
- light: string10().required().label("Light Logo"),
440
- dark: string10().optional().nullable().label("Dark Logo")
441
- }).optional().nullable().default(null).label("Logo"),
442
- tags: array6().of(string10().max(50)).max(20).optional().label("Tags")
443
- }).concat(DbDefaultSchema).noUnknown().strict().label("Skill");
444
-
445
750
  // src/user/user.schema.ts
446
- import { array as array10, number as number7, object as object25, string as string23 } from "yup";
751
+ import { array as array12, number as number8, object as object30, string as string28 } from "yup";
447
752
 
448
753
  // src/user/user.constant.ts
449
754
  var UserRole = /* @__PURE__ */ ((UserRole2) => {
@@ -525,51 +830,51 @@ var MIN_SALARY_LOWER_BOUND = 0;
525
830
  var MIN_SALARY_UPPER_BOUND = 1e6;
526
831
 
527
832
  // src/user/work-experience.schema.ts
528
- import { boolean as boolean8, object as object14, string as string11 } from "yup";
529
- var WorkExperienceSchema = object14().shape({
833
+ import { boolean as boolean10, object as object19, string as string16 } from "yup";
834
+ var WorkExperienceSchema = object19().shape({
530
835
  company: PageSchema.pick(["name", "slug", "type", "logo"]).deepPartial().concat(PageSchema.pick(["name", "type"])).required().label("Company"),
531
- designation: string11().trim().required().label("Designation"),
836
+ designation: string16().trim().required().label("Designation"),
532
837
  duration: DurationSchema({
533
838
  format: "YYYY-MM",
534
839
  startLabel: "Start Date",
535
840
  endLabel: "End Date"
536
841
  }).required().label("Duration"),
537
- description: string11().trim().max(3e3).optional().label("Description"),
842
+ description: string16().trim().max(3e3).optional().label("Description"),
538
843
  location: LocationSchema.required().label("Location"),
539
- isRemote: boolean8().oneOf([true, false]).default(false).label("Is Remote")
844
+ isRemote: boolean10().oneOf([true, false]).default(false).label("Is Remote")
540
845
  }).noUnknown().strict().label("Work Experience");
541
846
 
542
847
  // src/user/education.schema.ts
543
- import { boolean as boolean9, object as object15, string as string12 } from "yup";
544
- var EducationSchema = object15({
848
+ import { boolean as boolean11, object as object20, string as string17 } from "yup";
849
+ var EducationSchema = object20({
545
850
  institute: PageSchema.pick(["name", "slug", "type", "logo"]).deepPartial().concat(PageSchema.pick(["name", "type"])).required().label("Institute"),
546
- course: string12().trim().required().label("Course"),
547
- fieldOfStudy: string12().trim().required().label("Field of Study"),
851
+ course: string17().trim().required().label("Course"),
852
+ fieldOfStudy: string17().trim().required().label("Field of Study"),
548
853
  duration: DurationSchema({
549
854
  format: "YYYY-MM",
550
855
  startLabel: "Start Date",
551
856
  endLabel: "End Date"
552
857
  }).required().label("Duration"),
553
- description: string12().trim().max(3e3).optional().label("Description"),
554
- isDistanceLearning: boolean9().default(false).label("Is Distance Learning"),
858
+ description: string17().trim().max(3e3).optional().label("Description"),
859
+ isDistanceLearning: boolean11().default(false).label("Is Distance Learning"),
555
860
  location: LocationSchema.required().label("Location"),
556
- studyType: string12().oneOf(SupportedStudyTypes).trim().max(50).required().label("Study Type")
861
+ studyType: string17().oneOf(SupportedStudyTypes).trim().max(50).required().label("Study Type")
557
862
  }).noUnknown().strict().label("Education");
558
863
 
559
864
  // src/user/user-skill.schema.ts
560
- import { object as object16, string as string13 } from "yup";
561
- var UserSkillSchema = object16({
562
- name: string13().required().label("Name"),
563
- proficiencyLevel: string13().oneOf(SupportedProficiencyLevels).required().label("Proficiency Level"),
865
+ import { object as object21, string as string18 } from "yup";
866
+ var UserSkillSchema = object21({
867
+ name: string18().required().label("Name"),
868
+ proficiencyLevel: string18().oneOf(SupportedProficiencyLevels).required().label("Proficiency Level"),
564
869
  lastUsed: dateString().format("YYYY-MM").nullable().optional().label("Last Used")
565
870
  }).noUnknown().strict().label("Skill");
566
871
 
567
872
  // src/user/project.schema.ts
568
- import { object as object17, string as string14 } from "yup";
569
- var UserProjectSchema = object17({
570
- name: string14().trim().max(50).required().label("Name"),
571
- url: string14().optional().label("URL"),
572
- description: string14().trim().min(100).max(3e3).required().label("Description"),
873
+ import { object as object22, string as string19 } from "yup";
874
+ var UserProjectSchema = object22({
875
+ name: string19().trim().max(50).required().label("Name"),
876
+ url: string19().optional().label("URL"),
877
+ description: string19().trim().min(100).max(3e3).required().label("Description"),
573
878
  duration: DurationSchema({
574
879
  format: "YYYY-MM",
575
880
  startLabel: "Start Date",
@@ -578,83 +883,83 @@ var UserProjectSchema = object17({
578
883
  }).noUnknown().strict().label("Project");
579
884
 
580
885
  // src/user/user-certification.schema.ts
581
- import { object as object18, string as string15 } from "yup";
582
- var UserCertificationSchema = object18({
583
- name: string15().trim().max(100).required().label("Name"),
886
+ import { object as object23, string as string20 } from "yup";
887
+ var UserCertificationSchema = object23({
888
+ name: string20().trim().max(100).required().label("Name"),
584
889
  // TODO: Add validation for authority
585
- authority: string15().trim().max(100).required().label("Authority"),
586
- licenseNumber: string15().trim().max(50).optional().label("License Number"),
890
+ authority: string20().trim().max(100).required().label("Authority"),
891
+ licenseNumber: string20().trim().max(50).optional().label("License Number"),
587
892
  duration: DurationSchema({
588
893
  format: "YYYY-MM",
589
894
  startLabel: "Start Date",
590
895
  endLabel: "End Date"
591
896
  }).optional().nullable().label("Duration"),
592
- url: string15().optional().label("URL")
897
+ url: string20().optional().label("URL")
593
898
  }).noUnknown().strict().label("Certification");
594
899
 
595
900
  // src/user/user-interest.schema.ts
596
- import { string as string16 } from "yup";
597
- var UserInterestSchema = string16().trim().required().label("Interest");
901
+ import { string as string21 } from "yup";
902
+ var UserInterestSchema = string21().trim().required().label("Interest");
598
903
 
599
904
  // src/user/user-language.schema.ts
600
- import { object as object19, string as string17 } from "yup";
601
- var UserLanguageSchema = object19({
602
- name: string17().trim().required().label("Name"),
603
- proficiencyLevel: string17().oneOf(SupportedProficiencyLevels).trim().max(50).required().label("Proficiency Level")
905
+ import { object as object24, string as string22 } from "yup";
906
+ var UserLanguageSchema = object24({
907
+ name: string22().trim().required().label("Name"),
908
+ proficiencyLevel: string22().oneOf(SupportedProficiencyLevels).trim().max(50).required().label("Proficiency Level")
604
909
  }).noUnknown().strict().label("Language");
605
910
 
606
911
  // src/user/user-additional-info.schema.ts
607
- import { object as object20, string as string18 } from "yup";
608
- var UserAdditionalInfoSchema = object20({
609
- title: string18().trim().max(60).required().label("Title"),
610
- description: string18().trim().max(1e3).required().label("Description")
912
+ import { object as object25, string as string23 } from "yup";
913
+ var UserAdditionalInfoSchema = object25({
914
+ title: string23().trim().max(60).required().label("Title"),
915
+ description: string23().trim().max(1e3).required().label("Description")
611
916
  }).noUnknown().strict().label("User Additional Info");
612
917
 
613
918
  // src/user/general-detail.schema.ts
614
- import { object as object21, string as string19 } from "yup";
615
- var UserGeneralDetailSchema = object21({
616
- id: string19().optional().label("ID"),
617
- name: object21().shape({
618
- first: string19().trim().max(50).required().label("First Name"),
619
- last: string19().trim().max(50).optional().label("Last Name")
919
+ import { object as object26, string as string24 } from "yup";
920
+ var UserGeneralDetailSchema = object26({
921
+ id: string24().optional().label("ID"),
922
+ name: object26().shape({
923
+ first: string24().trim().max(50).required().label("First Name"),
924
+ last: string24().trim().max(50).optional().label("Last Name")
620
925
  }).required().label("Name"),
621
- headline: string19().trim().max(200).optional().label("Headline"),
622
- image: string19().optional().label("Image"),
623
- aboutMe: string19().trim().max(3e3).optional().label("About Me"),
624
- email: string19().required().label("Email"),
625
- mobile: string19().nullable().optional().label("Mobile"),
626
- emailVerified: string19().nullable().optional().label("Email Verified"),
627
- mobileVerified: string19().nullable().optional().label("Mobile Verified"),
628
- experienceLevel: string19().oneOf(SupportedExperienceLevels).required().label("Experience level"),
926
+ headline: string24().trim().max(200).optional().label("Headline"),
927
+ image: string24().optional().label("Image"),
928
+ aboutMe: string24().trim().max(3e3).optional().label("About Me"),
929
+ email: string24().required().label("Email"),
930
+ mobile: string24().nullable().optional().label("Mobile"),
931
+ emailVerified: string24().nullable().optional().label("Email Verified"),
932
+ mobileVerified: string24().nullable().optional().label("Mobile Verified"),
933
+ experienceLevel: string24().oneOf(SupportedExperienceLevels).required().label("Experience level"),
629
934
  location: LocationSchema.required().label("Location"),
630
- region: object21().shape({
631
- country: string19().trim().required().label("Region Country"),
632
- lang: string19().trim().required().label("Region Language")
935
+ region: object26().shape({
936
+ country: string24().trim().required().label("Region Country"),
937
+ lang: string24().trim().required().label("Region Language")
633
938
  }).optional().default(void 0).label("Region"),
634
- profileVisibility: string19().oneOf(SupportedUserProfileVisibilities).default("public" /* Public */).label("Profile Visibility")
939
+ profileVisibility: string24().oneOf(SupportedUserProfileVisibilities).default("public" /* Public */).label("Profile Visibility")
635
940
  }).noUnknown().strict().label("General Detail");
636
941
 
637
942
  // src/user/user-job-preferences.schema.ts
638
- import { array as array7, boolean as boolean10, date as date2, number as number6, object as object22, string as string20 } from "yup";
639
- var UserJobPreferencesSchema = object22({
943
+ import { array as array9, boolean as boolean12, date as date2, number as number7, object as object27, string as string25 } from "yup";
944
+ var UserJobPreferencesSchema = object27({
640
945
  /**
641
946
  * Whether the job seeker is openly signalling availability. Surfaces the
642
947
  * "Open to work" badge on the public profile and boosts visibility in
643
948
  * recruiter search. Defaults to `false` - users must opt in.
644
949
  */
645
- openToWork: boolean10().default(false).label("Open to Work"),
950
+ openToWork: boolean12().default(false).label("Open to Work"),
646
951
  /**
647
952
  * How urgently the user is looking for their next job. Drives match scoring
648
953
  * and can downgrade the visibility of expired or low-relevance postings for
649
954
  * users in `passively_browsing` mode.
650
955
  */
651
- jobSearchUrgency: string20().oneOf(SupportedJobSearchUrgencies).required().label("Job Search Urgency"),
956
+ jobSearchUrgency: string25().oneOf(SupportedJobSearchUrgencies).required().label("Job Search Urgency"),
652
957
  /**
653
958
  * Locations the user wants to work in. Stores the full `LocationSchema`
654
959
  * shape (country, city, state, geo, etc.) as returned by the locations
655
960
  * autocomplete API.
656
961
  */
657
- jobLocations: array7().of(LocationSchema.required().label("Job Location")).min(1, "Pick at least one preferred location.").required().label("Job Locations"),
962
+ jobLocations: array9().of(LocationSchema.required().label("Job Location")).min(1, "Pick at least one preferred location.").required().label("Job Locations"),
658
963
  /**
659
964
  * Seniority levels the user wants jobs to be matched against. Multi-select
660
965
  * (up to 2) for borderline candidates.
@@ -665,7 +970,7 @@ var UserJobPreferencesSchema = object22({
665
970
  * Both reuse the same `ExperienceLevel` taxonomy from `common.constant.ts`
666
971
  * so search/match logic doesn't have to translate between two vocabularies.
667
972
  */
668
- targetExperienceLevels: array7().of(string20().oneOf(SupportedExperienceLevels).required()).min(1, "Pick at least one experience level.").max(2, "You can select at most 2 experience levels.").required().label("Target Experience Levels"),
973
+ targetExperienceLevels: array9().of(string25().oneOf(SupportedExperienceLevels).required()).min(1, "Pick at least one experience level.").max(2, "You can select at most 2 experience levels.").required().label("Target Experience Levels"),
669
974
  /**
670
975
  * Specializations the user is searching for - free-form titles.
671
976
  *
@@ -674,19 +979,19 @@ var UserJobPreferencesSchema = object22({
674
979
  * surfaces a curated "Popular Roles" picker for discovery, but the user
675
980
  * can ultimately add any title; matching/normalization happens downstream.
676
981
  */
677
- jobRoles: array7().of(string20().trim().max(120).required()).min(1, "Pick at least one role.").required().label("Job Roles"),
982
+ jobRoles: array9().of(string25().trim().max(120).required()).min(1, "Pick at least one role.").required().label("Job Roles"),
678
983
  /**
679
984
  * Minimum acceptable annual base salary, in `minSalaryCurrency`.
680
985
  * Stored as an integer in the currency's major unit (e.g. dollars, not cents).
681
986
  * Defaults to 0 ("any salary") rather than being optional - every job-seeker
682
987
  * has a floor, even if it's zero.
683
988
  */
684
- minSalary: number6().integer().min(MIN_SALARY_LOWER_BOUND).max(MIN_SALARY_UPPER_BOUND).default(0).required().label("Minimum Salary"),
685
- minSalaryCurrency: string20().oneOf(SupportedSalaryCurrencies).default("USD").required().label("Minimum Salary Currency"),
989
+ minSalary: number7().integer().min(MIN_SALARY_LOWER_BOUND).max(MIN_SALARY_UPPER_BOUND).default(0).required().label("Minimum Salary"),
990
+ minSalaryCurrency: string25().oneOf(SupportedSalaryCurrencies).default("USD").required().label("Minimum Salary Currency"),
686
991
  /**
687
992
  * Marketing-attribution capture from the final onboarding step.
688
993
  */
689
- referralSource: string20().oneOf(SupportedReferralSources).required().label("Referral Source"),
994
+ referralSource: string25().oneOf(SupportedReferralSources).required().label("Referral Source"),
690
995
  /**
691
996
  * Resumes the user has uploaded. Embedded directly on the user document
692
997
  * (capped at 5) - they're cheap to denormalize, every wizard step that
@@ -700,18 +1005,18 @@ var UserJobPreferencesSchema = object22({
700
1005
  * AI resume-builder flow - onboarding uploads land here, AI-built resumes
701
1006
  * live in their own collection.
702
1007
  */
703
- resumes: array7().of(
704
- object22({
1008
+ resumes: array9().of(
1009
+ object27({
705
1010
  // Stable id assigned on upload - used to address a specific entry
706
1011
  // for delete / set-primary operations without exposing the GCS URL
707
1012
  // as a route key.
708
- id: string20().required().label("ID"),
709
- url: string20().required().label("Resume URL"),
710
- filename: string20().trim().max(255).optional().label("Filename"),
711
- sizeBytes: number6().integer().min(0).optional().label("Size (bytes)"),
712
- mimeType: string20().trim().max(120).optional().label("MIME Type"),
1013
+ id: string25().required().label("ID"),
1014
+ url: string25().required().label("Resume URL"),
1015
+ filename: string25().trim().max(255).optional().label("Filename"),
1016
+ sizeBytes: number7().integer().min(0).optional().label("Size (bytes)"),
1017
+ mimeType: string25().trim().max(120).optional().label("MIME Type"),
713
1018
  uploadedAt: date2().required().label("Uploaded At"),
714
- isPrimary: boolean10().default(false).label("Is Primary")
1019
+ isPrimary: boolean12().default(false).label("Is Primary")
715
1020
  }).noUnknown().strict().label("Resume")
716
1021
  ).max(5, "You can keep at most 5 resumes on file.").default([]).label("Resumes"),
717
1022
  /**
@@ -738,106 +1043,106 @@ var UserJobPreferencesSchema = object22({
738
1043
  * APIs. If `user.<field>` is empty there, the correct behavior is empty,
739
1044
  * because the user has not confirmed it yet.
740
1045
  */
741
- pendingPrefill: object22({
742
- headline: string20().trim().optional().label("Pending Headline"),
743
- aboutMe: string20().trim().optional().label("Pending About Me"),
744
- mobile: string20().trim().optional().label("Pending Mobile"),
1046
+ pendingPrefill: object27({
1047
+ headline: string25().trim().optional().label("Pending Headline"),
1048
+ aboutMe: string25().trim().optional().label("Pending About Me"),
1049
+ mobile: string25().trim().optional().label("Pending Mobile"),
745
1050
  location: LocationSchema.optional().default(void 0).label("Pending Location"),
746
- experienceLevel: string20().oneOf(SupportedExperienceLevels).optional().label("Pending Experience Level"),
747
- socialAccounts: array7().of(SocialAccountSchema.required()).optional().label("Pending Social Accounts"),
748
- workExperiences: array7().of(WorkExperienceSchema.required()).optional().label("Pending Work Experiences"),
749
- educations: array7().of(EducationSchema.required()).optional().label("Pending Educations")
1051
+ experienceLevel: string25().oneOf(SupportedExperienceLevels).optional().label("Pending Experience Level"),
1052
+ socialAccounts: array9().of(SocialAccountSchema.required()).optional().label("Pending Social Accounts"),
1053
+ workExperiences: array9().of(WorkExperienceSchema.required()).optional().label("Pending Work Experiences"),
1054
+ educations: array9().of(EducationSchema.required()).optional().label("Pending Educations")
750
1055
  }).nullable().optional().default(void 0).label("Pending Prefill")
751
1056
  }).noUnknown().strict().label("User Job Preferences Schema");
752
1057
 
753
1058
  // src/user/user-recruiter-profile.schema.ts
754
- import { array as array8, object as object23, string as string21 } from "yup";
755
- var RecruiterPageLinkSchema = object23({
1059
+ import { array as array10, object as object28, string as string26 } from "yup";
1060
+ var RecruiterPageLinkSchema = object28({
756
1061
  page: PageSchema.pick(["name", "slug", "type", "logo"]).deepPartial().concat(PageSchema.pick(["name", "type"])).required().label("Company Page"),
757
- jobTitle: string21().trim().max(100).optional().label("Job Title")
1062
+ jobTitle: string26().trim().max(100).optional().label("Job Title")
758
1063
  }).noUnknown().strict().label("Recruiter Page Link");
759
- var UserRecruiterProfileSchema = object23({
760
- recruiterProfile: object23({
761
- hiringFor: array8().of(RecruiterPageLinkSchema).default([]).label("Hiring For")
1064
+ var UserRecruiterProfileSchema = object28({
1065
+ recruiterProfile: object28({
1066
+ hiringFor: array10().of(RecruiterPageLinkSchema).default([]).label("Hiring For")
762
1067
  }).optional().default(void 0).label("Recruiter Profile")
763
1068
  }).noUnknown().strict().label("User Recruiter Profile");
764
1069
 
765
1070
  // src/user/user-coordinator-profile.schema.ts
766
- import { array as array9, object as object24, string as string22 } from "yup";
767
- var CoordinatorPageLinkSchema = object24({
1071
+ import { array as array11, object as object29, string as string27 } from "yup";
1072
+ var CoordinatorPageLinkSchema = object29({
768
1073
  page: PageSchema.pick(["name", "slug", "type", "logo"]).deepPartial().concat(PageSchema.pick(["name", "type"])).required().label("Institute Page"),
769
- jobTitle: string22().trim().max(100).optional().label("Job Title")
1074
+ jobTitle: string27().trim().max(100).optional().label("Job Title")
770
1075
  }).noUnknown().strict().label("Coordinator Page Link");
771
- var UserCoordinatorProfileSchema = object24({
772
- coordinatorProfile: object24({
773
- coordinatesAt: array9().of(CoordinatorPageLinkSchema).default([]).label("Coordinates At")
1076
+ var UserCoordinatorProfileSchema = object29({
1077
+ coordinatorProfile: object29({
1078
+ coordinatesAt: array11().of(CoordinatorPageLinkSchema).default([]).label("Coordinates At")
774
1079
  }).optional().default(void 0).label("Coordinator Profile")
775
1080
  }).noUnknown().strict().label("User Coordinator Profile");
776
1081
 
777
1082
  // src/user/user.schema.ts
778
- var UserSchema = object25({
1083
+ var UserSchema = object30({
779
1084
  /**
780
1085
  * Related auth account id from auth Server (e.g. Better auth https://auth.thejob.dev)
781
1086
  */
782
- authAccountId: string23().required().label("Auth Account ID"),
1087
+ authAccountId: string28().required().label("Auth Account ID"),
783
1088
  /**
784
1089
  * Social media information about the user (e.g. LinkedIn, GitHub, etc.)
785
1090
  */
786
- socialAccounts: array10().of(SocialAccountSchema).default([]).label("Social Accounts"),
1091
+ socialAccounts: array12().of(SocialAccountSchema).default([]).label("Social Accounts"),
787
1092
  /**
788
1093
  * Work experience information about the user
789
1094
  */
790
- workExperiences: array10().of(WorkExperienceSchema).required().default([]).label("Work Experiences"),
1095
+ workExperiences: array12().of(WorkExperienceSchema).required().default([]).label("Work Experiences"),
791
1096
  /**
792
1097
  * Education information about the user
793
1098
  */
794
- educations: array10().of(EducationSchema).required().default([]).label("Educations"),
1099
+ educations: array12().of(EducationSchema).required().default([]).label("Educations"),
795
1100
  /**
796
1101
  * Skills information about the user
797
1102
  */
798
- skills: array10().of(UserSkillSchema).required().default([]).label("Skills"),
1103
+ skills: array12().of(UserSkillSchema).required().default([]).label("Skills"),
799
1104
  /**
800
1105
  * Projects information about the user
801
1106
  */
802
- projects: array10().of(UserProjectSchema).default([]).label("Projects"),
1107
+ projects: array12().of(UserProjectSchema).default([]).label("Projects"),
803
1108
  /**
804
1109
  * Certifications information about the user
805
1110
  */
806
- certifications: array10().of(UserCertificationSchema).default([]).label("Certifications"),
1111
+ certifications: array12().of(UserCertificationSchema).default([]).label("Certifications"),
807
1112
  /**
808
1113
  * Interests information about the user.
809
1114
  */
810
- interests: array10().of(UserInterestSchema).optional().default([]).label("Interests"),
1115
+ interests: array12().of(UserInterestSchema).optional().default([]).label("Interests"),
811
1116
  /**
812
1117
  * Languages information about the user
813
1118
  */
814
- languages: array10().of(UserLanguageSchema).required().default([]).label("Languages"),
1119
+ languages: array12().of(UserLanguageSchema).required().default([]).label("Languages"),
815
1120
  /**
816
1121
  * Additional information about the user
817
1122
  */
818
- additionalInfo: array10().of(UserAdditionalInfoSchema).default([]).label("Additional Information"),
1123
+ additionalInfo: array12().of(UserAdditionalInfoSchema).default([]).label("Additional Information"),
819
1124
  /**
820
1125
  * Status of the user account
821
1126
  */
822
- status: string23().oneOf(SupportedUserStatuses).required().label("Status"),
1127
+ status: string28().oneOf(SupportedUserStatuses).required().label("Status"),
823
1128
  /**
824
1129
  * Roles assigned to the user
825
1130
  */
826
- roles: array10().of(string23().oneOf(SupportedUserRoles)).required().default(DefaultUserRoles).label("Roles"),
1131
+ roles: array12().of(string28().oneOf(SupportedUserRoles)).required().default(DefaultUserRoles).label("Roles"),
827
1132
  /**
828
1133
  * Vector embedding of the user's profile for semantic/hybrid search.
829
1134
  * Generated from a structured summary of skills, experience, education, etc.
830
1135
  * Only generated for public profiles with sufficient completeness (≥60%).
831
1136
  */
832
- embedding: object25({
833
- vector: array10(number7().required()).optional().label("Embedding vector"),
834
- model: string23().optional().label("Embedding model")
1137
+ embedding: object30({
1138
+ vector: array12(number8().required()).optional().label("Embedding vector"),
1139
+ model: string28().optional().label("Embedding model")
835
1140
  }).nullable().optional().label("Embedding")
836
1141
  }).concat(UserGeneralDetailSchema).concat(UserJobPreferencesSchema).concat(UserRecruiterProfileSchema).concat(UserCoordinatorProfileSchema).noUnknown().strict().label("User Schema");
837
1142
 
838
1143
  // src/user/user-completeness.schema.ts
839
- import { object as object26 } from "yup";
840
- var UserCompletenessSchema = object26({
1144
+ import { object as object31 } from "yup";
1145
+ var UserCompletenessSchema = object31({
841
1146
  additionalInfo: CompletenessScoreSchema(0).label("Additional Info"),
842
1147
  // Optional
843
1148
  certifications: CompletenessScoreSchema(0).label("Certifications"),
@@ -859,17 +1164,27 @@ var StudentCompletenessSchema = UserCompletenessSchema.omit([
859
1164
  "workExperiences" /* WorkExperiences */
860
1165
  ]);
861
1166
  export {
1167
+ AnswerChoiceType,
1168
+ ApplicationReceivePreference,
1169
+ ChoiceQuestionSchema,
1170
+ Common,
1171
+ CompensationType,
862
1172
  CompletenessScoreSchema,
863
1173
  ContactTypes,
864
1174
  CoordinatorPageLinkSchema,
1175
+ DISPLAY_DATE_FORMAT,
1176
+ DISPLAY_DATE_FORMAT_SHORT,
865
1177
  DateStringSchema,
866
1178
  DbDefaultSchema,
867
1179
  DefaultPaginatedResponse,
868
1180
  DefaultPaginationOptions,
869
1181
  DefaultUserRoles,
870
1182
  DurationSchema,
1183
+ EMPTY_STRING,
871
1184
  EducationLevel,
872
1185
  EducationSchema,
1186
+ EmployeeCount,
1187
+ EmploymentType,
873
1188
  ExperienceLevel,
874
1189
  GeneraDetailFields,
875
1190
  GroupManagedBy,
@@ -879,7 +1194,10 @@ export {
879
1194
  GroupStatus,
880
1195
  GroupTranslationSchema,
881
1196
  GroupVisibility,
1197
+ InputQuestionSchema,
1198
+ JobSchema,
882
1199
  JobSearchUrgency,
1200
+ JobStatus,
883
1201
  LocationSchema,
884
1202
  MIN_SALARY_LOWER_BOUND,
885
1203
  MIN_SALARY_UPPER_BOUND,
@@ -888,23 +1206,35 @@ export {
888
1206
  PageType,
889
1207
  PaginationSchema,
890
1208
  ProficiencyLevel,
1209
+ QuestionSchema,
1210
+ QuestionType,
1211
+ ReadAndAcknowledgeQuestionSchema,
891
1212
  RecruiterPageLinkSchema,
892
1213
  ReferralSource,
893
1214
  ReportReason,
894
1215
  ReportSchema,
895
1216
  ResourceType,
1217
+ SITEMAP_FORMAT,
1218
+ SYSTEM_DATE_FORMAT,
896
1219
  SkillSchema,
897
1220
  SocialAccount,
898
1221
  SocialAccountSchema,
899
1222
  StudentCompletenessSchema,
900
1223
  StudyType,
1224
+ SupportedAnswerChoiceTypes,
1225
+ SupportedApplicationReceivePreferences,
1226
+ SupportedCompensationTypes,
901
1227
  SupportedContactTypes,
902
1228
  SupportedEducationLevels,
1229
+ SupportedEmployeeCounts,
1230
+ SupportedEmploymentTypes,
903
1231
  SupportedExperienceLevels,
904
1232
  SupportedJobSearchUrgencies,
1233
+ SupportedJobStatuses,
905
1234
  SupportedPageStatuses,
906
1235
  SupportedPageTypes,
907
1236
  SupportedProficiencyLevels,
1237
+ SupportedQuestionTypes,
908
1238
  SupportedReferralSources,
909
1239
  SupportedReportReasons,
910
1240
  SupportedResourceTypes,
@@ -914,6 +1244,7 @@ export {
914
1244
  SupportedUserProfileVisibilities,
915
1245
  SupportedUserRoles,
916
1246
  SupportedUserStatuses,
1247
+ SupportedWorkModes,
917
1248
  TermsAcceptedSchema,
918
1249
  UserAdditionalInfoSchema,
919
1250
  UserCertificationSchema,
@@ -921,6 +1252,7 @@ export {
921
1252
  UserCoordinatorProfileSchema,
922
1253
  UserDetailType,
923
1254
  UserGeneralDetailSchema,
1255
+ UserIdAndCreatedAtSchema,
924
1256
  UserInterestSchema,
925
1257
  UserJobPreferencesSchema,
926
1258
  UserLanguageSchema,
@@ -932,5 +1264,7 @@ export {
932
1264
  UserSkillSchema,
933
1265
  UserStatus,
934
1266
  WorkExperienceSchema,
935
- dateString
1267
+ WorkMode,
1268
+ dateString,
1269
+ getSchemaByQuestion
936
1270
  };