@thejob/schema 2.0.4 → 2.0.6

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
@@ -681,6 +681,20 @@ var JobSchema = object16({
681
681
  keywords: array8().of(string13()).optional().label("Keywords")
682
682
  }).nullable().optional().label("SEO Tags"),
683
683
  jdSummary: string13().optional().label("JD Summary"),
684
+ /**
685
+ * Structured, model-extracted sections of the posting, re-organized into clean
686
+ * bullet points. This is our OWN unique presentation of the job (rendered as the
687
+ * primary, server-side page content) so the page adds value over the raw scraped
688
+ * description and is not penalized by Google as duplicate content. All sections
689
+ * optional: absent on jobs not yet (re-)enriched, and any section is `[]`/omitted
690
+ * when the posting genuinely has none.
691
+ */
692
+ jobHighlights: object16({
693
+ responsibilities: array8().of(string13()).optional().label("Responsibilities"),
694
+ requirements: array8().of(string13()).optional().label("Requirements"),
695
+ benefits: array8().of(string13()).optional().label("Benefits"),
696
+ qualifications: array8().of(string13()).optional().label("Qualifications")
697
+ }).nullable().optional().label("Job Highlights"),
684
698
  canCreateAlert: boolean9().optional().label("Can create alert"),
685
699
  canDirectApply: boolean9().optional().label("Can direct apply"),
686
700
  hasApplied: boolean9().optional().label("Has applied"),
@@ -697,6 +711,18 @@ var JobSchema = object16({
697
711
  isNegotiable: boolean9().nullable().optional().default(true).label("Is Negotiable")
698
712
  }).nullable().optional().label("Salary Range"),
699
713
  reports: array8().of(UserIdAndCreatedAtSchema).optional().label("Reports"),
714
+ // Taxonomy fields are constants (see job-taxonomy.constant.ts), stored as slugs and
715
+ // translated for display. They are deliberately NOT `oneOf`-constrained here: a value
716
+ // outside the taxonomy must be DROPPED, never a reason to reject the posting. Yup
717
+ // `oneOf` fails the whole object, so one stale subCategory would cost a user their
718
+ // entire job on the create/edit form, and a single drifted LLM value would bin an
719
+ // otherwise-good enriched job.
720
+ //
721
+ // Callers sanitize instead: jobs-service's sanitizeTaxonomy() coerces unknown values
722
+ // to null / filters them out of the array before validation. Taxonomies change over
723
+ // time (values get renamed, retired, added), so stored jobs will always outlive the
724
+ // enum — being lenient here is what lets the taxonomy evolve without a migration
725
+ // gate on every write.
700
726
  category: string13().nullable().optional().label("Category"),
701
727
  industry: string13().nullable().optional().label("Industry"),
702
728
  subCategories: array8().of(string13().trim().required()).nullable().optional().label("Sub Categories"),
@@ -706,15 +732,1175 @@ var JobSchema = object16({
706
732
  featuredMarkets: array8().of(string13().required()).optional().default([]).label("Featured markets")
707
733
  }).concat(DbDefaultSchema).noUnknown().label("Job");
708
734
 
735
+ // src/job/job-taxonomy.constant.ts
736
+ var JobCategory = /* @__PURE__ */ ((JobCategory2) => {
737
+ JobCategory2["TechnologyDataAndDigital"] = "technology_data_and_digital";
738
+ JobCategory2["HealthcareAndLifeSciences"] = "healthcare_and_life_sciences";
739
+ JobCategory2["AgricultureEnergyAndEnvironment"] = "agriculture_energy_and_environment";
740
+ JobCategory2["FinanceBankingAndLegal"] = "finance_banking_and_legal";
741
+ JobCategory2["ConstructionEngineeringAndTrades"] = "construction_engineering_and_trades";
742
+ JobCategory2["MarketingMediaAndCreative"] = "marketing_media_and_creative";
743
+ JobCategory2["LogisticsSalesAndOperations"] = "logistics_sales_and_operations";
744
+ JobCategory2["EducationAndPublicService"] = "education_and_public_service";
745
+ JobCategory2["HospitalityFoodAndTourism"] = "hospitality_food_and_tourism";
746
+ JobCategory2["ManufacturingAndProduction"] = "manufacturing_and_production";
747
+ JobCategory2["RetailAndConsumerServices"] = "retail_and_consumer_services";
748
+ JobCategory2["AutomotiveAndTransportServices"] = "automotive_and_transport_services";
749
+ return JobCategory2;
750
+ })(JobCategory || {});
751
+ var SupportedJobCategories = Object.values(JobCategory);
752
+ var JobIndustry = /* @__PURE__ */ ((JobIndustry2) => {
753
+ JobIndustry2["SoftwareAndWebDevelopment"] = "software_and_web_development";
754
+ JobIndustry2["DataAIAndAnalytics"] = "data_ai_and_analytics";
755
+ JobIndustry2["ITInfrastructureAndSecurity"] = "it_infrastructure_and_security";
756
+ JobIndustry2["ProductAndDesign"] = "product_and_design";
757
+ JobIndustry2["MedicalPractice"] = "medical_practice";
758
+ JobIndustry2["TherapyAndRehabilitation"] = "therapy_and_rehabilitation";
759
+ JobIndustry2["BioTechAndPharmaceuticals"] = "biotech_and_pharmaceuticals";
760
+ JobIndustry2["MentalHealth"] = "mental_health";
761
+ JobIndustry2["RenewableEnergy"] = "renewable_energy";
762
+ JobIndustry2["NaturalResourcesAndUtilities"] = "natural_resources_and_utilities";
763
+ JobIndustry2["AgricultureAndForestry"] = "agriculture_and_forestry";
764
+ JobIndustry2["EnvironmentalServices"] = "environmental_services";
765
+ JobIndustry2["BankingAndInvestments"] = "banking_and_investments";
766
+ JobIndustry2["FinTechAndInsurance"] = "fintech_and_insurance";
767
+ JobIndustry2["AccountingAndAudit"] = "accounting_and_audit";
768
+ JobIndustry2["LegalServices"] = "legal_services";
769
+ JobIndustry2["ArchitectureAndPlanning"] = "architecture_and_planning";
770
+ JobIndustry2["CivilAndIndustrialEngineering"] = "civil_and_industrial_engineering";
771
+ JobIndustry2["SkilledTrades"] = "skilled_trades";
772
+ JobIndustry2["MarketingAndAdvertising"] = "marketing_and_advertising";
773
+ JobIndustry2["MediaAndEntertainment"] = "media_and_entertainment";
774
+ JobIndustry2["CreativeArtsAndFashion"] = "creative_arts_and_fashion";
775
+ JobIndustry2["SupplyChainAndTransport"] = "supply_chain_and_transport";
776
+ JobIndustry2["SalesAndBusinessDevelopment"] = "sales_and_business_development";
777
+ JobIndustry2["HRAndAdmin"] = "hr_and_admin";
778
+ JobIndustry2["EducationAndTraining"] = "education_and_training";
779
+ JobIndustry2["GovernmentAndNonProfit"] = "government_and_non_profit";
780
+ JobIndustry2["FoodAndBeverageService"] = "food_and_beverage_service";
781
+ JobIndustry2["AccommodationAndTravel"] = "accommodation_and_travel";
782
+ JobIndustry2["ProductionAndAssembly"] = "production_and_assembly";
783
+ JobIndustry2["QualityAndProcess"] = "quality_and_process";
784
+ JobIndustry2["RetailOperations"] = "retail_operations";
785
+ JobIndustry2["CustomerService"] = "customer_service";
786
+ JobIndustry2["VehicleServiceAndRepair"] = "vehicle_service_and_repair";
787
+ JobIndustry2["DrivingAndTransport"] = "driving_and_transport";
788
+ return JobIndustry2;
789
+ })(JobIndustry || {});
790
+ var SupportedJobIndustries = Object.values(JobIndustry);
791
+ var JobSubCategory = /* @__PURE__ */ ((JobSubCategory2) => {
792
+ JobSubCategory2["Frontend"] = "frontend";
793
+ JobSubCategory2["Backend"] = "backend";
794
+ JobSubCategory2["FullStack"] = "full_stack";
795
+ JobSubCategory2["MobileAppDev"] = "mobile_app_dev";
796
+ JobSubCategory2["GameDevelopment"] = "game_development";
797
+ JobSubCategory2["EmbeddedSystems"] = "embedded_systems";
798
+ JobSubCategory2["QAAndTesting"] = "qa_and_testing";
799
+ JobSubCategory2["SoftwareEngineering"] = "software_engineering";
800
+ JobSubCategory2["WebDevelopment"] = "web_development";
801
+ JobSubCategory2["SoftwareArchitecture"] = "software_architecture";
802
+ JobSubCategory2["DataScience"] = "data_science";
803
+ JobSubCategory2["MachineLearning"] = "machine_learning";
804
+ JobSubCategory2["ArtificialIntelligence"] = "artificial_intelligence";
805
+ JobSubCategory2["BusinessIntelligence"] = "business_intelligence";
806
+ JobSubCategory2["DataEngineering"] = "data_engineering";
807
+ JobSubCategory2["DataVisualization"] = "data_visualization";
808
+ JobSubCategory2["DataAnalysis"] = "data_analysis";
809
+ JobSubCategory2["DeepLearning"] = "deep_learning";
810
+ JobSubCategory2["Cybersecurity"] = "cybersecurity";
811
+ JobSubCategory2["CloudEngineering"] = "cloud_engineering";
812
+ JobSubCategory2["DevOps"] = "devops";
813
+ JobSubCategory2["NetworkAdministration"] = "network_administration";
814
+ JobSubCategory2["SystemsEngineering"] = "systems_engineering";
815
+ JobSubCategory2["DatabaseAdministration"] = "database_administration";
816
+ JobSubCategory2["ITSupport"] = "it_support";
817
+ JobSubCategory2["TechnicalSupport"] = "technical_support";
818
+ JobSubCategory2["SiteReliabilityEngineering"] = "site_reliability_engineering";
819
+ JobSubCategory2["ProductManagement"] = "product_management";
820
+ JobSubCategory2["UIUXDesign"] = "ui_ux_design";
821
+ JobSubCategory2["UserResearch"] = "user_research";
822
+ JobSubCategory2["InteractionDesign"] = "interaction_design";
823
+ JobSubCategory2["TechnicalWriting"] = "technical_writing";
824
+ JobSubCategory2["ProductMarketing"] = "product_marketing";
825
+ JobSubCategory2["BusinessAnalysis"] = "business_analysis";
826
+ JobSubCategory2["ProjectManagement"] = "project_management";
827
+ JobSubCategory2["ProgramManagement"] = "program_management";
828
+ JobSubCategory2["Nursing"] = "nursing";
829
+ JobSubCategory2["GeneralPractice"] = "general_practice";
830
+ JobSubCategory2["Surgery"] = "surgery";
831
+ JobSubCategory2["Pediatrics"] = "pediatrics";
832
+ JobSubCategory2["EmergencyMedicine"] = "emergency_medicine";
833
+ JobSubCategory2["Radiology"] = "radiology";
834
+ JobSubCategory2["Anesthesiology"] = "anesthesiology";
835
+ JobSubCategory2["Geriatrics"] = "geriatrics";
836
+ JobSubCategory2["Oncology"] = "oncology";
837
+ JobSubCategory2["Dentistry"] = "dentistry";
838
+ JobSubCategory2["DentalHygiene"] = "dental_hygiene";
839
+ JobSubCategory2["MedicalSecretary"] = "medical_secretary";
840
+ JobSubCategory2["Veterinary"] = "veterinary";
841
+ JobSubCategory2["PhysicalTherapy"] = "physical_therapy";
842
+ JobSubCategory2["OccupationalTherapy"] = "occupational_therapy";
843
+ JobSubCategory2["SpeechPathology"] = "speech_pathology";
844
+ JobSubCategory2["RespiratoryTherapy"] = "respiratory_therapy";
845
+ JobSubCategory2["ElderlyCare"] = "elderly_care";
846
+ JobSubCategory2["DisabilitySupport"] = "disability_support";
847
+ JobSubCategory2["ClinicalResearch"] = "clinical_research";
848
+ JobSubCategory2["DrugDevelopment"] = "drug_development";
849
+ JobSubCategory2["Bioinformatics"] = "bioinformatics";
850
+ JobSubCategory2["Microbiology"] = "microbiology";
851
+ JobSubCategory2["Pharmacology"] = "pharmacology";
852
+ JobSubCategory2["LaboratoryTech"] = "laboratory_tech";
853
+ JobSubCategory2["Psychology"] = "psychology";
854
+ JobSubCategory2["Counseling"] = "counseling";
855
+ JobSubCategory2["Psychiatry"] = "psychiatry";
856
+ JobSubCategory2["SocialWork"] = "social_work";
857
+ JobSubCategory2["AddictionRecovery"] = "addiction_recovery";
858
+ JobSubCategory2["ChildWelfare"] = "child_welfare";
859
+ JobSubCategory2["SolarEnergy"] = "solar_energy";
860
+ JobSubCategory2["WindPower"] = "wind_power";
861
+ JobSubCategory2["Hydroelectric"] = "hydroelectric";
862
+ JobSubCategory2["BatteryAndStorageTech"] = "battery_and_storage_tech";
863
+ JobSubCategory2["Geothermal"] = "geothermal";
864
+ JobSubCategory2["Biofuels"] = "biofuels";
865
+ JobSubCategory2["OilAndGas"] = "oil_and_gas";
866
+ JobSubCategory2["MiningAndGeology"] = "mining_and_geology";
867
+ JobSubCategory2["NuclearEnergy"] = "nuclear_energy";
868
+ JobSubCategory2["WaterManagement"] = "water_management";
869
+ JobSubCategory2["ElectricalGridOperations"] = "electrical_grid_operations";
870
+ JobSubCategory2["AgriTech"] = "agri_tech";
871
+ JobSubCategory2["Horticulture"] = "horticulture";
872
+ JobSubCategory2["LivestockManagement"] = "livestock_management";
873
+ JobSubCategory2["Forestry"] = "forestry";
874
+ JobSubCategory2["FisheriesAndAquaculture"] = "fisheries_and_aquaculture";
875
+ JobSubCategory2["SoilScience"] = "soil_science";
876
+ JobSubCategory2["SustainabilityConsulting"] = "sustainability_consulting";
877
+ JobSubCategory2["WasteManagement"] = "waste_management";
878
+ JobSubCategory2["WildlifeConservation"] = "wildlife_conservation";
879
+ JobSubCategory2["CarbonAccounting"] = "carbon_accounting";
880
+ JobSubCategory2["Ecology"] = "ecology";
881
+ JobSubCategory2["OccupationalHealthAndSafety"] = "occupational_health_and_safety";
882
+ JobSubCategory2["Sustainability"] = "sustainability";
883
+ JobSubCategory2["InvestmentBanking"] = "investment_banking";
884
+ JobSubCategory2["CorporateFinance"] = "corporate_finance";
885
+ JobSubCategory2["WealthManagement"] = "wealth_management";
886
+ JobSubCategory2["VentureCapital"] = "venture_capital";
887
+ JobSubCategory2["AssetManagement"] = "asset_management";
888
+ JobSubCategory2["FinancialAnalysis"] = "financial_analysis";
889
+ JobSubCategory2["FinancialPlanning"] = "financial_planning";
890
+ JobSubCategory2["RiskManagement"] = "risk_management";
891
+ JobSubCategory2["CreditAnalysis"] = "credit_analysis";
892
+ JobSubCategory2["CryptocurrencyAndWeb3"] = "cryptocurrency_and_web3";
893
+ JobSubCategory2["DigitalPayments"] = "digital_payments";
894
+ JobSubCategory2["ActuarialScience"] = "actuarial_science";
895
+ JobSubCategory2["InsuranceUnderwriting"] = "insurance_underwriting";
896
+ JobSubCategory2["ClaimsAdjustment"] = "claims_adjustment";
897
+ JobSubCategory2["PublicAccounting"] = "public_accounting";
898
+ JobSubCategory2["Taxation"] = "taxation";
899
+ JobSubCategory2["ForensicAccounting"] = "forensic_accounting";
900
+ JobSubCategory2["AuditAndAssurance"] = "audit_and_assurance";
901
+ JobSubCategory2["Bookkeeping"] = "bookkeeping";
902
+ JobSubCategory2["AccountsPayable"] = "accounts_payable";
903
+ JobSubCategory2["AccountsReceivable"] = "accounts_receivable";
904
+ JobSubCategory2["Payroll"] = "payroll";
905
+ JobSubCategory2["Collections"] = "collections";
906
+ JobSubCategory2["CorporateLaw"] = "corporate_law";
907
+ JobSubCategory2["Litigation"] = "litigation";
908
+ JobSubCategory2["IntellectualProperty"] = "intellectual_property";
909
+ JobSubCategory2["ComplianceAndRegulatory"] = "compliance_and_regulatory";
910
+ JobSubCategory2["ParalegalServices"] = "paralegal_services";
911
+ JobSubCategory2["Paralegal"] = "paralegal";
912
+ JobSubCategory2["UrbanPlanning"] = "urban_planning";
913
+ JobSubCategory2["InteriorDesign"] = "interior_design";
914
+ JobSubCategory2["LandscapeArchitecture"] = "landscape_architecture";
915
+ JobSubCategory2["CADBIMManagement"] = "cad_bim_management";
916
+ JobSubCategory2["ConstructionManagement"] = "construction_management";
917
+ JobSubCategory2["SiteSupervision"] = "site_supervision";
918
+ JobSubCategory2["StructuralEngineering"] = "structural_engineering";
919
+ JobSubCategory2["MechanicalEngineering"] = "mechanical_engineering";
920
+ JobSubCategory2["ElectricalEngineering"] = "electrical_engineering";
921
+ JobSubCategory2["RoboticsAndAutomation"] = "robotics_and_automation";
922
+ JobSubCategory2["ChemicalEngineering"] = "chemical_engineering";
923
+ JobSubCategory2["IndustrialEngineering"] = "industrial_engineering";
924
+ JobSubCategory2["ProcessEngineering"] = "process_engineering";
925
+ JobSubCategory2["Mechatronics"] = "mechatronics";
926
+ JobSubCategory2["Electrician"] = "electrician";
927
+ JobSubCategory2["PlumbingAndHVAC"] = "plumbing_and_hvac";
928
+ JobSubCategory2["Carpentry"] = "carpentry";
929
+ JobSubCategory2["Welding"] = "welding";
930
+ JobSubCategory2["HeavyEquipmentOperation"] = "heavy_equipment_operation";
931
+ JobSubCategory2["Masonry"] = "masonry";
932
+ JobSubCategory2["Machining"] = "machining";
933
+ JobSubCategory2["FacilitiesMaintenance"] = "facilities_maintenance";
934
+ JobSubCategory2["DigitalMarketing"] = "digital_marketing";
935
+ JobSubCategory2["SEOSEM"] = "seo_sem";
936
+ JobSubCategory2["ContentStrategy"] = "content_strategy";
937
+ JobSubCategory2["SocialMediaManagement"] = "social_media_management";
938
+ JobSubCategory2["BrandManagement"] = "brand_management";
939
+ JobSubCategory2["MarketResearch"] = "market_research";
940
+ JobSubCategory2["MarketingStrategy"] = "marketing_strategy";
941
+ JobSubCategory2["Journalism"] = "journalism";
942
+ JobSubCategory2["VideoProduction"] = "video_production";
943
+ JobSubCategory2["AnimationAndVFX"] = "animation_and_vfx";
944
+ JobSubCategory2["AudioEngineering"] = "audio_engineering";
945
+ JobSubCategory2["Photography"] = "photography";
946
+ JobSubCategory2["Broadcasting"] = "broadcasting";
947
+ JobSubCategory2["GraphicDesign"] = "graphic_design";
948
+ JobSubCategory2["FineArts"] = "fine_arts";
949
+ JobSubCategory2["FashionDesign"] = "fashion_design";
950
+ JobSubCategory2["ApparelManufacturing"] = "apparel_manufacturing";
951
+ JobSubCategory2["TextileDesign"] = "textile_design";
952
+ JobSubCategory2["LogisticsManagement"] = "logistics_management";
953
+ JobSubCategory2["Warehousing"] = "warehousing";
954
+ JobSubCategory2["FleetOperations"] = "fleet_operations";
955
+ JobSubCategory2["FreightForwarding"] = "freight_forwarding";
956
+ JobSubCategory2["Procurement"] = "procurement";
957
+ JobSubCategory2["Purchasing"] = "purchasing";
958
+ JobSubCategory2["WarehouseOperations"] = "warehouse_operations";
959
+ JobSubCategory2["FreightAndShipping"] = "freight_and_shipping";
960
+ JobSubCategory2["EnterpriseSales"] = "enterprise_sales";
961
+ JobSubCategory2["AccountManagement"] = "account_management";
962
+ JobSubCategory2["RetailManagement"] = "retail_management";
963
+ JobSubCategory2["RealEstateSales"] = "real_estate_sales";
964
+ JobSubCategory2["CustomerSuccess"] = "customer_success";
965
+ JobSubCategory2["SalesManagement"] = "sales_management";
966
+ JobSubCategory2["SalesOperations"] = "sales_operations";
967
+ JobSubCategory2["SalesSupport"] = "sales_support";
968
+ JobSubCategory2["TechnicalSales"] = "technical_sales";
969
+ JobSubCategory2["Recruiting"] = "recruiting";
970
+ JobSubCategory2["CompensationAndBenefits"] = "compensation_and_benefits";
971
+ JobSubCategory2["OfficeAdministration"] = "office_administration";
972
+ JobSubCategory2["ExecutiveAssistance"] = "executive_assistance";
973
+ JobSubCategory2["OrganizationalDevelopment"] = "organizational_development";
974
+ JobSubCategory2["HROperations"] = "hr_operations";
975
+ JobSubCategory2["TalentAcquisition"] = "talent_acquisition";
976
+ JobSubCategory2["LearningAndDevelopment"] = "learning_and_development";
977
+ JobSubCategory2["AdministrativeSupport"] = "administrative_support";
978
+ JobSubCategory2["OfficeManagement"] = "office_management";
979
+ JobSubCategory2["K12Teaching"] = "k_12_teaching";
980
+ JobSubCategory2["HigherEducation"] = "higher_education";
981
+ JobSubCategory2["SpecialEducation"] = "special_education";
982
+ JobSubCategory2["ESLInstruction"] = "esl_instruction";
983
+ JobSubCategory2["EdTech"] = "edtech";
984
+ JobSubCategory2["CorporateTraining"] = "corporate_training";
985
+ JobSubCategory2["PublicPolicy"] = "public_policy";
986
+ JobSubCategory2["SocialServices"] = "social_services";
987
+ JobSubCategory2["FundraisingAndGrants"] = "fundraising_and_grants";
988
+ JobSubCategory2["LawEnforcement"] = "law_enforcement";
989
+ JobSubCategory2["Military"] = "military";
990
+ JobSubCategory2["Diplomacy"] = "diplomacy";
991
+ JobSubCategory2["PublicAdministration"] = "public_administration";
992
+ JobSubCategory2["RestaurantOperations"] = "restaurant_operations";
993
+ JobSubCategory2["FoodPreparation"] = "food_preparation";
994
+ JobSubCategory2["CulinaryArts"] = "culinary_arts";
995
+ JobSubCategory2["BaristaAndBar"] = "barista_and_bar";
996
+ JobSubCategory2["Catering"] = "catering";
997
+ JobSubCategory2["FoodService"] = "food_service";
998
+ JobSubCategory2["HotelOperations"] = "hotel_operations";
999
+ JobSubCategory2["FrontDeskAndReception"] = "front_desk_and_reception";
1000
+ JobSubCategory2["Housekeeping"] = "housekeeping";
1001
+ JobSubCategory2["TravelAndTourism"] = "travel_and_tourism";
1002
+ JobSubCategory2["EventsAndConferences"] = "events_and_conferences";
1003
+ JobSubCategory2["Assembly"] = "assembly";
1004
+ JobSubCategory2["MachineOperation"] = "machine_operation";
1005
+ JobSubCategory2["ProductionManagement"] = "production_management";
1006
+ JobSubCategory2["ManufacturingEngineering"] = "manufacturing_engineering";
1007
+ JobSubCategory2["FoodProduction"] = "food_production";
1008
+ JobSubCategory2["Packaging"] = "packaging";
1009
+ JobSubCategory2["QualityAssurance"] = "quality_assurance";
1010
+ JobSubCategory2["QualityControl"] = "quality_control";
1011
+ JobSubCategory2["ProcessImprovement"] = "process_improvement";
1012
+ JobSubCategory2["MaintenanceAndReliability"] = "maintenance_and_reliability";
1013
+ JobSubCategory2["IndustrialSafety"] = "industrial_safety";
1014
+ JobSubCategory2["StoreManagement"] = "store_management";
1015
+ JobSubCategory2["SalesAssociate"] = "sales_associate";
1016
+ JobSubCategory2["VisualMerchandising"] = "visual_merchandising";
1017
+ JobSubCategory2["CashierAndCheckout"] = "cashier_and_checkout";
1018
+ JobSubCategory2["InventoryAndStock"] = "inventory_and_stock";
1019
+ JobSubCategory2["CustomerSupport"] = "customer_support";
1020
+ JobSubCategory2["CallCentre"] = "call_centre";
1021
+ JobSubCategory2["ClientAdvisory"] = "client_advisory";
1022
+ JobSubCategory2["ComplaintsAndEscalations"] = "complaints_and_escalations";
1023
+ JobSubCategory2["AutomotiveTechnician"] = "automotive_technician";
1024
+ JobSubCategory2["AutomotiveRepair"] = "automotive_repair";
1025
+ JobSubCategory2["HeavyVehicleMechanic"] = "heavy_vehicle_mechanic";
1026
+ JobSubCategory2["VehicleInspection"] = "vehicle_inspection";
1027
+ JobSubCategory2["AutoBodyAndPaint"] = "auto_body_and_paint";
1028
+ JobSubCategory2["TruckDriving"] = "truck_driving";
1029
+ JobSubCategory2["DeliveryAndCourier"] = "delivery_and_courier";
1030
+ JobSubCategory2["PublicTransport"] = "public_transport";
1031
+ JobSubCategory2["FleetManagement"] = "fleet_management";
1032
+ return JobSubCategory2;
1033
+ })(JobSubCategory || {});
1034
+ var SupportedJobSubCategories = Object.values(JobSubCategory);
1035
+ var JOB_TAXONOMY = [
1036
+ {
1037
+ category: "technology_data_and_digital" /* TechnologyDataAndDigital */,
1038
+ industries: [
1039
+ {
1040
+ industry: "software_and_web_development" /* SoftwareAndWebDevelopment */,
1041
+ subCategories: [
1042
+ "frontend" /* Frontend */,
1043
+ "backend" /* Backend */,
1044
+ "full_stack" /* FullStack */,
1045
+ "mobile_app_dev" /* MobileAppDev */,
1046
+ "game_development" /* GameDevelopment */,
1047
+ "embedded_systems" /* EmbeddedSystems */,
1048
+ "qa_and_testing" /* QAAndTesting */,
1049
+ "software_engineering" /* SoftwareEngineering */,
1050
+ "web_development" /* WebDevelopment */,
1051
+ "software_architecture" /* SoftwareArchitecture */
1052
+ ]
1053
+ },
1054
+ {
1055
+ industry: "data_ai_and_analytics" /* DataAIAndAnalytics */,
1056
+ subCategories: [
1057
+ "data_science" /* DataScience */,
1058
+ "machine_learning" /* MachineLearning */,
1059
+ "artificial_intelligence" /* ArtificialIntelligence */,
1060
+ "business_intelligence" /* BusinessIntelligence */,
1061
+ "data_engineering" /* DataEngineering */,
1062
+ "data_visualization" /* DataVisualization */,
1063
+ "data_analysis" /* DataAnalysis */,
1064
+ "deep_learning" /* DeepLearning */
1065
+ ]
1066
+ },
1067
+ {
1068
+ industry: "it_infrastructure_and_security" /* ITInfrastructureAndSecurity */,
1069
+ subCategories: [
1070
+ "cybersecurity" /* Cybersecurity */,
1071
+ "cloud_engineering" /* CloudEngineering */,
1072
+ "devops" /* DevOps */,
1073
+ "network_administration" /* NetworkAdministration */,
1074
+ "systems_engineering" /* SystemsEngineering */,
1075
+ "database_administration" /* DatabaseAdministration */,
1076
+ "it_support" /* ITSupport */,
1077
+ "technical_support" /* TechnicalSupport */,
1078
+ "site_reliability_engineering" /* SiteReliabilityEngineering */
1079
+ ]
1080
+ },
1081
+ {
1082
+ industry: "product_and_design" /* ProductAndDesign */,
1083
+ subCategories: [
1084
+ "product_management" /* ProductManagement */,
1085
+ "ui_ux_design" /* UIUXDesign */,
1086
+ "user_research" /* UserResearch */,
1087
+ "interaction_design" /* InteractionDesign */,
1088
+ "technical_writing" /* TechnicalWriting */,
1089
+ "product_marketing" /* ProductMarketing */,
1090
+ "business_analysis" /* BusinessAnalysis */,
1091
+ "project_management" /* ProjectManagement */,
1092
+ "program_management" /* ProgramManagement */
1093
+ ]
1094
+ }
1095
+ ]
1096
+ },
1097
+ {
1098
+ category: "healthcare_and_life_sciences" /* HealthcareAndLifeSciences */,
1099
+ industries: [
1100
+ {
1101
+ industry: "medical_practice" /* MedicalPractice */,
1102
+ subCategories: [
1103
+ "nursing" /* Nursing */,
1104
+ "general_practice" /* GeneralPractice */,
1105
+ "surgery" /* Surgery */,
1106
+ "pediatrics" /* Pediatrics */,
1107
+ "emergency_medicine" /* EmergencyMedicine */,
1108
+ "radiology" /* Radiology */,
1109
+ "anesthesiology" /* Anesthesiology */,
1110
+ "geriatrics" /* Geriatrics */,
1111
+ "oncology" /* Oncology */,
1112
+ "dentistry" /* Dentistry */,
1113
+ "dental_hygiene" /* DentalHygiene */,
1114
+ "medical_secretary" /* MedicalSecretary */,
1115
+ "veterinary" /* Veterinary */
1116
+ ]
1117
+ },
1118
+ {
1119
+ industry: "therapy_and_rehabilitation" /* TherapyAndRehabilitation */,
1120
+ subCategories: [
1121
+ "physical_therapy" /* PhysicalTherapy */,
1122
+ "occupational_therapy" /* OccupationalTherapy */,
1123
+ "speech_pathology" /* SpeechPathology */,
1124
+ "respiratory_therapy" /* RespiratoryTherapy */,
1125
+ "elderly_care" /* ElderlyCare */,
1126
+ "disability_support" /* DisabilitySupport */
1127
+ ]
1128
+ },
1129
+ {
1130
+ industry: "biotech_and_pharmaceuticals" /* BioTechAndPharmaceuticals */,
1131
+ subCategories: [
1132
+ "clinical_research" /* ClinicalResearch */,
1133
+ "drug_development" /* DrugDevelopment */,
1134
+ "bioinformatics" /* Bioinformatics */,
1135
+ "microbiology" /* Microbiology */,
1136
+ "pharmacology" /* Pharmacology */,
1137
+ "laboratory_tech" /* LaboratoryTech */
1138
+ ]
1139
+ },
1140
+ {
1141
+ industry: "mental_health" /* MentalHealth */,
1142
+ subCategories: [
1143
+ "psychology" /* Psychology */,
1144
+ "counseling" /* Counseling */,
1145
+ "psychiatry" /* Psychiatry */,
1146
+ "social_work" /* SocialWork */,
1147
+ "addiction_recovery" /* AddictionRecovery */,
1148
+ "child_welfare" /* ChildWelfare */
1149
+ ]
1150
+ }
1151
+ ]
1152
+ },
1153
+ {
1154
+ category: "agriculture_energy_and_environment" /* AgricultureEnergyAndEnvironment */,
1155
+ industries: [
1156
+ {
1157
+ industry: "renewable_energy" /* RenewableEnergy */,
1158
+ subCategories: [
1159
+ "solar_energy" /* SolarEnergy */,
1160
+ "wind_power" /* WindPower */,
1161
+ "hydroelectric" /* Hydroelectric */,
1162
+ "battery_and_storage_tech" /* BatteryAndStorageTech */,
1163
+ "geothermal" /* Geothermal */,
1164
+ "biofuels" /* Biofuels */
1165
+ ]
1166
+ },
1167
+ {
1168
+ industry: "natural_resources_and_utilities" /* NaturalResourcesAndUtilities */,
1169
+ subCategories: [
1170
+ "oil_and_gas" /* OilAndGas */,
1171
+ "mining_and_geology" /* MiningAndGeology */,
1172
+ "nuclear_energy" /* NuclearEnergy */,
1173
+ "water_management" /* WaterManagement */,
1174
+ "electrical_grid_operations" /* ElectricalGridOperations */
1175
+ ]
1176
+ },
1177
+ {
1178
+ industry: "agriculture_and_forestry" /* AgricultureAndForestry */,
1179
+ subCategories: [
1180
+ "agri_tech" /* AgriTech */,
1181
+ "horticulture" /* Horticulture */,
1182
+ "livestock_management" /* LivestockManagement */,
1183
+ "forestry" /* Forestry */,
1184
+ "fisheries_and_aquaculture" /* FisheriesAndAquaculture */,
1185
+ "soil_science" /* SoilScience */
1186
+ ]
1187
+ },
1188
+ {
1189
+ industry: "environmental_services" /* EnvironmentalServices */,
1190
+ subCategories: [
1191
+ "sustainability_consulting" /* SustainabilityConsulting */,
1192
+ "waste_management" /* WasteManagement */,
1193
+ "wildlife_conservation" /* WildlifeConservation */,
1194
+ "carbon_accounting" /* CarbonAccounting */,
1195
+ "ecology" /* Ecology */,
1196
+ "occupational_health_and_safety" /* OccupationalHealthAndSafety */,
1197
+ "sustainability" /* Sustainability */
1198
+ ]
1199
+ }
1200
+ ]
1201
+ },
1202
+ {
1203
+ category: "finance_banking_and_legal" /* FinanceBankingAndLegal */,
1204
+ industries: [
1205
+ {
1206
+ industry: "banking_and_investments" /* BankingAndInvestments */,
1207
+ subCategories: [
1208
+ "investment_banking" /* InvestmentBanking */,
1209
+ "corporate_finance" /* CorporateFinance */,
1210
+ "wealth_management" /* WealthManagement */,
1211
+ "venture_capital" /* VentureCapital */,
1212
+ "asset_management" /* AssetManagement */,
1213
+ "financial_analysis" /* FinancialAnalysis */,
1214
+ "financial_planning" /* FinancialPlanning */,
1215
+ "risk_management" /* RiskManagement */,
1216
+ "credit_analysis" /* CreditAnalysis */
1217
+ ]
1218
+ },
1219
+ {
1220
+ industry: "fintech_and_insurance" /* FinTechAndInsurance */,
1221
+ subCategories: [
1222
+ "cryptocurrency_and_web3" /* CryptocurrencyAndWeb3 */,
1223
+ "digital_payments" /* DigitalPayments */,
1224
+ "actuarial_science" /* ActuarialScience */,
1225
+ "insurance_underwriting" /* InsuranceUnderwriting */,
1226
+ "claims_adjustment" /* ClaimsAdjustment */
1227
+ ]
1228
+ },
1229
+ {
1230
+ industry: "accounting_and_audit" /* AccountingAndAudit */,
1231
+ subCategories: [
1232
+ "public_accounting" /* PublicAccounting */,
1233
+ "taxation" /* Taxation */,
1234
+ "forensic_accounting" /* ForensicAccounting */,
1235
+ "audit_and_assurance" /* AuditAndAssurance */,
1236
+ "bookkeeping" /* Bookkeeping */,
1237
+ "accounts_payable" /* AccountsPayable */,
1238
+ "accounts_receivable" /* AccountsReceivable */,
1239
+ "payroll" /* Payroll */,
1240
+ "collections" /* Collections */
1241
+ ]
1242
+ },
1243
+ {
1244
+ industry: "legal_services" /* LegalServices */,
1245
+ subCategories: [
1246
+ "corporate_law" /* CorporateLaw */,
1247
+ "litigation" /* Litigation */,
1248
+ "intellectual_property" /* IntellectualProperty */,
1249
+ "compliance_and_regulatory" /* ComplianceAndRegulatory */,
1250
+ "paralegal_services" /* ParalegalServices */,
1251
+ "paralegal" /* Paralegal */
1252
+ ]
1253
+ }
1254
+ ]
1255
+ },
1256
+ {
1257
+ category: "construction_engineering_and_trades" /* ConstructionEngineeringAndTrades */,
1258
+ industries: [
1259
+ {
1260
+ industry: "architecture_and_planning" /* ArchitectureAndPlanning */,
1261
+ subCategories: [
1262
+ "urban_planning" /* UrbanPlanning */,
1263
+ "interior_design" /* InteriorDesign */,
1264
+ "landscape_architecture" /* LandscapeArchitecture */,
1265
+ "cad_bim_management" /* CADBIMManagement */,
1266
+ "construction_management" /* ConstructionManagement */,
1267
+ "site_supervision" /* SiteSupervision */
1268
+ ]
1269
+ },
1270
+ {
1271
+ industry: "civil_and_industrial_engineering" /* CivilAndIndustrialEngineering */,
1272
+ subCategories: [
1273
+ "structural_engineering" /* StructuralEngineering */,
1274
+ "mechanical_engineering" /* MechanicalEngineering */,
1275
+ "electrical_engineering" /* ElectricalEngineering */,
1276
+ "robotics_and_automation" /* RoboticsAndAutomation */,
1277
+ "chemical_engineering" /* ChemicalEngineering */,
1278
+ "industrial_engineering" /* IndustrialEngineering */,
1279
+ "process_engineering" /* ProcessEngineering */,
1280
+ "mechatronics" /* Mechatronics */
1281
+ ]
1282
+ },
1283
+ {
1284
+ industry: "skilled_trades" /* SkilledTrades */,
1285
+ subCategories: [
1286
+ "electrician" /* Electrician */,
1287
+ "plumbing_and_hvac" /* PlumbingAndHVAC */,
1288
+ "carpentry" /* Carpentry */,
1289
+ "welding" /* Welding */,
1290
+ "heavy_equipment_operation" /* HeavyEquipmentOperation */,
1291
+ "masonry" /* Masonry */,
1292
+ "machining" /* Machining */,
1293
+ "facilities_maintenance" /* FacilitiesMaintenance */
1294
+ ]
1295
+ }
1296
+ ]
1297
+ },
1298
+ {
1299
+ category: "marketing_media_and_creative" /* MarketingMediaAndCreative */,
1300
+ industries: [
1301
+ {
1302
+ industry: "marketing_and_advertising" /* MarketingAndAdvertising */,
1303
+ subCategories: [
1304
+ "digital_marketing" /* DigitalMarketing */,
1305
+ "seo_sem" /* SEOSEM */,
1306
+ "content_strategy" /* ContentStrategy */,
1307
+ "social_media_management" /* SocialMediaManagement */,
1308
+ "brand_management" /* BrandManagement */,
1309
+ "market_research" /* MarketResearch */,
1310
+ "marketing_strategy" /* MarketingStrategy */
1311
+ ]
1312
+ },
1313
+ {
1314
+ industry: "media_and_entertainment" /* MediaAndEntertainment */,
1315
+ subCategories: [
1316
+ "journalism" /* Journalism */,
1317
+ "video_production" /* VideoProduction */,
1318
+ "animation_and_vfx" /* AnimationAndVFX */,
1319
+ "audio_engineering" /* AudioEngineering */,
1320
+ "photography" /* Photography */,
1321
+ "broadcasting" /* Broadcasting */
1322
+ ]
1323
+ },
1324
+ {
1325
+ industry: "creative_arts_and_fashion" /* CreativeArtsAndFashion */,
1326
+ subCategories: [
1327
+ "graphic_design" /* GraphicDesign */,
1328
+ "fine_arts" /* FineArts */,
1329
+ "fashion_design" /* FashionDesign */,
1330
+ "apparel_manufacturing" /* ApparelManufacturing */,
1331
+ "textile_design" /* TextileDesign */
1332
+ ]
1333
+ }
1334
+ ]
1335
+ },
1336
+ {
1337
+ category: "logistics_sales_and_operations" /* LogisticsSalesAndOperations */,
1338
+ industries: [
1339
+ {
1340
+ industry: "supply_chain_and_transport" /* SupplyChainAndTransport */,
1341
+ subCategories: [
1342
+ "logistics_management" /* LogisticsManagement */,
1343
+ "warehousing" /* Warehousing */,
1344
+ "fleet_operations" /* FleetOperations */,
1345
+ "freight_forwarding" /* FreightForwarding */,
1346
+ "procurement" /* Procurement */,
1347
+ "purchasing" /* Purchasing */,
1348
+ "warehouse_operations" /* WarehouseOperations */,
1349
+ "freight_and_shipping" /* FreightAndShipping */
1350
+ ]
1351
+ },
1352
+ {
1353
+ industry: "sales_and_business_development" /* SalesAndBusinessDevelopment */,
1354
+ subCategories: [
1355
+ "enterprise_sales" /* EnterpriseSales */,
1356
+ "account_management" /* AccountManagement */,
1357
+ "retail_management" /* RetailManagement */,
1358
+ "real_estate_sales" /* RealEstateSales */,
1359
+ "customer_success" /* CustomerSuccess */,
1360
+ "sales_management" /* SalesManagement */,
1361
+ "sales_operations" /* SalesOperations */,
1362
+ "sales_support" /* SalesSupport */,
1363
+ "technical_sales" /* TechnicalSales */
1364
+ ]
1365
+ },
1366
+ {
1367
+ industry: "hr_and_admin" /* HRAndAdmin */,
1368
+ subCategories: [
1369
+ "recruiting" /* Recruiting */,
1370
+ "compensation_and_benefits" /* CompensationAndBenefits */,
1371
+ "office_administration" /* OfficeAdministration */,
1372
+ "executive_assistance" /* ExecutiveAssistance */,
1373
+ "organizational_development" /* OrganizationalDevelopment */,
1374
+ "hr_operations" /* HROperations */,
1375
+ "talent_acquisition" /* TalentAcquisition */,
1376
+ "learning_and_development" /* LearningAndDevelopment */,
1377
+ "administrative_support" /* AdministrativeSupport */,
1378
+ "office_management" /* OfficeManagement */
1379
+ ]
1380
+ }
1381
+ ]
1382
+ },
1383
+ {
1384
+ category: "education_and_public_service" /* EducationAndPublicService */,
1385
+ industries: [
1386
+ {
1387
+ industry: "education_and_training" /* EducationAndTraining */,
1388
+ subCategories: [
1389
+ "k_12_teaching" /* K12Teaching */,
1390
+ "higher_education" /* HigherEducation */,
1391
+ "special_education" /* SpecialEducation */,
1392
+ "esl_instruction" /* ESLInstruction */,
1393
+ "edtech" /* EdTech */,
1394
+ "corporate_training" /* CorporateTraining */
1395
+ ]
1396
+ },
1397
+ {
1398
+ industry: "government_and_non_profit" /* GovernmentAndNonProfit */,
1399
+ subCategories: [
1400
+ "public_policy" /* PublicPolicy */,
1401
+ "social_services" /* SocialServices */,
1402
+ "fundraising_and_grants" /* FundraisingAndGrants */,
1403
+ "law_enforcement" /* LawEnforcement */,
1404
+ "military" /* Military */,
1405
+ "diplomacy" /* Diplomacy */,
1406
+ "public_administration" /* PublicAdministration */
1407
+ ]
1408
+ }
1409
+ ]
1410
+ },
1411
+ {
1412
+ category: "hospitality_food_and_tourism" /* HospitalityFoodAndTourism */,
1413
+ industries: [
1414
+ {
1415
+ industry: "food_and_beverage_service" /* FoodAndBeverageService */,
1416
+ subCategories: [
1417
+ "restaurant_operations" /* RestaurantOperations */,
1418
+ "food_preparation" /* FoodPreparation */,
1419
+ "culinary_arts" /* CulinaryArts */,
1420
+ "barista_and_bar" /* BaristaAndBar */,
1421
+ "catering" /* Catering */,
1422
+ "food_service" /* FoodService */
1423
+ ]
1424
+ },
1425
+ {
1426
+ industry: "accommodation_and_travel" /* AccommodationAndTravel */,
1427
+ subCategories: [
1428
+ "hotel_operations" /* HotelOperations */,
1429
+ "front_desk_and_reception" /* FrontDeskAndReception */,
1430
+ "housekeeping" /* Housekeeping */,
1431
+ "travel_and_tourism" /* TravelAndTourism */,
1432
+ "events_and_conferences" /* EventsAndConferences */
1433
+ ]
1434
+ }
1435
+ ]
1436
+ },
1437
+ {
1438
+ category: "manufacturing_and_production" /* ManufacturingAndProduction */,
1439
+ industries: [
1440
+ {
1441
+ industry: "production_and_assembly" /* ProductionAndAssembly */,
1442
+ subCategories: [
1443
+ "assembly" /* Assembly */,
1444
+ "machine_operation" /* MachineOperation */,
1445
+ "production_management" /* ProductionManagement */,
1446
+ "manufacturing_engineering" /* ManufacturingEngineering */,
1447
+ "food_production" /* FoodProduction */,
1448
+ "packaging" /* Packaging */
1449
+ ]
1450
+ },
1451
+ {
1452
+ industry: "quality_and_process" /* QualityAndProcess */,
1453
+ subCategories: [
1454
+ "quality_assurance" /* QualityAssurance */,
1455
+ "quality_control" /* QualityControl */,
1456
+ "process_improvement" /* ProcessImprovement */,
1457
+ "maintenance_and_reliability" /* MaintenanceAndReliability */,
1458
+ "industrial_safety" /* IndustrialSafety */
1459
+ ]
1460
+ }
1461
+ ]
1462
+ },
1463
+ {
1464
+ category: "retail_and_consumer_services" /* RetailAndConsumerServices */,
1465
+ industries: [
1466
+ {
1467
+ industry: "retail_operations" /* RetailOperations */,
1468
+ subCategories: [
1469
+ "store_management" /* StoreManagement */,
1470
+ "sales_associate" /* SalesAssociate */,
1471
+ "visual_merchandising" /* VisualMerchandising */,
1472
+ "cashier_and_checkout" /* CashierAndCheckout */,
1473
+ "inventory_and_stock" /* InventoryAndStock */
1474
+ ]
1475
+ },
1476
+ {
1477
+ industry: "customer_service" /* CustomerService */,
1478
+ subCategories: [
1479
+ "customer_support" /* CustomerSupport */,
1480
+ "call_centre" /* CallCentre */,
1481
+ "client_advisory" /* ClientAdvisory */,
1482
+ "complaints_and_escalations" /* ComplaintsAndEscalations */
1483
+ ]
1484
+ }
1485
+ ]
1486
+ },
1487
+ {
1488
+ category: "automotive_and_transport_services" /* AutomotiveAndTransportServices */,
1489
+ industries: [
1490
+ {
1491
+ industry: "vehicle_service_and_repair" /* VehicleServiceAndRepair */,
1492
+ subCategories: [
1493
+ "automotive_technician" /* AutomotiveTechnician */,
1494
+ "automotive_repair" /* AutomotiveRepair */,
1495
+ "heavy_vehicle_mechanic" /* HeavyVehicleMechanic */,
1496
+ "vehicle_inspection" /* VehicleInspection */,
1497
+ "auto_body_and_paint" /* AutoBodyAndPaint */
1498
+ ]
1499
+ },
1500
+ {
1501
+ industry: "driving_and_transport" /* DrivingAndTransport */,
1502
+ subCategories: [
1503
+ "truck_driving" /* TruckDriving */,
1504
+ "delivery_and_courier" /* DeliveryAndCourier */,
1505
+ "public_transport" /* PublicTransport */,
1506
+ "fleet_management" /* FleetManagement */
1507
+ ]
1508
+ }
1509
+ ]
1510
+ }
1511
+ ];
1512
+ var TAXONOMY_LABELS = {
1513
+ "technology_data_and_digital": "Technology, Data & Digital",
1514
+ "healthcare_and_life_sciences": "Healthcare & Life Sciences",
1515
+ "agriculture_energy_and_environment": "Agriculture, Energy & Environment",
1516
+ "finance_banking_and_legal": "Finance, Banking & Legal",
1517
+ "construction_engineering_and_trades": "Construction, Engineering & Trades",
1518
+ "marketing_media_and_creative": "Marketing, Media & Creative",
1519
+ "logistics_sales_and_operations": "Logistics, Sales & Operations",
1520
+ "education_and_public_service": "Education & Public Service",
1521
+ "hospitality_food_and_tourism": "Hospitality, Food & Tourism",
1522
+ "manufacturing_and_production": "Manufacturing & Production",
1523
+ "retail_and_consumer_services": "Retail & Consumer Services",
1524
+ "automotive_and_transport_services": "Automotive & Transport Services",
1525
+ "software_and_web_development": "Software & Web Development",
1526
+ "data_ai_and_analytics": "Data, AI & Analytics",
1527
+ "it_infrastructure_and_security": "IT Infrastructure & Security",
1528
+ "product_and_design": "Product & Design",
1529
+ "medical_practice": "Medical Practice",
1530
+ "therapy_and_rehabilitation": "Therapy & Rehabilitation",
1531
+ "biotech_and_pharmaceuticals": "BioTech & Pharmaceuticals",
1532
+ "mental_health": "Mental Health",
1533
+ "renewable_energy": "Renewable Energy",
1534
+ "natural_resources_and_utilities": "Natural Resources & Utilities",
1535
+ "agriculture_and_forestry": "Agriculture & Forestry",
1536
+ "environmental_services": "Environmental Services",
1537
+ "banking_and_investments": "Banking & Investments",
1538
+ "fintech_and_insurance": "FinTech & Insurance",
1539
+ "accounting_and_audit": "Accounting & Audit",
1540
+ "legal_services": "Legal Services",
1541
+ "architecture_and_planning": "Architecture & Planning",
1542
+ "civil_and_industrial_engineering": "Civil & Industrial Engineering",
1543
+ "skilled_trades": "Skilled Trades",
1544
+ "marketing_and_advertising": "Marketing & Advertising",
1545
+ "media_and_entertainment": "Media & Entertainment",
1546
+ "creative_arts_and_fashion": "Creative Arts & Fashion",
1547
+ "supply_chain_and_transport": "Supply Chain & Transport",
1548
+ "sales_and_business_development": "Sales & Business Development",
1549
+ "hr_and_admin": "HR & Admin",
1550
+ "education_and_training": "Education & Training",
1551
+ "government_and_non_profit": "Government & Non-Profit",
1552
+ "food_and_beverage_service": "Food & Beverage Service",
1553
+ "accommodation_and_travel": "Accommodation & Travel",
1554
+ "production_and_assembly": "Production & Assembly",
1555
+ "quality_and_process": "Quality & Process",
1556
+ "retail_operations": "Retail Operations",
1557
+ "customer_service": "Customer Service",
1558
+ "vehicle_service_and_repair": "Vehicle Service & Repair",
1559
+ "driving_and_transport": "Driving & Transport",
1560
+ "frontend": "Frontend",
1561
+ "backend": "Backend",
1562
+ "full_stack": "Full Stack",
1563
+ "mobile_app_dev": "Mobile App Dev",
1564
+ "game_development": "Game Development",
1565
+ "embedded_systems": "Embedded Systems",
1566
+ "qa_and_testing": "QA & Testing",
1567
+ "software_engineering": "Software Engineering",
1568
+ "web_development": "Web Development",
1569
+ "software_architecture": "Software Architecture",
1570
+ "data_science": "Data Science",
1571
+ "machine_learning": "Machine Learning",
1572
+ "artificial_intelligence": "Artificial Intelligence",
1573
+ "business_intelligence": "Business Intelligence",
1574
+ "data_engineering": "Data Engineering",
1575
+ "data_visualization": "Data Visualization",
1576
+ "data_analysis": "Data Analysis",
1577
+ "deep_learning": "Deep Learning",
1578
+ "cybersecurity": "Cybersecurity",
1579
+ "cloud_engineering": "Cloud Engineering",
1580
+ "devops": "DevOps",
1581
+ "network_administration": "Network Administration",
1582
+ "systems_engineering": "Systems Engineering",
1583
+ "database_administration": "Database Administration",
1584
+ "it_support": "IT Support",
1585
+ "technical_support": "Technical Support",
1586
+ "site_reliability_engineering": "Site Reliability Engineering",
1587
+ "product_management": "Product Management",
1588
+ "ui_ux_design": "UI/UX Design",
1589
+ "user_research": "User Research",
1590
+ "interaction_design": "Interaction Design",
1591
+ "technical_writing": "Technical Writing",
1592
+ "product_marketing": "Product Marketing",
1593
+ "business_analysis": "Business Analysis",
1594
+ "project_management": "Project Management",
1595
+ "program_management": "Program Management",
1596
+ "nursing": "Nursing",
1597
+ "general_practice": "General Practice",
1598
+ "surgery": "Surgery",
1599
+ "pediatrics": "Pediatrics",
1600
+ "emergency_medicine": "Emergency Medicine",
1601
+ "radiology": "Radiology",
1602
+ "anesthesiology": "Anesthesiology",
1603
+ "geriatrics": "Geriatrics",
1604
+ "oncology": "Oncology",
1605
+ "dentistry": "Dentistry",
1606
+ "dental_hygiene": "Dental Hygiene",
1607
+ "medical_secretary": "Medical Secretary",
1608
+ "veterinary": "Veterinary",
1609
+ "physical_therapy": "Physical Therapy",
1610
+ "occupational_therapy": "Occupational Therapy",
1611
+ "speech_pathology": "Speech Pathology",
1612
+ "respiratory_therapy": "Respiratory Therapy",
1613
+ "elderly_care": "Elderly Care",
1614
+ "disability_support": "Disability Support",
1615
+ "clinical_research": "Clinical Research",
1616
+ "drug_development": "Drug Development",
1617
+ "bioinformatics": "Bioinformatics",
1618
+ "microbiology": "Microbiology",
1619
+ "pharmacology": "Pharmacology",
1620
+ "laboratory_tech": "Laboratory Tech",
1621
+ "psychology": "Psychology",
1622
+ "counseling": "Counseling",
1623
+ "psychiatry": "Psychiatry",
1624
+ "social_work": "Social Work",
1625
+ "addiction_recovery": "Addiction Recovery",
1626
+ "child_welfare": "Child Welfare",
1627
+ "solar_energy": "Solar Energy",
1628
+ "wind_power": "Wind Power",
1629
+ "hydroelectric": "Hydroelectric",
1630
+ "battery_and_storage_tech": "Battery & Storage Tech",
1631
+ "geothermal": "Geothermal",
1632
+ "biofuels": "Biofuels",
1633
+ "oil_and_gas": "Oil & Gas",
1634
+ "mining_and_geology": "Mining & Geology",
1635
+ "nuclear_energy": "Nuclear Energy",
1636
+ "water_management": "Water Management",
1637
+ "electrical_grid_operations": "Electrical Grid Operations",
1638
+ "agri_tech": "Agri-Tech",
1639
+ "horticulture": "Horticulture",
1640
+ "livestock_management": "Livestock Management",
1641
+ "forestry": "Forestry",
1642
+ "fisheries_and_aquaculture": "Fisheries & Aquaculture",
1643
+ "soil_science": "Soil Science",
1644
+ "sustainability_consulting": "Sustainability Consulting",
1645
+ "waste_management": "Waste Management",
1646
+ "wildlife_conservation": "Wildlife Conservation",
1647
+ "carbon_accounting": "Carbon Accounting",
1648
+ "ecology": "Ecology",
1649
+ "occupational_health_and_safety": "Occupational Health & Safety",
1650
+ "sustainability": "Sustainability",
1651
+ "investment_banking": "Investment Banking",
1652
+ "corporate_finance": "Corporate Finance",
1653
+ "wealth_management": "Wealth Management",
1654
+ "venture_capital": "Venture Capital",
1655
+ "asset_management": "Asset Management",
1656
+ "financial_analysis": "Financial Analysis",
1657
+ "financial_planning": "Financial Planning",
1658
+ "risk_management": "Risk Management",
1659
+ "credit_analysis": "Credit Analysis",
1660
+ "cryptocurrency_and_web3": "Cryptocurrency & Web3",
1661
+ "digital_payments": "Digital Payments",
1662
+ "actuarial_science": "Actuarial Science",
1663
+ "insurance_underwriting": "Insurance Underwriting",
1664
+ "claims_adjustment": "Claims Adjustment",
1665
+ "public_accounting": "Public Accounting",
1666
+ "taxation": "Taxation",
1667
+ "forensic_accounting": "Forensic Accounting",
1668
+ "audit_and_assurance": "Audit & Assurance",
1669
+ "bookkeeping": "Bookkeeping",
1670
+ "accounts_payable": "Accounts Payable",
1671
+ "accounts_receivable": "Accounts Receivable",
1672
+ "payroll": "Payroll",
1673
+ "collections": "Collections",
1674
+ "corporate_law": "Corporate Law",
1675
+ "litigation": "Litigation",
1676
+ "intellectual_property": "Intellectual Property",
1677
+ "compliance_and_regulatory": "Compliance & Regulatory",
1678
+ "paralegal_services": "Paralegal Services",
1679
+ "paralegal": "Paralegal",
1680
+ "urban_planning": "Urban Planning",
1681
+ "interior_design": "Interior Design",
1682
+ "landscape_architecture": "Landscape Architecture",
1683
+ "cad_bim_management": "CAD/BIM Management",
1684
+ "construction_management": "Construction Management",
1685
+ "site_supervision": "Site Supervision",
1686
+ "structural_engineering": "Structural Engineering",
1687
+ "mechanical_engineering": "Mechanical Engineering",
1688
+ "electrical_engineering": "Electrical Engineering",
1689
+ "robotics_and_automation": "Robotics & Automation",
1690
+ "chemical_engineering": "Chemical Engineering",
1691
+ "industrial_engineering": "Industrial Engineering",
1692
+ "process_engineering": "Process Engineering",
1693
+ "mechatronics": "Mechatronics",
1694
+ "electrician": "Electrician",
1695
+ "plumbing_and_hvac": "Plumbing & HVAC",
1696
+ "carpentry": "Carpentry",
1697
+ "welding": "Welding",
1698
+ "heavy_equipment_operation": "Heavy Equipment Operation",
1699
+ "masonry": "Masonry",
1700
+ "machining": "Machining",
1701
+ "facilities_maintenance": "Facilities Maintenance",
1702
+ "digital_marketing": "Digital Marketing",
1703
+ "seo_sem": "SEO/SEM",
1704
+ "content_strategy": "Content Strategy",
1705
+ "social_media_management": "Social Media Management",
1706
+ "brand_management": "Brand Management",
1707
+ "market_research": "Market Research",
1708
+ "marketing_strategy": "Marketing Strategy",
1709
+ "journalism": "Journalism",
1710
+ "video_production": "Video Production",
1711
+ "animation_and_vfx": "Animation & VFX",
1712
+ "audio_engineering": "Audio Engineering",
1713
+ "photography": "Photography",
1714
+ "broadcasting": "Broadcasting",
1715
+ "graphic_design": "Graphic Design",
1716
+ "fine_arts": "Fine Arts",
1717
+ "fashion_design": "Fashion Design",
1718
+ "apparel_manufacturing": "Apparel Manufacturing",
1719
+ "textile_design": "Textile Design",
1720
+ "logistics_management": "Logistics Management",
1721
+ "warehousing": "Warehousing",
1722
+ "fleet_operations": "Fleet Operations",
1723
+ "freight_forwarding": "Freight Forwarding",
1724
+ "procurement": "Procurement",
1725
+ "purchasing": "Purchasing",
1726
+ "warehouse_operations": "Warehouse Operations",
1727
+ "freight_and_shipping": "Freight & Shipping",
1728
+ "enterprise_sales": "Enterprise Sales",
1729
+ "account_management": "Account Management",
1730
+ "retail_management": "Retail Management",
1731
+ "real_estate_sales": "Real Estate Sales",
1732
+ "customer_success": "Customer Success",
1733
+ "sales_management": "Sales Management",
1734
+ "sales_operations": "Sales Operations",
1735
+ "sales_support": "Sales Support",
1736
+ "technical_sales": "Technical Sales",
1737
+ "recruiting": "Recruiting",
1738
+ "compensation_and_benefits": "Compensation & Benefits",
1739
+ "office_administration": "Office Administration",
1740
+ "executive_assistance": "Executive Assistance",
1741
+ "organizational_development": "Organizational Development",
1742
+ "hr_operations": "HR Operations",
1743
+ "talent_acquisition": "Talent Acquisition",
1744
+ "learning_and_development": "Learning & Development",
1745
+ "administrative_support": "Administrative Support",
1746
+ "office_management": "Office Management",
1747
+ "k_12_teaching": "K-12 Teaching",
1748
+ "higher_education": "Higher Education",
1749
+ "special_education": "Special Education",
1750
+ "esl_instruction": "ESL Instruction",
1751
+ "edtech": "EdTech",
1752
+ "corporate_training": "Corporate Training",
1753
+ "public_policy": "Public Policy",
1754
+ "social_services": "Social Services",
1755
+ "fundraising_and_grants": "Fundraising & Grants",
1756
+ "law_enforcement": "Law Enforcement",
1757
+ "military": "Military",
1758
+ "diplomacy": "Diplomacy",
1759
+ "public_administration": "Public Administration",
1760
+ "restaurant_operations": "Restaurant Operations",
1761
+ "food_preparation": "Food Preparation",
1762
+ "culinary_arts": "Culinary Arts",
1763
+ "barista_and_bar": "Barista & Bar",
1764
+ "catering": "Catering",
1765
+ "food_service": "Food Service",
1766
+ "hotel_operations": "Hotel Operations",
1767
+ "front_desk_and_reception": "Front Desk & Reception",
1768
+ "housekeeping": "Housekeeping",
1769
+ "travel_and_tourism": "Travel & Tourism",
1770
+ "events_and_conferences": "Events & Conferences",
1771
+ "assembly": "Assembly",
1772
+ "machine_operation": "Machine Operation",
1773
+ "production_management": "Production Management",
1774
+ "manufacturing_engineering": "Manufacturing Engineering",
1775
+ "food_production": "Food Production",
1776
+ "packaging": "Packaging",
1777
+ "quality_assurance": "Quality Assurance",
1778
+ "quality_control": "Quality Control",
1779
+ "process_improvement": "Process Improvement",
1780
+ "maintenance_and_reliability": "Maintenance & Reliability",
1781
+ "industrial_safety": "Industrial Safety",
1782
+ "store_management": "Store Management",
1783
+ "sales_associate": "Sales Associate",
1784
+ "visual_merchandising": "Visual Merchandising",
1785
+ "cashier_and_checkout": "Cashier & Checkout",
1786
+ "inventory_and_stock": "Inventory & Stock",
1787
+ "customer_support": "Customer Support",
1788
+ "call_centre": "Call Centre",
1789
+ "client_advisory": "Client Advisory",
1790
+ "complaints_and_escalations": "Complaints & Escalations",
1791
+ "automotive_technician": "Automotive Technician",
1792
+ "automotive_repair": "Automotive Repair",
1793
+ "heavy_vehicle_mechanic": "Heavy Vehicle Mechanic",
1794
+ "vehicle_inspection": "Vehicle Inspection",
1795
+ "auto_body_and_paint": "Auto Body & Paint",
1796
+ "truck_driving": "Truck Driving",
1797
+ "delivery_and_courier": "Delivery & Courier",
1798
+ "public_transport": "Public Transport",
1799
+ "fleet_management": "Fleet Management"
1800
+ };
1801
+
1802
+ // src/job/job-taxonomy.util.ts
1803
+ var INDUSTRY_OF_SUB = new Map(
1804
+ JOB_TAXONOMY.flatMap(
1805
+ (c) => c.industries.flatMap((i) => i.subCategories.map((s) => [s, i.industry]))
1806
+ )
1807
+ );
1808
+ var CATEGORY_OF_SUB = new Map(
1809
+ JOB_TAXONOMY.flatMap(
1810
+ (c) => c.industries.flatMap((i) => i.subCategories.map((s) => [s, c.category]))
1811
+ )
1812
+ );
1813
+ var CATEGORY_OF_INDUSTRY = new Map(
1814
+ JOB_TAXONOMY.flatMap((c) => c.industries.map((i) => [i.industry, c.category]))
1815
+ );
1816
+ function industryOfSubCategory(sub) {
1817
+ return INDUSTRY_OF_SUB.get(sub);
1818
+ }
1819
+ function categoryOfSubCategory(sub) {
1820
+ return CATEGORY_OF_SUB.get(sub);
1821
+ }
1822
+ function categoryOfIndustry(industry) {
1823
+ return CATEGORY_OF_INDUSTRY.get(industry);
1824
+ }
1825
+ function industriesOfCategory(category) {
1826
+ return JOB_TAXONOMY.find((c) => c.category === category)?.industries.map((i) => i.industry) ?? [];
1827
+ }
1828
+ function subCategoriesOfIndustry(industry) {
1829
+ for (const c of JOB_TAXONOMY) {
1830
+ for (const i of c.industries) if (i.industry === industry) return i.subCategories;
1831
+ }
1832
+ return [];
1833
+ }
1834
+ function deriveIndustry(category, subCategories) {
1835
+ const subs = (subCategories ?? []).filter((s) => INDUSTRY_OF_SUB.has(s));
1836
+ if (subs.length === 0) return void 0;
1837
+ if (category) {
1838
+ const inCategory = subs.find((s) => CATEGORY_OF_SUB.get(s) === category);
1839
+ if (inCategory) return INDUSTRY_OF_SUB.get(inCategory);
1840
+ return void 0;
1841
+ }
1842
+ return INDUSTRY_OF_SUB.get(subs[0]);
1843
+ }
1844
+
1845
+ // src/post/post.schema.ts
1846
+ import { array as array9, boolean as boolean10, number as number6, object as object17, string as string14 } from "yup";
1847
+
1848
+ // src/post/post.constant.ts
1849
+ var PostStatus = /* @__PURE__ */ ((PostStatus2) => {
1850
+ PostStatus2["Draft"] = "draft";
1851
+ PostStatus2["Published"] = "published";
1852
+ PostStatus2["Archived"] = "archived";
1853
+ return PostStatus2;
1854
+ })(PostStatus || {});
1855
+ var SupportedPostStatuses = Object.values(PostStatus);
1856
+
1857
+ // src/post/post.schema.ts
1858
+ var PostSchema = object17({
1859
+ /** Headline shown in listings and at the top of the post. */
1860
+ title: string14().required().min(5).max(200).label("Title"),
1861
+ /** User-friendly, unique URL identifier. */
1862
+ slug: string14().required().max(250).label("Slug"),
1863
+ /** Short summary used in listings and meta description fallback. */
1864
+ excerpt: string14().max(500).optional().label("Excerpt"),
1865
+ /** Rendered HTML source of truth for the post body (sanitized on write/render).
1866
+ * Supports rich formatting markdown can't express (image size/alignment, etc). */
1867
+ bodyHTML: string14().required().min(1).label("Body (HTML)"),
1868
+ /** Optional Markdown mirror of the body (portable text / search fallback).
1869
+ * Kept for back-compat and plain-text derivation; bodyHTML is authoritative. */
1870
+ bodyMarkdown: string14().optional().label("Body (Markdown)"),
1871
+ /** Cover/hero image URL. Not `.url()`-validated: the value is either an
1872
+ * uploaded file URL served by this platform (which may be a bare host like
1873
+ * `http://localhost:3082/...` in dev, that yup's `.url()` wrongly rejects) or
1874
+ * an admin-pasted link. Kept as a plain string; empty ⇒ null. */
1875
+ coverImage: string14().nullable().optional().label("Cover image"),
1876
+ /** Author (user id). */
1877
+ authorId: string14().required().label("Author ID"),
1878
+ /** Free-form tags for filtering and related-posts. */
1879
+ tags: array9().of(string14().trim().required()).default([]).label("Tags"),
1880
+ /** Estimated reading time in minutes (server-derived from body length). */
1881
+ readingTimeMinutes: number6().min(0).optional().label("Reading time (minutes)"),
1882
+ /** SEO overrides. */
1883
+ seoTags: object17({
1884
+ description: string14().optional().label("Description"),
1885
+ keywords: array9().of(string14().required()).optional().label("Keywords")
1886
+ }).nullable().optional().label("SEO Tags"),
1887
+ /** When the post was first published (epoch ms). Server-owned. */
1888
+ publishedAt: number6().nullable().optional().label("Published at"),
1889
+ /** Whether the post is featured in the blog listing. */
1890
+ isFeatured: boolean10().default(false).optional().label("Is featured"),
1891
+ /** Publication state. */
1892
+ status: string14().oneOf(SupportedPostStatuses).default("draft" /* Draft */).required().label("Status")
1893
+ }).concat(DbDefaultSchema).noUnknown().label("Post");
1894
+
709
1895
  // src/pagination/pagination.schema.ts
710
- import { number as number6, object as object17, string as string14 } from "yup";
711
- var PaginationSchema = object17().shape({
712
- page: number6().required().min(1).label("Page").default(1),
713
- limit: number6().required().min(1).max(100).label("Limit").default(10),
714
- sortBy: string14().notOneOf([""]).optional().label("SortBy"),
715
- nextPage: string14().optional().label("Next Page Token"),
716
- prevPage: string14().optional().label("Previous Page Token"),
717
- sortDirection: string14().oneOf(["asc", "desc"]).optional().label("Sort Direction")
1896
+ import { number as number7, object as object18, string as string15 } from "yup";
1897
+ var PaginationSchema = object18().shape({
1898
+ page: number7().required().min(1).label("Page").default(1),
1899
+ limit: number7().required().min(1).max(100).label("Limit").default(10),
1900
+ sortBy: string15().notOneOf([""]).optional().label("SortBy"),
1901
+ nextPage: string15().optional().label("Next Page Token"),
1902
+ prevPage: string15().optional().label("Previous Page Token"),
1903
+ sortDirection: string15().oneOf(["asc", "desc"]).optional().label("Sort Direction")
718
1904
  });
719
1905
 
720
1906
  // src/pagination/pagination.constant.ts
@@ -730,7 +1916,7 @@ var DefaultPaginationOptions = {
730
1916
  };
731
1917
 
732
1918
  // src/report/report.schema.ts
733
- import { mixed as mixed4, object as object18, string as string15 } from "yup";
1919
+ import { mixed as mixed4, object as object19, string as string16 } from "yup";
734
1920
 
735
1921
  // src/report/report.constant.ts
736
1922
  var ResourceType = /* @__PURE__ */ ((ResourceType3) => {
@@ -754,15 +1940,15 @@ var ReportReason = /* @__PURE__ */ ((ReportReason3) => {
754
1940
  var SupportedReportReasons = Object.values(ReportReason);
755
1941
 
756
1942
  // src/report/report.schema.ts
757
- var ReportSchema = object18({
1943
+ var ReportSchema = object19({
758
1944
  type: mixed4().oneOf(SupportedResourceTypes).required().label("Type"),
759
- resourceId: string15().required().label("Resource ID"),
1945
+ resourceId: string16().required().label("Resource ID"),
760
1946
  reason: mixed4().oneOf(SupportedReportReasons).required("Please choose a reason").label("Reason"),
761
- comment: string15().max(1e3).optional().label("Comment")
1947
+ comment: string16().max(1e3).optional().label("Comment")
762
1948
  }).label("Report Schema");
763
1949
 
764
1950
  // src/user/user.schema.ts
765
- import { array as array12, number as number8, object as object30, string as string28 } from "yup";
1951
+ import { array as array13, number as number9, object as object31, string as string29 } from "yup";
766
1952
 
767
1953
  // src/user/user.constant.ts
768
1954
  var UserRole = /* @__PURE__ */ ((UserRole2) => {
@@ -844,51 +2030,51 @@ var MIN_SALARY_LOWER_BOUND = 0;
844
2030
  var MIN_SALARY_UPPER_BOUND = 1e6;
845
2031
 
846
2032
  // src/user/work-experience.schema.ts
847
- import { boolean as boolean10, object as object19, string as string16 } from "yup";
848
- var WorkExperienceSchema = object19().shape({
2033
+ import { boolean as boolean11, object as object20, string as string17 } from "yup";
2034
+ var WorkExperienceSchema = object20().shape({
849
2035
  company: PageSchema.pick(["name", "slug", "type", "logo"]).deepPartial().concat(PageSchema.pick(["name", "type"])).required().label("Company"),
850
- designation: string16().trim().required().label("Designation"),
2036
+ designation: string17().trim().required().label("Designation"),
851
2037
  duration: DurationSchema({
852
2038
  format: "YYYY-MM",
853
2039
  startLabel: "Start Date",
854
2040
  endLabel: "End Date"
855
2041
  }).required().label("Duration"),
856
- description: string16().trim().max(3e3).optional().label("Description"),
2042
+ description: string17().trim().max(3e3).optional().label("Description"),
857
2043
  location: LocationSchema.required().label("Location"),
858
- isRemote: boolean10().oneOf([true, false]).default(false).label("Is Remote")
2044
+ isRemote: boolean11().oneOf([true, false]).default(false).label("Is Remote")
859
2045
  }).noUnknown().strict().label("Work Experience");
860
2046
 
861
2047
  // src/user/education.schema.ts
862
- import { boolean as boolean11, object as object20, string as string17 } from "yup";
863
- var EducationSchema = object20({
2048
+ import { boolean as boolean12, object as object21, string as string18 } from "yup";
2049
+ var EducationSchema = object21({
864
2050
  institute: PageSchema.pick(["name", "slug", "type", "logo"]).deepPartial().concat(PageSchema.pick(["name", "type"])).required().label("Institute"),
865
- course: string17().trim().required().label("Course"),
866
- fieldOfStudy: string17().trim().required().label("Field of Study"),
2051
+ course: string18().trim().required().label("Course"),
2052
+ fieldOfStudy: string18().trim().required().label("Field of Study"),
867
2053
  duration: DurationSchema({
868
2054
  format: "YYYY-MM",
869
2055
  startLabel: "Start Date",
870
2056
  endLabel: "End Date"
871
2057
  }).required().label("Duration"),
872
- description: string17().trim().max(3e3).optional().label("Description"),
873
- isDistanceLearning: boolean11().default(false).label("Is Distance Learning"),
2058
+ description: string18().trim().max(3e3).optional().label("Description"),
2059
+ isDistanceLearning: boolean12().default(false).label("Is Distance Learning"),
874
2060
  location: LocationSchema.required().label("Location"),
875
- studyType: string17().oneOf(SupportedStudyTypes).trim().max(50).required().label("Study Type")
2061
+ studyType: string18().oneOf(SupportedStudyTypes).trim().max(50).required().label("Study Type")
876
2062
  }).noUnknown().strict().label("Education");
877
2063
 
878
2064
  // src/user/user-skill.schema.ts
879
- import { object as object21, string as string18 } from "yup";
880
- var UserSkillSchema = object21({
881
- name: string18().required().label("Name"),
882
- proficiencyLevel: string18().oneOf(SupportedProficiencyLevels).required().label("Proficiency Level"),
2065
+ import { object as object22, string as string19 } from "yup";
2066
+ var UserSkillSchema = object22({
2067
+ name: string19().required().label("Name"),
2068
+ proficiencyLevel: string19().oneOf(SupportedProficiencyLevels).required().label("Proficiency Level"),
883
2069
  lastUsed: dateString().format("YYYY-MM").nullable().optional().label("Last Used")
884
2070
  }).noUnknown().strict().label("Skill");
885
2071
 
886
2072
  // src/user/project.schema.ts
887
- import { object as object22, string as string19 } from "yup";
888
- var UserProjectSchema = object22({
889
- name: string19().trim().max(50).required().label("Name"),
890
- url: string19().optional().label("URL"),
891
- description: string19().trim().min(100).max(3e3).required().label("Description"),
2073
+ import { object as object23, string as string20 } from "yup";
2074
+ var UserProjectSchema = object23({
2075
+ name: string20().trim().max(50).required().label("Name"),
2076
+ url: string20().optional().label("URL"),
2077
+ description: string20().trim().min(100).max(3e3).required().label("Description"),
892
2078
  duration: DurationSchema({
893
2079
  format: "YYYY-MM",
894
2080
  startLabel: "Start Date",
@@ -897,83 +2083,83 @@ var UserProjectSchema = object22({
897
2083
  }).noUnknown().strict().label("Project");
898
2084
 
899
2085
  // src/user/user-certification.schema.ts
900
- import { object as object23, string as string20 } from "yup";
901
- var UserCertificationSchema = object23({
902
- name: string20().trim().max(100).required().label("Name"),
2086
+ import { object as object24, string as string21 } from "yup";
2087
+ var UserCertificationSchema = object24({
2088
+ name: string21().trim().max(100).required().label("Name"),
903
2089
  // TODO: Add validation for authority
904
- authority: string20().trim().max(100).required().label("Authority"),
905
- licenseNumber: string20().trim().max(50).optional().label("License Number"),
2090
+ authority: string21().trim().max(100).required().label("Authority"),
2091
+ licenseNumber: string21().trim().max(50).optional().label("License Number"),
906
2092
  duration: DurationSchema({
907
2093
  format: "YYYY-MM",
908
2094
  startLabel: "Start Date",
909
2095
  endLabel: "End Date"
910
2096
  }).optional().nullable().label("Duration"),
911
- url: string20().optional().label("URL")
2097
+ url: string21().optional().label("URL")
912
2098
  }).noUnknown().strict().label("Certification");
913
2099
 
914
2100
  // src/user/user-interest.schema.ts
915
- import { string as string21 } from "yup";
916
- var UserInterestSchema = string21().trim().required().label("Interest");
2101
+ import { string as string22 } from "yup";
2102
+ var UserInterestSchema = string22().trim().required().label("Interest");
917
2103
 
918
2104
  // src/user/user-language.schema.ts
919
- import { object as object24, string as string22 } from "yup";
920
- var UserLanguageSchema = object24({
921
- name: string22().trim().required().label("Name"),
922
- proficiencyLevel: string22().oneOf(SupportedProficiencyLevels).trim().max(50).required().label("Proficiency Level")
2105
+ import { object as object25, string as string23 } from "yup";
2106
+ var UserLanguageSchema = object25({
2107
+ name: string23().trim().required().label("Name"),
2108
+ proficiencyLevel: string23().oneOf(SupportedProficiencyLevels).trim().max(50).required().label("Proficiency Level")
923
2109
  }).noUnknown().strict().label("Language");
924
2110
 
925
2111
  // src/user/user-additional-info.schema.ts
926
- import { object as object25, string as string23 } from "yup";
927
- var UserAdditionalInfoSchema = object25({
928
- title: string23().trim().max(60).required().label("Title"),
929
- description: string23().trim().max(1e3).required().label("Description")
2112
+ import { object as object26, string as string24 } from "yup";
2113
+ var UserAdditionalInfoSchema = object26({
2114
+ title: string24().trim().max(60).required().label("Title"),
2115
+ description: string24().trim().max(1e3).required().label("Description")
930
2116
  }).noUnknown().strict().label("User Additional Info");
931
2117
 
932
2118
  // src/user/general-detail.schema.ts
933
- import { object as object26, string as string24 } from "yup";
934
- var UserGeneralDetailSchema = object26({
935
- id: string24().optional().label("ID"),
936
- name: object26().shape({
937
- first: string24().trim().max(50).required().label("First Name"),
938
- last: string24().trim().max(50).optional().label("Last Name")
2119
+ import { object as object27, string as string25 } from "yup";
2120
+ var UserGeneralDetailSchema = object27({
2121
+ id: string25().optional().label("ID"),
2122
+ name: object27().shape({
2123
+ first: string25().trim().max(50).required().label("First Name"),
2124
+ last: string25().trim().max(50).optional().label("Last Name")
939
2125
  }).required().label("Name"),
940
- headline: string24().trim().max(200).optional().label("Headline"),
941
- image: string24().optional().label("Image"),
942
- aboutMe: string24().trim().max(3e3).optional().label("About Me"),
943
- email: string24().required().label("Email"),
944
- mobile: string24().nullable().optional().label("Mobile"),
945
- emailVerified: string24().nullable().optional().label("Email Verified"),
946
- mobileVerified: string24().nullable().optional().label("Mobile Verified"),
947
- experienceLevel: string24().oneOf(SupportedExperienceLevels).required().label("Experience level"),
2126
+ headline: string25().trim().max(200).optional().label("Headline"),
2127
+ image: string25().optional().label("Image"),
2128
+ aboutMe: string25().trim().max(3e3).optional().label("About Me"),
2129
+ email: string25().required().label("Email"),
2130
+ mobile: string25().nullable().optional().label("Mobile"),
2131
+ emailVerified: string25().nullable().optional().label("Email Verified"),
2132
+ mobileVerified: string25().nullable().optional().label("Mobile Verified"),
2133
+ experienceLevel: string25().oneOf(SupportedExperienceLevels).required().label("Experience level"),
948
2134
  location: LocationSchema.required().label("Location"),
949
- region: object26().shape({
950
- country: string24().trim().required().label("Region Country"),
951
- lang: string24().trim().required().label("Region Language")
2135
+ region: object27().shape({
2136
+ country: string25().trim().required().label("Region Country"),
2137
+ lang: string25().trim().required().label("Region Language")
952
2138
  }).optional().default(void 0).label("Region"),
953
- profileVisibility: string24().oneOf(SupportedUserProfileVisibilities).default("public" /* Public */).label("Profile Visibility")
2139
+ profileVisibility: string25().oneOf(SupportedUserProfileVisibilities).default("public" /* Public */).label("Profile Visibility")
954
2140
  }).noUnknown().strict().label("General Detail");
955
2141
 
956
2142
  // src/user/user-job-preferences.schema.ts
957
- import { array as array9, boolean as boolean12, date as date2, number as number7, object as object27, string as string25 } from "yup";
958
- var UserJobPreferencesSchema = object27({
2143
+ import { array as array10, boolean as boolean13, date as date2, number as number8, object as object28, string as string26 } from "yup";
2144
+ var UserJobPreferencesSchema = object28({
959
2145
  /**
960
2146
  * Whether the job seeker is openly signalling availability. Surfaces the
961
2147
  * "Open to work" badge on the public profile and boosts visibility in
962
2148
  * recruiter search. Defaults to `false` - users must opt in.
963
2149
  */
964
- openToWork: boolean12().default(false).label("Open to Work"),
2150
+ openToWork: boolean13().default(false).label("Open to Work"),
965
2151
  /**
966
2152
  * How urgently the user is looking for their next job. Drives match scoring
967
2153
  * and can downgrade the visibility of expired or low-relevance postings for
968
2154
  * users in `passively_browsing` mode.
969
2155
  */
970
- jobSearchUrgency: string25().oneOf(SupportedJobSearchUrgencies).required().label("Job Search Urgency"),
2156
+ jobSearchUrgency: string26().oneOf(SupportedJobSearchUrgencies).required().label("Job Search Urgency"),
971
2157
  /**
972
2158
  * Locations the user wants to work in. Stores the full `LocationSchema`
973
2159
  * shape (country, city, state, geo, etc.) as returned by the locations
974
2160
  * autocomplete API.
975
2161
  */
976
- jobLocations: array9().of(LocationSchema.required().label("Job Location")).min(1, "Pick at least one preferred location.").required().label("Job Locations"),
2162
+ jobLocations: array10().of(LocationSchema.required().label("Job Location")).min(1, "Pick at least one preferred location.").required().label("Job Locations"),
977
2163
  /**
978
2164
  * Seniority levels the user wants jobs to be matched against. Multi-select
979
2165
  * (up to 2) for borderline candidates.
@@ -984,7 +2170,7 @@ var UserJobPreferencesSchema = object27({
984
2170
  * Both reuse the same `ExperienceLevel` taxonomy from `common.constant.ts`
985
2171
  * so search/match logic doesn't have to translate between two vocabularies.
986
2172
  */
987
- 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"),
2173
+ targetExperienceLevels: array10().of(string26().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"),
988
2174
  /**
989
2175
  * Specializations the user is searching for - free-form titles.
990
2176
  *
@@ -993,19 +2179,19 @@ var UserJobPreferencesSchema = object27({
993
2179
  * surfaces a curated "Popular Roles" picker for discovery, but the user
994
2180
  * can ultimately add any title; matching/normalization happens downstream.
995
2181
  */
996
- jobRoles: array9().of(string25().trim().max(120).required()).min(1, "Pick at least one role.").required().label("Job Roles"),
2182
+ jobRoles: array10().of(string26().trim().max(120).required()).min(1, "Pick at least one role.").required().label("Job Roles"),
997
2183
  /**
998
2184
  * Minimum acceptable annual base salary, in `minSalaryCurrency`.
999
2185
  * Stored as an integer in the currency's major unit (e.g. dollars, not cents).
1000
2186
  * Defaults to 0 ("any salary") rather than being optional - every job-seeker
1001
2187
  * has a floor, even if it's zero.
1002
2188
  */
1003
- minSalary: number7().integer().min(MIN_SALARY_LOWER_BOUND).max(MIN_SALARY_UPPER_BOUND).default(0).required().label("Minimum Salary"),
1004
- minSalaryCurrency: string25().oneOf(SupportedSalaryCurrencies).default("USD").required().label("Minimum Salary Currency"),
2189
+ minSalary: number8().integer().min(MIN_SALARY_LOWER_BOUND).max(MIN_SALARY_UPPER_BOUND).default(0).required().label("Minimum Salary"),
2190
+ minSalaryCurrency: string26().oneOf(SupportedSalaryCurrencies).default("USD").required().label("Minimum Salary Currency"),
1005
2191
  /**
1006
2192
  * Marketing-attribution capture from the final onboarding step.
1007
2193
  */
1008
- referralSource: string25().oneOf(SupportedReferralSources).required().label("Referral Source"),
2194
+ referralSource: string26().oneOf(SupportedReferralSources).required().label("Referral Source"),
1009
2195
  /**
1010
2196
  * Resumes the user has uploaded. Embedded directly on the user document
1011
2197
  * (capped at 5) - they're cheap to denormalize, every wizard step that
@@ -1019,18 +2205,18 @@ var UserJobPreferencesSchema = object27({
1019
2205
  * AI resume-builder flow - onboarding uploads land here, AI-built resumes
1020
2206
  * live in their own collection.
1021
2207
  */
1022
- resumes: array9().of(
1023
- object27({
2208
+ resumes: array10().of(
2209
+ object28({
1024
2210
  // Stable id assigned on upload - used to address a specific entry
1025
2211
  // for delete / set-primary operations without exposing the GCS URL
1026
2212
  // as a route key.
1027
- id: string25().required().label("ID"),
1028
- url: string25().required().label("Resume URL"),
1029
- filename: string25().trim().max(255).optional().label("Filename"),
1030
- sizeBytes: number7().integer().min(0).optional().label("Size (bytes)"),
1031
- mimeType: string25().trim().max(120).optional().label("MIME Type"),
2213
+ id: string26().required().label("ID"),
2214
+ url: string26().required().label("Resume URL"),
2215
+ filename: string26().trim().max(255).optional().label("Filename"),
2216
+ sizeBytes: number8().integer().min(0).optional().label("Size (bytes)"),
2217
+ mimeType: string26().trim().max(120).optional().label("MIME Type"),
1032
2218
  uploadedAt: date2().required().label("Uploaded At"),
1033
- isPrimary: boolean12().default(false).label("Is Primary")
2219
+ isPrimary: boolean13().default(false).label("Is Primary")
1034
2220
  }).noUnknown().strict().label("Resume")
1035
2221
  ).max(5, "You can keep at most 5 resumes on file.").default([]).label("Resumes"),
1036
2222
  /**
@@ -1057,106 +2243,106 @@ var UserJobPreferencesSchema = object27({
1057
2243
  * APIs. If `user.<field>` is empty there, the correct behavior is empty,
1058
2244
  * because the user has not confirmed it yet.
1059
2245
  */
1060
- pendingPrefill: object27({
1061
- headline: string25().trim().optional().label("Pending Headline"),
1062
- aboutMe: string25().trim().optional().label("Pending About Me"),
1063
- mobile: string25().trim().optional().label("Pending Mobile"),
2246
+ pendingPrefill: object28({
2247
+ headline: string26().trim().optional().label("Pending Headline"),
2248
+ aboutMe: string26().trim().optional().label("Pending About Me"),
2249
+ mobile: string26().trim().optional().label("Pending Mobile"),
1064
2250
  location: LocationSchema.optional().default(void 0).label("Pending Location"),
1065
- experienceLevel: string25().oneOf(SupportedExperienceLevels).optional().label("Pending Experience Level"),
1066
- socialAccounts: array9().of(SocialAccountSchema.required()).optional().label("Pending Social Accounts"),
1067
- workExperiences: array9().of(WorkExperienceSchema.required()).optional().label("Pending Work Experiences"),
1068
- educations: array9().of(EducationSchema.required()).optional().label("Pending Educations")
2251
+ experienceLevel: string26().oneOf(SupportedExperienceLevels).optional().label("Pending Experience Level"),
2252
+ socialAccounts: array10().of(SocialAccountSchema.required()).optional().label("Pending Social Accounts"),
2253
+ workExperiences: array10().of(WorkExperienceSchema.required()).optional().label("Pending Work Experiences"),
2254
+ educations: array10().of(EducationSchema.required()).optional().label("Pending Educations")
1069
2255
  }).nullable().optional().default(void 0).label("Pending Prefill")
1070
2256
  }).noUnknown().strict().label("User Job Preferences Schema");
1071
2257
 
1072
2258
  // src/user/user-recruiter-profile.schema.ts
1073
- import { array as array10, object as object28, string as string26 } from "yup";
1074
- var RecruiterPageLinkSchema = object28({
2259
+ import { array as array11, object as object29, string as string27 } from "yup";
2260
+ var RecruiterPageLinkSchema = object29({
1075
2261
  page: PageSchema.pick(["name", "slug", "type", "logo"]).deepPartial().concat(PageSchema.pick(["name", "type"])).required().label("Company Page"),
1076
- jobTitle: string26().trim().max(100).optional().label("Job Title")
2262
+ jobTitle: string27().trim().max(100).optional().label("Job Title")
1077
2263
  }).noUnknown().strict().label("Recruiter Page Link");
1078
- var UserRecruiterProfileSchema = object28({
1079
- recruiterProfile: object28({
1080
- hiringFor: array10().of(RecruiterPageLinkSchema).default([]).label("Hiring For")
2264
+ var UserRecruiterProfileSchema = object29({
2265
+ recruiterProfile: object29({
2266
+ hiringFor: array11().of(RecruiterPageLinkSchema).default([]).label("Hiring For")
1081
2267
  }).optional().default(void 0).label("Recruiter Profile")
1082
2268
  }).noUnknown().strict().label("User Recruiter Profile");
1083
2269
 
1084
2270
  // src/user/user-coordinator-profile.schema.ts
1085
- import { array as array11, object as object29, string as string27 } from "yup";
1086
- var CoordinatorPageLinkSchema = object29({
2271
+ import { array as array12, object as object30, string as string28 } from "yup";
2272
+ var CoordinatorPageLinkSchema = object30({
1087
2273
  page: PageSchema.pick(["name", "slug", "type", "logo"]).deepPartial().concat(PageSchema.pick(["name", "type"])).required().label("Institute Page"),
1088
- jobTitle: string27().trim().max(100).optional().label("Job Title")
2274
+ jobTitle: string28().trim().max(100).optional().label("Job Title")
1089
2275
  }).noUnknown().strict().label("Coordinator Page Link");
1090
- var UserCoordinatorProfileSchema = object29({
1091
- coordinatorProfile: object29({
1092
- coordinatesAt: array11().of(CoordinatorPageLinkSchema).default([]).label("Coordinates At")
2276
+ var UserCoordinatorProfileSchema = object30({
2277
+ coordinatorProfile: object30({
2278
+ coordinatesAt: array12().of(CoordinatorPageLinkSchema).default([]).label("Coordinates At")
1093
2279
  }).optional().default(void 0).label("Coordinator Profile")
1094
2280
  }).noUnknown().strict().label("User Coordinator Profile");
1095
2281
 
1096
2282
  // src/user/user.schema.ts
1097
- var UserSchema = object30({
2283
+ var UserSchema = object31({
1098
2284
  /**
1099
2285
  * Related auth account id from auth Server (e.g. Better auth https://auth.thejob.dev)
1100
2286
  */
1101
- authAccountId: string28().required().label("Auth Account ID"),
2287
+ authAccountId: string29().required().label("Auth Account ID"),
1102
2288
  /**
1103
2289
  * Social media information about the user (e.g. LinkedIn, GitHub, etc.)
1104
2290
  */
1105
- socialAccounts: array12().of(SocialAccountSchema).default([]).label("Social Accounts"),
2291
+ socialAccounts: array13().of(SocialAccountSchema).default([]).label("Social Accounts"),
1106
2292
  /**
1107
2293
  * Work experience information about the user
1108
2294
  */
1109
- workExperiences: array12().of(WorkExperienceSchema).required().default([]).label("Work Experiences"),
2295
+ workExperiences: array13().of(WorkExperienceSchema).required().default([]).label("Work Experiences"),
1110
2296
  /**
1111
2297
  * Education information about the user
1112
2298
  */
1113
- educations: array12().of(EducationSchema).required().default([]).label("Educations"),
2299
+ educations: array13().of(EducationSchema).required().default([]).label("Educations"),
1114
2300
  /**
1115
2301
  * Skills information about the user
1116
2302
  */
1117
- skills: array12().of(UserSkillSchema).required().default([]).label("Skills"),
2303
+ skills: array13().of(UserSkillSchema).required().default([]).label("Skills"),
1118
2304
  /**
1119
2305
  * Projects information about the user
1120
2306
  */
1121
- projects: array12().of(UserProjectSchema).default([]).label("Projects"),
2307
+ projects: array13().of(UserProjectSchema).default([]).label("Projects"),
1122
2308
  /**
1123
2309
  * Certifications information about the user
1124
2310
  */
1125
- certifications: array12().of(UserCertificationSchema).default([]).label("Certifications"),
2311
+ certifications: array13().of(UserCertificationSchema).default([]).label("Certifications"),
1126
2312
  /**
1127
2313
  * Interests information about the user.
1128
2314
  */
1129
- interests: array12().of(UserInterestSchema).optional().default([]).label("Interests"),
2315
+ interests: array13().of(UserInterestSchema).optional().default([]).label("Interests"),
1130
2316
  /**
1131
2317
  * Languages information about the user
1132
2318
  */
1133
- languages: array12().of(UserLanguageSchema).required().default([]).label("Languages"),
2319
+ languages: array13().of(UserLanguageSchema).required().default([]).label("Languages"),
1134
2320
  /**
1135
2321
  * Additional information about the user
1136
2322
  */
1137
- additionalInfo: array12().of(UserAdditionalInfoSchema).default([]).label("Additional Information"),
2323
+ additionalInfo: array13().of(UserAdditionalInfoSchema).default([]).label("Additional Information"),
1138
2324
  /**
1139
2325
  * Status of the user account
1140
2326
  */
1141
- status: string28().oneOf(SupportedUserStatuses).required().label("Status"),
2327
+ status: string29().oneOf(SupportedUserStatuses).required().label("Status"),
1142
2328
  /**
1143
2329
  * Roles assigned to the user
1144
2330
  */
1145
- roles: array12().of(string28().oneOf(SupportedUserRoles)).required().default(DefaultUserRoles).label("Roles"),
2331
+ roles: array13().of(string29().oneOf(SupportedUserRoles)).required().default(DefaultUserRoles).label("Roles"),
1146
2332
  /**
1147
2333
  * Vector embedding of the user's profile for semantic/hybrid search.
1148
2334
  * Generated from a structured summary of skills, experience, education, etc.
1149
2335
  * Only generated for public profiles with sufficient completeness (≥60%).
1150
2336
  */
1151
- embedding: object30({
1152
- vector: array12(number8().required()).optional().label("Embedding vector"),
1153
- model: string28().optional().label("Embedding model")
2337
+ embedding: object31({
2338
+ vector: array13(number9().required()).optional().label("Embedding vector"),
2339
+ model: string29().optional().label("Embedding model")
1154
2340
  }).nullable().optional().label("Embedding")
1155
2341
  }).concat(UserGeneralDetailSchema).concat(UserJobPreferencesSchema).concat(UserRecruiterProfileSchema).concat(UserCoordinatorProfileSchema).noUnknown().strict().label("User Schema");
1156
2342
 
1157
2343
  // src/user/user-completeness.schema.ts
1158
- import { object as object31 } from "yup";
1159
- var UserCompletenessSchema = object31({
2344
+ import { object as object32 } from "yup";
2345
+ var UserCompletenessSchema = object32({
1160
2346
  additionalInfo: CompletenessScoreSchema(0).label("Additional Info"),
1161
2347
  // Optional
1162
2348
  certifications: CompletenessScoreSchema(0).label("Certifications"),
@@ -1209,9 +2395,13 @@ export {
1209
2395
  GroupTranslationSchema,
1210
2396
  GroupVisibility,
1211
2397
  InputQuestionSchema,
2398
+ JOB_TAXONOMY,
2399
+ JobCategory,
2400
+ JobIndustry,
1212
2401
  JobSchema,
1213
2402
  JobSearchUrgency,
1214
2403
  JobStatus,
2404
+ JobSubCategory,
1215
2405
  LocationSchema,
1216
2406
  MIN_SALARY_LOWER_BOUND,
1217
2407
  MIN_SALARY_UPPER_BOUND,
@@ -1219,6 +2409,8 @@ export {
1219
2409
  PageStatus,
1220
2410
  PageType,
1221
2411
  PaginationSchema,
2412
+ PostSchema,
2413
+ PostStatus,
1222
2414
  ProficiencyLevel,
1223
2415
  QuestionSchema,
1224
2416
  QuestionType,
@@ -1243,10 +2435,14 @@ export {
1243
2435
  SupportedEmployeeCounts,
1244
2436
  SupportedEmploymentTypes,
1245
2437
  SupportedExperienceLevels,
2438
+ SupportedJobCategories,
2439
+ SupportedJobIndustries,
1246
2440
  SupportedJobSearchUrgencies,
1247
2441
  SupportedJobStatuses,
2442
+ SupportedJobSubCategories,
1248
2443
  SupportedPageStatuses,
1249
2444
  SupportedPageTypes,
2445
+ SupportedPostStatuses,
1250
2446
  SupportedProficiencyLevels,
1251
2447
  SupportedQuestionTypes,
1252
2448
  SupportedReferralSources,
@@ -1259,6 +2455,7 @@ export {
1259
2455
  SupportedUserRoles,
1260
2456
  SupportedUserStatuses,
1261
2457
  SupportedWorkModes,
2458
+ TAXONOMY_LABELS,
1262
2459
  TermsAcceptedSchema,
1263
2460
  UserAdditionalInfoSchema,
1264
2461
  UserCertificationSchema,
@@ -1279,6 +2476,12 @@ export {
1279
2476
  UserStatus,
1280
2477
  WorkExperienceSchema,
1281
2478
  WorkMode,
2479
+ categoryOfIndustry,
2480
+ categoryOfSubCategory,
1282
2481
  dateString,
1283
- getSchemaByQuestion
2482
+ deriveIndustry,
2483
+ getSchemaByQuestion,
2484
+ industriesOfCategory,
2485
+ industryOfSubCategory,
2486
+ subCategoriesOfIndustry
1284
2487
  };