@thejob/schema 2.0.5 → 2.0.7

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.cjs CHANGED
@@ -61,9 +61,13 @@ __export(index_exports, {
61
61
  GroupTranslationSchema: () => GroupTranslationSchema,
62
62
  GroupVisibility: () => GroupVisibility,
63
63
  InputQuestionSchema: () => InputQuestionSchema,
64
+ JOB_TAXONOMY: () => JOB_TAXONOMY,
65
+ JobCategory: () => JobCategory,
66
+ JobIndustry: () => JobIndustry,
64
67
  JobSchema: () => JobSchema,
65
68
  JobSearchUrgency: () => JobSearchUrgency,
66
69
  JobStatus: () => JobStatus,
70
+ JobSubCategory: () => JobSubCategory,
67
71
  LocationSchema: () => LocationSchema,
68
72
  MIN_SALARY_LOWER_BOUND: () => MIN_SALARY_LOWER_BOUND,
69
73
  MIN_SALARY_UPPER_BOUND: () => MIN_SALARY_UPPER_BOUND,
@@ -97,8 +101,11 @@ __export(index_exports, {
97
101
  SupportedEmployeeCounts: () => SupportedEmployeeCounts,
98
102
  SupportedEmploymentTypes: () => SupportedEmploymentTypes,
99
103
  SupportedExperienceLevels: () => SupportedExperienceLevels,
104
+ SupportedJobCategories: () => SupportedJobCategories,
105
+ SupportedJobIndustries: () => SupportedJobIndustries,
100
106
  SupportedJobSearchUrgencies: () => SupportedJobSearchUrgencies,
101
107
  SupportedJobStatuses: () => SupportedJobStatuses,
108
+ SupportedJobSubCategories: () => SupportedJobSubCategories,
102
109
  SupportedPageStatuses: () => SupportedPageStatuses,
103
110
  SupportedPageTypes: () => SupportedPageTypes,
104
111
  SupportedPostStatuses: () => SupportedPostStatuses,
@@ -114,6 +121,7 @@ __export(index_exports, {
114
121
  SupportedUserRoles: () => SupportedUserRoles,
115
122
  SupportedUserStatuses: () => SupportedUserStatuses,
116
123
  SupportedWorkModes: () => SupportedWorkModes,
124
+ TAXONOMY_LABELS: () => TAXONOMY_LABELS,
117
125
  TermsAcceptedSchema: () => TermsAcceptedSchema,
118
126
  UserAdditionalInfoSchema: () => UserAdditionalInfoSchema,
119
127
  UserCertificationSchema: () => UserCertificationSchema,
@@ -134,8 +142,14 @@ __export(index_exports, {
134
142
  UserStatus: () => UserStatus,
135
143
  WorkExperienceSchema: () => WorkExperienceSchema,
136
144
  WorkMode: () => WorkMode,
145
+ categoryOfIndustry: () => categoryOfIndustry,
146
+ categoryOfSubCategory: () => categoryOfSubCategory,
137
147
  dateString: () => dateString,
138
- getSchemaByQuestion: () => getSchemaByQuestion
148
+ deriveIndustry: () => deriveIndustry,
149
+ getSchemaByQuestion: () => getSchemaByQuestion,
150
+ industriesOfCategory: () => industriesOfCategory,
151
+ industryOfSubCategory: () => industryOfSubCategory,
152
+ subCategoriesOfIndustry: () => subCategoriesOfIndustry
139
153
  });
140
154
  module.exports = __toCommonJS(index_exports);
141
155
 
@@ -537,7 +551,15 @@ var PageSchema = (0, import_yup12.object)().shape({
537
551
  dark: (0, import_yup12.string)().optional().nullable().label("Dark Logo"),
538
552
  light: (0, import_yup12.string)().required().label("Light Logo")
539
553
  }).optional().nullable().default(null).label("Logo"),
554
+ // Taxonomy (see job-taxonomy.constant.ts): category -> industry -> subCategory,
555
+ // stored as slugs and translated for display. As on JobSchema, these are NOT
556
+ // `oneOf`-constrained: a value that drifts out of the taxonomy must be dropped,
557
+ // never a reason to reject the whole page. `categories` is the top level (kept
558
+ // required for backward compatibility); `industries` and `subCategories` are the
559
+ // deeper levels the tree picker fills in when a leaf auto-selects its parents.
540
560
  categories: (0, import_yup12.array)().of((0, import_yup12.string)().trim().required()).required().min(1).label("Categories"),
561
+ industries: (0, import_yup12.array)().of((0, import_yup12.string)().trim().required()).optional().default([]).label("Industries"),
562
+ subCategories: (0, import_yup12.array)().of((0, import_yup12.string)().trim().required()).optional().default([]).label("Sub Categories"),
541
563
  socialAccounts: (0, import_yup12.array)().of(SocialAccountSchema).optional().label("Social Accounts"),
542
564
  isOwner: (0, import_yup12.boolean)().optional().label("Is Owner"),
543
565
  isFeatured: (0, import_yup12.boolean)().optional().default(false).label("Is Featured"),
@@ -852,6 +874,18 @@ var JobSchema = (0, import_yup18.object)({
852
874
  isNegotiable: (0, import_yup18.boolean)().nullable().optional().default(true).label("Is Negotiable")
853
875
  }).nullable().optional().label("Salary Range"),
854
876
  reports: (0, import_yup18.array)().of(UserIdAndCreatedAtSchema).optional().label("Reports"),
877
+ // Taxonomy fields are constants (see job-taxonomy.constant.ts), stored as slugs and
878
+ // translated for display. They are deliberately NOT `oneOf`-constrained here: a value
879
+ // outside the taxonomy must be DROPPED, never a reason to reject the posting. Yup
880
+ // `oneOf` fails the whole object, so one stale subCategory would cost a user their
881
+ // entire job on the create/edit form, and a single drifted LLM value would bin an
882
+ // otherwise-good enriched job.
883
+ //
884
+ // Callers sanitize instead: jobs-service's sanitizeTaxonomy() coerces unknown values
885
+ // to null / filters them out of the array before validation. Taxonomies change over
886
+ // time (values get renamed, retired, added), so stored jobs will always outlive the
887
+ // enum — being lenient here is what lets the taxonomy evolve without a migration
888
+ // gate on every write.
855
889
  category: (0, import_yup18.string)().nullable().optional().label("Category"),
856
890
  industry: (0, import_yup18.string)().nullable().optional().label("Industry"),
857
891
  subCategories: (0, import_yup18.array)().of((0, import_yup18.string)().trim().required()).nullable().optional().label("Sub Categories"),
@@ -861,6 +895,1116 @@ var JobSchema = (0, import_yup18.object)({
861
895
  featuredMarkets: (0, import_yup18.array)().of((0, import_yup18.string)().required()).optional().default([]).label("Featured markets")
862
896
  }).concat(DbDefaultSchema).noUnknown().label("Job");
863
897
 
898
+ // src/job/job-taxonomy.constant.ts
899
+ var JobCategory = /* @__PURE__ */ ((JobCategory2) => {
900
+ JobCategory2["TechnologyDataAndDigital"] = "technology_data_and_digital";
901
+ JobCategory2["HealthcareAndLifeSciences"] = "healthcare_and_life_sciences";
902
+ JobCategory2["AgricultureEnergyAndEnvironment"] = "agriculture_energy_and_environment";
903
+ JobCategory2["FinanceBankingAndLegal"] = "finance_banking_and_legal";
904
+ JobCategory2["ConstructionEngineeringAndTrades"] = "construction_engineering_and_trades";
905
+ JobCategory2["MarketingMediaAndCreative"] = "marketing_media_and_creative";
906
+ JobCategory2["LogisticsSalesAndOperations"] = "logistics_sales_and_operations";
907
+ JobCategory2["EducationAndPublicService"] = "education_and_public_service";
908
+ JobCategory2["HospitalityFoodAndTourism"] = "hospitality_food_and_tourism";
909
+ JobCategory2["ManufacturingAndProduction"] = "manufacturing_and_production";
910
+ JobCategory2["RetailAndConsumerServices"] = "retail_and_consumer_services";
911
+ JobCategory2["AutomotiveAndTransportServices"] = "automotive_and_transport_services";
912
+ return JobCategory2;
913
+ })(JobCategory || {});
914
+ var SupportedJobCategories = Object.values(JobCategory);
915
+ var JobIndustry = /* @__PURE__ */ ((JobIndustry2) => {
916
+ JobIndustry2["SoftwareAndWebDevelopment"] = "software_and_web_development";
917
+ JobIndustry2["DataAIAndAnalytics"] = "data_ai_and_analytics";
918
+ JobIndustry2["ITInfrastructureAndSecurity"] = "it_infrastructure_and_security";
919
+ JobIndustry2["ProductAndDesign"] = "product_and_design";
920
+ JobIndustry2["MedicalPractice"] = "medical_practice";
921
+ JobIndustry2["TherapyAndRehabilitation"] = "therapy_and_rehabilitation";
922
+ JobIndustry2["BioTechAndPharmaceuticals"] = "biotech_and_pharmaceuticals";
923
+ JobIndustry2["MentalHealth"] = "mental_health";
924
+ JobIndustry2["RenewableEnergy"] = "renewable_energy";
925
+ JobIndustry2["NaturalResourcesAndUtilities"] = "natural_resources_and_utilities";
926
+ JobIndustry2["AgricultureAndForestry"] = "agriculture_and_forestry";
927
+ JobIndustry2["EnvironmentalServices"] = "environmental_services";
928
+ JobIndustry2["BankingAndInvestments"] = "banking_and_investments";
929
+ JobIndustry2["FinTechAndInsurance"] = "fintech_and_insurance";
930
+ JobIndustry2["AccountingAndAudit"] = "accounting_and_audit";
931
+ JobIndustry2["LegalServices"] = "legal_services";
932
+ JobIndustry2["ArchitectureAndPlanning"] = "architecture_and_planning";
933
+ JobIndustry2["CivilAndIndustrialEngineering"] = "civil_and_industrial_engineering";
934
+ JobIndustry2["SkilledTrades"] = "skilled_trades";
935
+ JobIndustry2["MarketingAndAdvertising"] = "marketing_and_advertising";
936
+ JobIndustry2["MediaAndEntertainment"] = "media_and_entertainment";
937
+ JobIndustry2["CreativeArtsAndFashion"] = "creative_arts_and_fashion";
938
+ JobIndustry2["SupplyChainAndTransport"] = "supply_chain_and_transport";
939
+ JobIndustry2["SalesAndBusinessDevelopment"] = "sales_and_business_development";
940
+ JobIndustry2["HRAndAdmin"] = "hr_and_admin";
941
+ JobIndustry2["EducationAndTraining"] = "education_and_training";
942
+ JobIndustry2["GovernmentAndNonProfit"] = "government_and_non_profit";
943
+ JobIndustry2["FoodAndBeverageService"] = "food_and_beverage_service";
944
+ JobIndustry2["AccommodationAndTravel"] = "accommodation_and_travel";
945
+ JobIndustry2["ProductionAndAssembly"] = "production_and_assembly";
946
+ JobIndustry2["QualityAndProcess"] = "quality_and_process";
947
+ JobIndustry2["RetailOperations"] = "retail_operations";
948
+ JobIndustry2["CustomerService"] = "customer_service";
949
+ JobIndustry2["VehicleServiceAndRepair"] = "vehicle_service_and_repair";
950
+ JobIndustry2["DrivingAndTransport"] = "driving_and_transport";
951
+ return JobIndustry2;
952
+ })(JobIndustry || {});
953
+ var SupportedJobIndustries = Object.values(JobIndustry);
954
+ var JobSubCategory = /* @__PURE__ */ ((JobSubCategory2) => {
955
+ JobSubCategory2["Frontend"] = "frontend";
956
+ JobSubCategory2["Backend"] = "backend";
957
+ JobSubCategory2["FullStack"] = "full_stack";
958
+ JobSubCategory2["MobileAppDev"] = "mobile_app_dev";
959
+ JobSubCategory2["GameDevelopment"] = "game_development";
960
+ JobSubCategory2["EmbeddedSystems"] = "embedded_systems";
961
+ JobSubCategory2["QAAndTesting"] = "qa_and_testing";
962
+ JobSubCategory2["SoftwareEngineering"] = "software_engineering";
963
+ JobSubCategory2["WebDevelopment"] = "web_development";
964
+ JobSubCategory2["SoftwareArchitecture"] = "software_architecture";
965
+ JobSubCategory2["DataScience"] = "data_science";
966
+ JobSubCategory2["MachineLearning"] = "machine_learning";
967
+ JobSubCategory2["ArtificialIntelligence"] = "artificial_intelligence";
968
+ JobSubCategory2["BusinessIntelligence"] = "business_intelligence";
969
+ JobSubCategory2["DataEngineering"] = "data_engineering";
970
+ JobSubCategory2["DataVisualization"] = "data_visualization";
971
+ JobSubCategory2["DataAnalysis"] = "data_analysis";
972
+ JobSubCategory2["DeepLearning"] = "deep_learning";
973
+ JobSubCategory2["Cybersecurity"] = "cybersecurity";
974
+ JobSubCategory2["CloudEngineering"] = "cloud_engineering";
975
+ JobSubCategory2["DevOps"] = "devops";
976
+ JobSubCategory2["NetworkAdministration"] = "network_administration";
977
+ JobSubCategory2["SystemsEngineering"] = "systems_engineering";
978
+ JobSubCategory2["DatabaseAdministration"] = "database_administration";
979
+ JobSubCategory2["ITSupport"] = "it_support";
980
+ JobSubCategory2["TechnicalSupport"] = "technical_support";
981
+ JobSubCategory2["SiteReliabilityEngineering"] = "site_reliability_engineering";
982
+ JobSubCategory2["ProductManagement"] = "product_management";
983
+ JobSubCategory2["UIUXDesign"] = "ui_ux_design";
984
+ JobSubCategory2["UserResearch"] = "user_research";
985
+ JobSubCategory2["InteractionDesign"] = "interaction_design";
986
+ JobSubCategory2["TechnicalWriting"] = "technical_writing";
987
+ JobSubCategory2["ProductMarketing"] = "product_marketing";
988
+ JobSubCategory2["BusinessAnalysis"] = "business_analysis";
989
+ JobSubCategory2["ProjectManagement"] = "project_management";
990
+ JobSubCategory2["ProgramManagement"] = "program_management";
991
+ JobSubCategory2["Nursing"] = "nursing";
992
+ JobSubCategory2["GeneralPractice"] = "general_practice";
993
+ JobSubCategory2["Surgery"] = "surgery";
994
+ JobSubCategory2["Pediatrics"] = "pediatrics";
995
+ JobSubCategory2["EmergencyMedicine"] = "emergency_medicine";
996
+ JobSubCategory2["Radiology"] = "radiology";
997
+ JobSubCategory2["Anesthesiology"] = "anesthesiology";
998
+ JobSubCategory2["Geriatrics"] = "geriatrics";
999
+ JobSubCategory2["Oncology"] = "oncology";
1000
+ JobSubCategory2["Dentistry"] = "dentistry";
1001
+ JobSubCategory2["DentalHygiene"] = "dental_hygiene";
1002
+ JobSubCategory2["MedicalSecretary"] = "medical_secretary";
1003
+ JobSubCategory2["Veterinary"] = "veterinary";
1004
+ JobSubCategory2["PhysicalTherapy"] = "physical_therapy";
1005
+ JobSubCategory2["OccupationalTherapy"] = "occupational_therapy";
1006
+ JobSubCategory2["SpeechPathology"] = "speech_pathology";
1007
+ JobSubCategory2["RespiratoryTherapy"] = "respiratory_therapy";
1008
+ JobSubCategory2["ElderlyCare"] = "elderly_care";
1009
+ JobSubCategory2["DisabilitySupport"] = "disability_support";
1010
+ JobSubCategory2["ClinicalResearch"] = "clinical_research";
1011
+ JobSubCategory2["DrugDevelopment"] = "drug_development";
1012
+ JobSubCategory2["Bioinformatics"] = "bioinformatics";
1013
+ JobSubCategory2["Microbiology"] = "microbiology";
1014
+ JobSubCategory2["Pharmacology"] = "pharmacology";
1015
+ JobSubCategory2["LaboratoryTech"] = "laboratory_tech";
1016
+ JobSubCategory2["Psychology"] = "psychology";
1017
+ JobSubCategory2["Counseling"] = "counseling";
1018
+ JobSubCategory2["Psychiatry"] = "psychiatry";
1019
+ JobSubCategory2["SocialWork"] = "social_work";
1020
+ JobSubCategory2["AddictionRecovery"] = "addiction_recovery";
1021
+ JobSubCategory2["ChildWelfare"] = "child_welfare";
1022
+ JobSubCategory2["SolarEnergy"] = "solar_energy";
1023
+ JobSubCategory2["WindPower"] = "wind_power";
1024
+ JobSubCategory2["Hydroelectric"] = "hydroelectric";
1025
+ JobSubCategory2["BatteryAndStorageTech"] = "battery_and_storage_tech";
1026
+ JobSubCategory2["Geothermal"] = "geothermal";
1027
+ JobSubCategory2["Biofuels"] = "biofuels";
1028
+ JobSubCategory2["OilAndGas"] = "oil_and_gas";
1029
+ JobSubCategory2["MiningAndGeology"] = "mining_and_geology";
1030
+ JobSubCategory2["NuclearEnergy"] = "nuclear_energy";
1031
+ JobSubCategory2["WaterManagement"] = "water_management";
1032
+ JobSubCategory2["ElectricalGridOperations"] = "electrical_grid_operations";
1033
+ JobSubCategory2["AgriTech"] = "agri_tech";
1034
+ JobSubCategory2["Horticulture"] = "horticulture";
1035
+ JobSubCategory2["LivestockManagement"] = "livestock_management";
1036
+ JobSubCategory2["Forestry"] = "forestry";
1037
+ JobSubCategory2["FisheriesAndAquaculture"] = "fisheries_and_aquaculture";
1038
+ JobSubCategory2["SoilScience"] = "soil_science";
1039
+ JobSubCategory2["SustainabilityConsulting"] = "sustainability_consulting";
1040
+ JobSubCategory2["WasteManagement"] = "waste_management";
1041
+ JobSubCategory2["WildlifeConservation"] = "wildlife_conservation";
1042
+ JobSubCategory2["CarbonAccounting"] = "carbon_accounting";
1043
+ JobSubCategory2["Ecology"] = "ecology";
1044
+ JobSubCategory2["OccupationalHealthAndSafety"] = "occupational_health_and_safety";
1045
+ JobSubCategory2["Sustainability"] = "sustainability";
1046
+ JobSubCategory2["InvestmentBanking"] = "investment_banking";
1047
+ JobSubCategory2["CorporateFinance"] = "corporate_finance";
1048
+ JobSubCategory2["WealthManagement"] = "wealth_management";
1049
+ JobSubCategory2["VentureCapital"] = "venture_capital";
1050
+ JobSubCategory2["AssetManagement"] = "asset_management";
1051
+ JobSubCategory2["FinancialAnalysis"] = "financial_analysis";
1052
+ JobSubCategory2["FinancialPlanning"] = "financial_planning";
1053
+ JobSubCategory2["RiskManagement"] = "risk_management";
1054
+ JobSubCategory2["CreditAnalysis"] = "credit_analysis";
1055
+ JobSubCategory2["CryptocurrencyAndWeb3"] = "cryptocurrency_and_web3";
1056
+ JobSubCategory2["DigitalPayments"] = "digital_payments";
1057
+ JobSubCategory2["ActuarialScience"] = "actuarial_science";
1058
+ JobSubCategory2["InsuranceUnderwriting"] = "insurance_underwriting";
1059
+ JobSubCategory2["ClaimsAdjustment"] = "claims_adjustment";
1060
+ JobSubCategory2["PublicAccounting"] = "public_accounting";
1061
+ JobSubCategory2["Taxation"] = "taxation";
1062
+ JobSubCategory2["ForensicAccounting"] = "forensic_accounting";
1063
+ JobSubCategory2["AuditAndAssurance"] = "audit_and_assurance";
1064
+ JobSubCategory2["Bookkeeping"] = "bookkeeping";
1065
+ JobSubCategory2["AccountsPayable"] = "accounts_payable";
1066
+ JobSubCategory2["AccountsReceivable"] = "accounts_receivable";
1067
+ JobSubCategory2["Payroll"] = "payroll";
1068
+ JobSubCategory2["Collections"] = "collections";
1069
+ JobSubCategory2["CorporateLaw"] = "corporate_law";
1070
+ JobSubCategory2["Litigation"] = "litigation";
1071
+ JobSubCategory2["IntellectualProperty"] = "intellectual_property";
1072
+ JobSubCategory2["ComplianceAndRegulatory"] = "compliance_and_regulatory";
1073
+ JobSubCategory2["ParalegalServices"] = "paralegal_services";
1074
+ JobSubCategory2["Paralegal"] = "paralegal";
1075
+ JobSubCategory2["UrbanPlanning"] = "urban_planning";
1076
+ JobSubCategory2["InteriorDesign"] = "interior_design";
1077
+ JobSubCategory2["LandscapeArchitecture"] = "landscape_architecture";
1078
+ JobSubCategory2["CADBIMManagement"] = "cad_bim_management";
1079
+ JobSubCategory2["ConstructionManagement"] = "construction_management";
1080
+ JobSubCategory2["SiteSupervision"] = "site_supervision";
1081
+ JobSubCategory2["StructuralEngineering"] = "structural_engineering";
1082
+ JobSubCategory2["MechanicalEngineering"] = "mechanical_engineering";
1083
+ JobSubCategory2["ElectricalEngineering"] = "electrical_engineering";
1084
+ JobSubCategory2["RoboticsAndAutomation"] = "robotics_and_automation";
1085
+ JobSubCategory2["ChemicalEngineering"] = "chemical_engineering";
1086
+ JobSubCategory2["IndustrialEngineering"] = "industrial_engineering";
1087
+ JobSubCategory2["ProcessEngineering"] = "process_engineering";
1088
+ JobSubCategory2["Mechatronics"] = "mechatronics";
1089
+ JobSubCategory2["Electrician"] = "electrician";
1090
+ JobSubCategory2["PlumbingAndHVAC"] = "plumbing_and_hvac";
1091
+ JobSubCategory2["Carpentry"] = "carpentry";
1092
+ JobSubCategory2["Welding"] = "welding";
1093
+ JobSubCategory2["HeavyEquipmentOperation"] = "heavy_equipment_operation";
1094
+ JobSubCategory2["Masonry"] = "masonry";
1095
+ JobSubCategory2["Machining"] = "machining";
1096
+ JobSubCategory2["FacilitiesMaintenance"] = "facilities_maintenance";
1097
+ JobSubCategory2["DigitalMarketing"] = "digital_marketing";
1098
+ JobSubCategory2["SEOSEM"] = "seo_sem";
1099
+ JobSubCategory2["ContentStrategy"] = "content_strategy";
1100
+ JobSubCategory2["SocialMediaManagement"] = "social_media_management";
1101
+ JobSubCategory2["BrandManagement"] = "brand_management";
1102
+ JobSubCategory2["MarketResearch"] = "market_research";
1103
+ JobSubCategory2["MarketingStrategy"] = "marketing_strategy";
1104
+ JobSubCategory2["Journalism"] = "journalism";
1105
+ JobSubCategory2["VideoProduction"] = "video_production";
1106
+ JobSubCategory2["AnimationAndVFX"] = "animation_and_vfx";
1107
+ JobSubCategory2["AudioEngineering"] = "audio_engineering";
1108
+ JobSubCategory2["Photography"] = "photography";
1109
+ JobSubCategory2["Broadcasting"] = "broadcasting";
1110
+ JobSubCategory2["GraphicDesign"] = "graphic_design";
1111
+ JobSubCategory2["FineArts"] = "fine_arts";
1112
+ JobSubCategory2["FashionDesign"] = "fashion_design";
1113
+ JobSubCategory2["ApparelManufacturing"] = "apparel_manufacturing";
1114
+ JobSubCategory2["TextileDesign"] = "textile_design";
1115
+ JobSubCategory2["LogisticsManagement"] = "logistics_management";
1116
+ JobSubCategory2["Warehousing"] = "warehousing";
1117
+ JobSubCategory2["FleetOperations"] = "fleet_operations";
1118
+ JobSubCategory2["FreightForwarding"] = "freight_forwarding";
1119
+ JobSubCategory2["Procurement"] = "procurement";
1120
+ JobSubCategory2["Purchasing"] = "purchasing";
1121
+ JobSubCategory2["WarehouseOperations"] = "warehouse_operations";
1122
+ JobSubCategory2["FreightAndShipping"] = "freight_and_shipping";
1123
+ JobSubCategory2["EnterpriseSales"] = "enterprise_sales";
1124
+ JobSubCategory2["AccountManagement"] = "account_management";
1125
+ JobSubCategory2["RetailManagement"] = "retail_management";
1126
+ JobSubCategory2["RealEstateSales"] = "real_estate_sales";
1127
+ JobSubCategory2["CustomerSuccess"] = "customer_success";
1128
+ JobSubCategory2["SalesManagement"] = "sales_management";
1129
+ JobSubCategory2["SalesOperations"] = "sales_operations";
1130
+ JobSubCategory2["SalesSupport"] = "sales_support";
1131
+ JobSubCategory2["TechnicalSales"] = "technical_sales";
1132
+ JobSubCategory2["Recruiting"] = "recruiting";
1133
+ JobSubCategory2["CompensationAndBenefits"] = "compensation_and_benefits";
1134
+ JobSubCategory2["OfficeAdministration"] = "office_administration";
1135
+ JobSubCategory2["ExecutiveAssistance"] = "executive_assistance";
1136
+ JobSubCategory2["OrganizationalDevelopment"] = "organizational_development";
1137
+ JobSubCategory2["HROperations"] = "hr_operations";
1138
+ JobSubCategory2["TalentAcquisition"] = "talent_acquisition";
1139
+ JobSubCategory2["LearningAndDevelopment"] = "learning_and_development";
1140
+ JobSubCategory2["AdministrativeSupport"] = "administrative_support";
1141
+ JobSubCategory2["OfficeManagement"] = "office_management";
1142
+ JobSubCategory2["K12Teaching"] = "k_12_teaching";
1143
+ JobSubCategory2["HigherEducation"] = "higher_education";
1144
+ JobSubCategory2["SpecialEducation"] = "special_education";
1145
+ JobSubCategory2["ESLInstruction"] = "esl_instruction";
1146
+ JobSubCategory2["EdTech"] = "edtech";
1147
+ JobSubCategory2["CorporateTraining"] = "corporate_training";
1148
+ JobSubCategory2["PublicPolicy"] = "public_policy";
1149
+ JobSubCategory2["SocialServices"] = "social_services";
1150
+ JobSubCategory2["FundraisingAndGrants"] = "fundraising_and_grants";
1151
+ JobSubCategory2["LawEnforcement"] = "law_enforcement";
1152
+ JobSubCategory2["Military"] = "military";
1153
+ JobSubCategory2["Diplomacy"] = "diplomacy";
1154
+ JobSubCategory2["PublicAdministration"] = "public_administration";
1155
+ JobSubCategory2["RestaurantOperations"] = "restaurant_operations";
1156
+ JobSubCategory2["FoodPreparation"] = "food_preparation";
1157
+ JobSubCategory2["CulinaryArts"] = "culinary_arts";
1158
+ JobSubCategory2["BaristaAndBar"] = "barista_and_bar";
1159
+ JobSubCategory2["Catering"] = "catering";
1160
+ JobSubCategory2["FoodService"] = "food_service";
1161
+ JobSubCategory2["HotelOperations"] = "hotel_operations";
1162
+ JobSubCategory2["FrontDeskAndReception"] = "front_desk_and_reception";
1163
+ JobSubCategory2["Housekeeping"] = "housekeeping";
1164
+ JobSubCategory2["TravelAndTourism"] = "travel_and_tourism";
1165
+ JobSubCategory2["EventsAndConferences"] = "events_and_conferences";
1166
+ JobSubCategory2["Assembly"] = "assembly";
1167
+ JobSubCategory2["MachineOperation"] = "machine_operation";
1168
+ JobSubCategory2["ProductionManagement"] = "production_management";
1169
+ JobSubCategory2["ManufacturingEngineering"] = "manufacturing_engineering";
1170
+ JobSubCategory2["FoodProduction"] = "food_production";
1171
+ JobSubCategory2["Packaging"] = "packaging";
1172
+ JobSubCategory2["QualityAssurance"] = "quality_assurance";
1173
+ JobSubCategory2["QualityControl"] = "quality_control";
1174
+ JobSubCategory2["ProcessImprovement"] = "process_improvement";
1175
+ JobSubCategory2["MaintenanceAndReliability"] = "maintenance_and_reliability";
1176
+ JobSubCategory2["IndustrialSafety"] = "industrial_safety";
1177
+ JobSubCategory2["StoreManagement"] = "store_management";
1178
+ JobSubCategory2["SalesAssociate"] = "sales_associate";
1179
+ JobSubCategory2["VisualMerchandising"] = "visual_merchandising";
1180
+ JobSubCategory2["CashierAndCheckout"] = "cashier_and_checkout";
1181
+ JobSubCategory2["InventoryAndStock"] = "inventory_and_stock";
1182
+ JobSubCategory2["CustomerSupport"] = "customer_support";
1183
+ JobSubCategory2["CallCentre"] = "call_centre";
1184
+ JobSubCategory2["ClientAdvisory"] = "client_advisory";
1185
+ JobSubCategory2["ComplaintsAndEscalations"] = "complaints_and_escalations";
1186
+ JobSubCategory2["AutomotiveTechnician"] = "automotive_technician";
1187
+ JobSubCategory2["AutomotiveRepair"] = "automotive_repair";
1188
+ JobSubCategory2["HeavyVehicleMechanic"] = "heavy_vehicle_mechanic";
1189
+ JobSubCategory2["VehicleInspection"] = "vehicle_inspection";
1190
+ JobSubCategory2["AutoBodyAndPaint"] = "auto_body_and_paint";
1191
+ JobSubCategory2["TruckDriving"] = "truck_driving";
1192
+ JobSubCategory2["DeliveryAndCourier"] = "delivery_and_courier";
1193
+ JobSubCategory2["PublicTransport"] = "public_transport";
1194
+ JobSubCategory2["FleetManagement"] = "fleet_management";
1195
+ return JobSubCategory2;
1196
+ })(JobSubCategory || {});
1197
+ var SupportedJobSubCategories = Object.values(JobSubCategory);
1198
+ var JOB_TAXONOMY = [
1199
+ {
1200
+ category: "technology_data_and_digital" /* TechnologyDataAndDigital */,
1201
+ industries: [
1202
+ {
1203
+ industry: "software_and_web_development" /* SoftwareAndWebDevelopment */,
1204
+ subCategories: [
1205
+ "frontend" /* Frontend */,
1206
+ "backend" /* Backend */,
1207
+ "full_stack" /* FullStack */,
1208
+ "mobile_app_dev" /* MobileAppDev */,
1209
+ "game_development" /* GameDevelopment */,
1210
+ "embedded_systems" /* EmbeddedSystems */,
1211
+ "qa_and_testing" /* QAAndTesting */,
1212
+ "software_engineering" /* SoftwareEngineering */,
1213
+ "web_development" /* WebDevelopment */,
1214
+ "software_architecture" /* SoftwareArchitecture */
1215
+ ]
1216
+ },
1217
+ {
1218
+ industry: "data_ai_and_analytics" /* DataAIAndAnalytics */,
1219
+ subCategories: [
1220
+ "data_science" /* DataScience */,
1221
+ "machine_learning" /* MachineLearning */,
1222
+ "artificial_intelligence" /* ArtificialIntelligence */,
1223
+ "business_intelligence" /* BusinessIntelligence */,
1224
+ "data_engineering" /* DataEngineering */,
1225
+ "data_visualization" /* DataVisualization */,
1226
+ "data_analysis" /* DataAnalysis */,
1227
+ "deep_learning" /* DeepLearning */
1228
+ ]
1229
+ },
1230
+ {
1231
+ industry: "it_infrastructure_and_security" /* ITInfrastructureAndSecurity */,
1232
+ subCategories: [
1233
+ "cybersecurity" /* Cybersecurity */,
1234
+ "cloud_engineering" /* CloudEngineering */,
1235
+ "devops" /* DevOps */,
1236
+ "network_administration" /* NetworkAdministration */,
1237
+ "systems_engineering" /* SystemsEngineering */,
1238
+ "database_administration" /* DatabaseAdministration */,
1239
+ "it_support" /* ITSupport */,
1240
+ "technical_support" /* TechnicalSupport */,
1241
+ "site_reliability_engineering" /* SiteReliabilityEngineering */
1242
+ ]
1243
+ },
1244
+ {
1245
+ industry: "product_and_design" /* ProductAndDesign */,
1246
+ subCategories: [
1247
+ "product_management" /* ProductManagement */,
1248
+ "ui_ux_design" /* UIUXDesign */,
1249
+ "user_research" /* UserResearch */,
1250
+ "interaction_design" /* InteractionDesign */,
1251
+ "technical_writing" /* TechnicalWriting */,
1252
+ "product_marketing" /* ProductMarketing */,
1253
+ "business_analysis" /* BusinessAnalysis */,
1254
+ "project_management" /* ProjectManagement */,
1255
+ "program_management" /* ProgramManagement */
1256
+ ]
1257
+ }
1258
+ ]
1259
+ },
1260
+ {
1261
+ category: "healthcare_and_life_sciences" /* HealthcareAndLifeSciences */,
1262
+ industries: [
1263
+ {
1264
+ industry: "medical_practice" /* MedicalPractice */,
1265
+ subCategories: [
1266
+ "nursing" /* Nursing */,
1267
+ "general_practice" /* GeneralPractice */,
1268
+ "surgery" /* Surgery */,
1269
+ "pediatrics" /* Pediatrics */,
1270
+ "emergency_medicine" /* EmergencyMedicine */,
1271
+ "radiology" /* Radiology */,
1272
+ "anesthesiology" /* Anesthesiology */,
1273
+ "geriatrics" /* Geriatrics */,
1274
+ "oncology" /* Oncology */,
1275
+ "dentistry" /* Dentistry */,
1276
+ "dental_hygiene" /* DentalHygiene */,
1277
+ "medical_secretary" /* MedicalSecretary */,
1278
+ "veterinary" /* Veterinary */
1279
+ ]
1280
+ },
1281
+ {
1282
+ industry: "therapy_and_rehabilitation" /* TherapyAndRehabilitation */,
1283
+ subCategories: [
1284
+ "physical_therapy" /* PhysicalTherapy */,
1285
+ "occupational_therapy" /* OccupationalTherapy */,
1286
+ "speech_pathology" /* SpeechPathology */,
1287
+ "respiratory_therapy" /* RespiratoryTherapy */,
1288
+ "elderly_care" /* ElderlyCare */,
1289
+ "disability_support" /* DisabilitySupport */
1290
+ ]
1291
+ },
1292
+ {
1293
+ industry: "biotech_and_pharmaceuticals" /* BioTechAndPharmaceuticals */,
1294
+ subCategories: [
1295
+ "clinical_research" /* ClinicalResearch */,
1296
+ "drug_development" /* DrugDevelopment */,
1297
+ "bioinformatics" /* Bioinformatics */,
1298
+ "microbiology" /* Microbiology */,
1299
+ "pharmacology" /* Pharmacology */,
1300
+ "laboratory_tech" /* LaboratoryTech */
1301
+ ]
1302
+ },
1303
+ {
1304
+ industry: "mental_health" /* MentalHealth */,
1305
+ subCategories: [
1306
+ "psychology" /* Psychology */,
1307
+ "counseling" /* Counseling */,
1308
+ "psychiatry" /* Psychiatry */,
1309
+ "social_work" /* SocialWork */,
1310
+ "addiction_recovery" /* AddictionRecovery */,
1311
+ "child_welfare" /* ChildWelfare */
1312
+ ]
1313
+ }
1314
+ ]
1315
+ },
1316
+ {
1317
+ category: "agriculture_energy_and_environment" /* AgricultureEnergyAndEnvironment */,
1318
+ industries: [
1319
+ {
1320
+ industry: "renewable_energy" /* RenewableEnergy */,
1321
+ subCategories: [
1322
+ "solar_energy" /* SolarEnergy */,
1323
+ "wind_power" /* WindPower */,
1324
+ "hydroelectric" /* Hydroelectric */,
1325
+ "battery_and_storage_tech" /* BatteryAndStorageTech */,
1326
+ "geothermal" /* Geothermal */,
1327
+ "biofuels" /* Biofuels */
1328
+ ]
1329
+ },
1330
+ {
1331
+ industry: "natural_resources_and_utilities" /* NaturalResourcesAndUtilities */,
1332
+ subCategories: [
1333
+ "oil_and_gas" /* OilAndGas */,
1334
+ "mining_and_geology" /* MiningAndGeology */,
1335
+ "nuclear_energy" /* NuclearEnergy */,
1336
+ "water_management" /* WaterManagement */,
1337
+ "electrical_grid_operations" /* ElectricalGridOperations */
1338
+ ]
1339
+ },
1340
+ {
1341
+ industry: "agriculture_and_forestry" /* AgricultureAndForestry */,
1342
+ subCategories: [
1343
+ "agri_tech" /* AgriTech */,
1344
+ "horticulture" /* Horticulture */,
1345
+ "livestock_management" /* LivestockManagement */,
1346
+ "forestry" /* Forestry */,
1347
+ "fisheries_and_aquaculture" /* FisheriesAndAquaculture */,
1348
+ "soil_science" /* SoilScience */
1349
+ ]
1350
+ },
1351
+ {
1352
+ industry: "environmental_services" /* EnvironmentalServices */,
1353
+ subCategories: [
1354
+ "sustainability_consulting" /* SustainabilityConsulting */,
1355
+ "waste_management" /* WasteManagement */,
1356
+ "wildlife_conservation" /* WildlifeConservation */,
1357
+ "carbon_accounting" /* CarbonAccounting */,
1358
+ "ecology" /* Ecology */,
1359
+ "occupational_health_and_safety" /* OccupationalHealthAndSafety */,
1360
+ "sustainability" /* Sustainability */
1361
+ ]
1362
+ }
1363
+ ]
1364
+ },
1365
+ {
1366
+ category: "finance_banking_and_legal" /* FinanceBankingAndLegal */,
1367
+ industries: [
1368
+ {
1369
+ industry: "banking_and_investments" /* BankingAndInvestments */,
1370
+ subCategories: [
1371
+ "investment_banking" /* InvestmentBanking */,
1372
+ "corporate_finance" /* CorporateFinance */,
1373
+ "wealth_management" /* WealthManagement */,
1374
+ "venture_capital" /* VentureCapital */,
1375
+ "asset_management" /* AssetManagement */,
1376
+ "financial_analysis" /* FinancialAnalysis */,
1377
+ "financial_planning" /* FinancialPlanning */,
1378
+ "risk_management" /* RiskManagement */,
1379
+ "credit_analysis" /* CreditAnalysis */
1380
+ ]
1381
+ },
1382
+ {
1383
+ industry: "fintech_and_insurance" /* FinTechAndInsurance */,
1384
+ subCategories: [
1385
+ "cryptocurrency_and_web3" /* CryptocurrencyAndWeb3 */,
1386
+ "digital_payments" /* DigitalPayments */,
1387
+ "actuarial_science" /* ActuarialScience */,
1388
+ "insurance_underwriting" /* InsuranceUnderwriting */,
1389
+ "claims_adjustment" /* ClaimsAdjustment */
1390
+ ]
1391
+ },
1392
+ {
1393
+ industry: "accounting_and_audit" /* AccountingAndAudit */,
1394
+ subCategories: [
1395
+ "public_accounting" /* PublicAccounting */,
1396
+ "taxation" /* Taxation */,
1397
+ "forensic_accounting" /* ForensicAccounting */,
1398
+ "audit_and_assurance" /* AuditAndAssurance */,
1399
+ "bookkeeping" /* Bookkeeping */,
1400
+ "accounts_payable" /* AccountsPayable */,
1401
+ "accounts_receivable" /* AccountsReceivable */,
1402
+ "payroll" /* Payroll */,
1403
+ "collections" /* Collections */
1404
+ ]
1405
+ },
1406
+ {
1407
+ industry: "legal_services" /* LegalServices */,
1408
+ subCategories: [
1409
+ "corporate_law" /* CorporateLaw */,
1410
+ "litigation" /* Litigation */,
1411
+ "intellectual_property" /* IntellectualProperty */,
1412
+ "compliance_and_regulatory" /* ComplianceAndRegulatory */,
1413
+ "paralegal_services" /* ParalegalServices */,
1414
+ "paralegal" /* Paralegal */
1415
+ ]
1416
+ }
1417
+ ]
1418
+ },
1419
+ {
1420
+ category: "construction_engineering_and_trades" /* ConstructionEngineeringAndTrades */,
1421
+ industries: [
1422
+ {
1423
+ industry: "architecture_and_planning" /* ArchitectureAndPlanning */,
1424
+ subCategories: [
1425
+ "urban_planning" /* UrbanPlanning */,
1426
+ "interior_design" /* InteriorDesign */,
1427
+ "landscape_architecture" /* LandscapeArchitecture */,
1428
+ "cad_bim_management" /* CADBIMManagement */,
1429
+ "construction_management" /* ConstructionManagement */,
1430
+ "site_supervision" /* SiteSupervision */
1431
+ ]
1432
+ },
1433
+ {
1434
+ industry: "civil_and_industrial_engineering" /* CivilAndIndustrialEngineering */,
1435
+ subCategories: [
1436
+ "structural_engineering" /* StructuralEngineering */,
1437
+ "mechanical_engineering" /* MechanicalEngineering */,
1438
+ "electrical_engineering" /* ElectricalEngineering */,
1439
+ "robotics_and_automation" /* RoboticsAndAutomation */,
1440
+ "chemical_engineering" /* ChemicalEngineering */,
1441
+ "industrial_engineering" /* IndustrialEngineering */,
1442
+ "process_engineering" /* ProcessEngineering */,
1443
+ "mechatronics" /* Mechatronics */
1444
+ ]
1445
+ },
1446
+ {
1447
+ industry: "skilled_trades" /* SkilledTrades */,
1448
+ subCategories: [
1449
+ "electrician" /* Electrician */,
1450
+ "plumbing_and_hvac" /* PlumbingAndHVAC */,
1451
+ "carpentry" /* Carpentry */,
1452
+ "welding" /* Welding */,
1453
+ "heavy_equipment_operation" /* HeavyEquipmentOperation */,
1454
+ "masonry" /* Masonry */,
1455
+ "machining" /* Machining */,
1456
+ "facilities_maintenance" /* FacilitiesMaintenance */
1457
+ ]
1458
+ }
1459
+ ]
1460
+ },
1461
+ {
1462
+ category: "marketing_media_and_creative" /* MarketingMediaAndCreative */,
1463
+ industries: [
1464
+ {
1465
+ industry: "marketing_and_advertising" /* MarketingAndAdvertising */,
1466
+ subCategories: [
1467
+ "digital_marketing" /* DigitalMarketing */,
1468
+ "seo_sem" /* SEOSEM */,
1469
+ "content_strategy" /* ContentStrategy */,
1470
+ "social_media_management" /* SocialMediaManagement */,
1471
+ "brand_management" /* BrandManagement */,
1472
+ "market_research" /* MarketResearch */,
1473
+ "marketing_strategy" /* MarketingStrategy */
1474
+ ]
1475
+ },
1476
+ {
1477
+ industry: "media_and_entertainment" /* MediaAndEntertainment */,
1478
+ subCategories: [
1479
+ "journalism" /* Journalism */,
1480
+ "video_production" /* VideoProduction */,
1481
+ "animation_and_vfx" /* AnimationAndVFX */,
1482
+ "audio_engineering" /* AudioEngineering */,
1483
+ "photography" /* Photography */,
1484
+ "broadcasting" /* Broadcasting */
1485
+ ]
1486
+ },
1487
+ {
1488
+ industry: "creative_arts_and_fashion" /* CreativeArtsAndFashion */,
1489
+ subCategories: [
1490
+ "graphic_design" /* GraphicDesign */,
1491
+ "fine_arts" /* FineArts */,
1492
+ "fashion_design" /* FashionDesign */,
1493
+ "apparel_manufacturing" /* ApparelManufacturing */,
1494
+ "textile_design" /* TextileDesign */
1495
+ ]
1496
+ }
1497
+ ]
1498
+ },
1499
+ {
1500
+ category: "logistics_sales_and_operations" /* LogisticsSalesAndOperations */,
1501
+ industries: [
1502
+ {
1503
+ industry: "supply_chain_and_transport" /* SupplyChainAndTransport */,
1504
+ subCategories: [
1505
+ "logistics_management" /* LogisticsManagement */,
1506
+ "warehousing" /* Warehousing */,
1507
+ "fleet_operations" /* FleetOperations */,
1508
+ "freight_forwarding" /* FreightForwarding */,
1509
+ "procurement" /* Procurement */,
1510
+ "purchasing" /* Purchasing */,
1511
+ "warehouse_operations" /* WarehouseOperations */,
1512
+ "freight_and_shipping" /* FreightAndShipping */
1513
+ ]
1514
+ },
1515
+ {
1516
+ industry: "sales_and_business_development" /* SalesAndBusinessDevelopment */,
1517
+ subCategories: [
1518
+ "enterprise_sales" /* EnterpriseSales */,
1519
+ "account_management" /* AccountManagement */,
1520
+ "retail_management" /* RetailManagement */,
1521
+ "real_estate_sales" /* RealEstateSales */,
1522
+ "customer_success" /* CustomerSuccess */,
1523
+ "sales_management" /* SalesManagement */,
1524
+ "sales_operations" /* SalesOperations */,
1525
+ "sales_support" /* SalesSupport */,
1526
+ "technical_sales" /* TechnicalSales */
1527
+ ]
1528
+ },
1529
+ {
1530
+ industry: "hr_and_admin" /* HRAndAdmin */,
1531
+ subCategories: [
1532
+ "recruiting" /* Recruiting */,
1533
+ "compensation_and_benefits" /* CompensationAndBenefits */,
1534
+ "office_administration" /* OfficeAdministration */,
1535
+ "executive_assistance" /* ExecutiveAssistance */,
1536
+ "organizational_development" /* OrganizationalDevelopment */,
1537
+ "hr_operations" /* HROperations */,
1538
+ "talent_acquisition" /* TalentAcquisition */,
1539
+ "learning_and_development" /* LearningAndDevelopment */,
1540
+ "administrative_support" /* AdministrativeSupport */,
1541
+ "office_management" /* OfficeManagement */
1542
+ ]
1543
+ }
1544
+ ]
1545
+ },
1546
+ {
1547
+ category: "education_and_public_service" /* EducationAndPublicService */,
1548
+ industries: [
1549
+ {
1550
+ industry: "education_and_training" /* EducationAndTraining */,
1551
+ subCategories: [
1552
+ "k_12_teaching" /* K12Teaching */,
1553
+ "higher_education" /* HigherEducation */,
1554
+ "special_education" /* SpecialEducation */,
1555
+ "esl_instruction" /* ESLInstruction */,
1556
+ "edtech" /* EdTech */,
1557
+ "corporate_training" /* CorporateTraining */
1558
+ ]
1559
+ },
1560
+ {
1561
+ industry: "government_and_non_profit" /* GovernmentAndNonProfit */,
1562
+ subCategories: [
1563
+ "public_policy" /* PublicPolicy */,
1564
+ "social_services" /* SocialServices */,
1565
+ "fundraising_and_grants" /* FundraisingAndGrants */,
1566
+ "law_enforcement" /* LawEnforcement */,
1567
+ "military" /* Military */,
1568
+ "diplomacy" /* Diplomacy */,
1569
+ "public_administration" /* PublicAdministration */
1570
+ ]
1571
+ }
1572
+ ]
1573
+ },
1574
+ {
1575
+ category: "hospitality_food_and_tourism" /* HospitalityFoodAndTourism */,
1576
+ industries: [
1577
+ {
1578
+ industry: "food_and_beverage_service" /* FoodAndBeverageService */,
1579
+ subCategories: [
1580
+ "restaurant_operations" /* RestaurantOperations */,
1581
+ "food_preparation" /* FoodPreparation */,
1582
+ "culinary_arts" /* CulinaryArts */,
1583
+ "barista_and_bar" /* BaristaAndBar */,
1584
+ "catering" /* Catering */,
1585
+ "food_service" /* FoodService */
1586
+ ]
1587
+ },
1588
+ {
1589
+ industry: "accommodation_and_travel" /* AccommodationAndTravel */,
1590
+ subCategories: [
1591
+ "hotel_operations" /* HotelOperations */,
1592
+ "front_desk_and_reception" /* FrontDeskAndReception */,
1593
+ "housekeeping" /* Housekeeping */,
1594
+ "travel_and_tourism" /* TravelAndTourism */,
1595
+ "events_and_conferences" /* EventsAndConferences */
1596
+ ]
1597
+ }
1598
+ ]
1599
+ },
1600
+ {
1601
+ category: "manufacturing_and_production" /* ManufacturingAndProduction */,
1602
+ industries: [
1603
+ {
1604
+ industry: "production_and_assembly" /* ProductionAndAssembly */,
1605
+ subCategories: [
1606
+ "assembly" /* Assembly */,
1607
+ "machine_operation" /* MachineOperation */,
1608
+ "production_management" /* ProductionManagement */,
1609
+ "manufacturing_engineering" /* ManufacturingEngineering */,
1610
+ "food_production" /* FoodProduction */,
1611
+ "packaging" /* Packaging */
1612
+ ]
1613
+ },
1614
+ {
1615
+ industry: "quality_and_process" /* QualityAndProcess */,
1616
+ subCategories: [
1617
+ "quality_assurance" /* QualityAssurance */,
1618
+ "quality_control" /* QualityControl */,
1619
+ "process_improvement" /* ProcessImprovement */,
1620
+ "maintenance_and_reliability" /* MaintenanceAndReliability */,
1621
+ "industrial_safety" /* IndustrialSafety */
1622
+ ]
1623
+ }
1624
+ ]
1625
+ },
1626
+ {
1627
+ category: "retail_and_consumer_services" /* RetailAndConsumerServices */,
1628
+ industries: [
1629
+ {
1630
+ industry: "retail_operations" /* RetailOperations */,
1631
+ subCategories: [
1632
+ "store_management" /* StoreManagement */,
1633
+ "sales_associate" /* SalesAssociate */,
1634
+ "visual_merchandising" /* VisualMerchandising */,
1635
+ "cashier_and_checkout" /* CashierAndCheckout */,
1636
+ "inventory_and_stock" /* InventoryAndStock */
1637
+ ]
1638
+ },
1639
+ {
1640
+ industry: "customer_service" /* CustomerService */,
1641
+ subCategories: [
1642
+ "customer_support" /* CustomerSupport */,
1643
+ "call_centre" /* CallCentre */,
1644
+ "client_advisory" /* ClientAdvisory */,
1645
+ "complaints_and_escalations" /* ComplaintsAndEscalations */
1646
+ ]
1647
+ }
1648
+ ]
1649
+ },
1650
+ {
1651
+ category: "automotive_and_transport_services" /* AutomotiveAndTransportServices */,
1652
+ industries: [
1653
+ {
1654
+ industry: "vehicle_service_and_repair" /* VehicleServiceAndRepair */,
1655
+ subCategories: [
1656
+ "automotive_technician" /* AutomotiveTechnician */,
1657
+ "automotive_repair" /* AutomotiveRepair */,
1658
+ "heavy_vehicle_mechanic" /* HeavyVehicleMechanic */,
1659
+ "vehicle_inspection" /* VehicleInspection */,
1660
+ "auto_body_and_paint" /* AutoBodyAndPaint */
1661
+ ]
1662
+ },
1663
+ {
1664
+ industry: "driving_and_transport" /* DrivingAndTransport */,
1665
+ subCategories: [
1666
+ "truck_driving" /* TruckDriving */,
1667
+ "delivery_and_courier" /* DeliveryAndCourier */,
1668
+ "public_transport" /* PublicTransport */,
1669
+ "fleet_management" /* FleetManagement */
1670
+ ]
1671
+ }
1672
+ ]
1673
+ }
1674
+ ];
1675
+ var TAXONOMY_LABELS = {
1676
+ "technology_data_and_digital": "Technology, Data & Digital",
1677
+ "healthcare_and_life_sciences": "Healthcare & Life Sciences",
1678
+ "agriculture_energy_and_environment": "Agriculture, Energy & Environment",
1679
+ "finance_banking_and_legal": "Finance, Banking & Legal",
1680
+ "construction_engineering_and_trades": "Construction, Engineering & Trades",
1681
+ "marketing_media_and_creative": "Marketing, Media & Creative",
1682
+ "logistics_sales_and_operations": "Logistics, Sales & Operations",
1683
+ "education_and_public_service": "Education & Public Service",
1684
+ "hospitality_food_and_tourism": "Hospitality, Food & Tourism",
1685
+ "manufacturing_and_production": "Manufacturing & Production",
1686
+ "retail_and_consumer_services": "Retail & Consumer Services",
1687
+ "automotive_and_transport_services": "Automotive & Transport Services",
1688
+ "software_and_web_development": "Software & Web Development",
1689
+ "data_ai_and_analytics": "Data, AI & Analytics",
1690
+ "it_infrastructure_and_security": "IT Infrastructure & Security",
1691
+ "product_and_design": "Product & Design",
1692
+ "medical_practice": "Medical Practice",
1693
+ "therapy_and_rehabilitation": "Therapy & Rehabilitation",
1694
+ "biotech_and_pharmaceuticals": "BioTech & Pharmaceuticals",
1695
+ "mental_health": "Mental Health",
1696
+ "renewable_energy": "Renewable Energy",
1697
+ "natural_resources_and_utilities": "Natural Resources & Utilities",
1698
+ "agriculture_and_forestry": "Agriculture & Forestry",
1699
+ "environmental_services": "Environmental Services",
1700
+ "banking_and_investments": "Banking & Investments",
1701
+ "fintech_and_insurance": "FinTech & Insurance",
1702
+ "accounting_and_audit": "Accounting & Audit",
1703
+ "legal_services": "Legal Services",
1704
+ "architecture_and_planning": "Architecture & Planning",
1705
+ "civil_and_industrial_engineering": "Civil & Industrial Engineering",
1706
+ "skilled_trades": "Skilled Trades",
1707
+ "marketing_and_advertising": "Marketing & Advertising",
1708
+ "media_and_entertainment": "Media & Entertainment",
1709
+ "creative_arts_and_fashion": "Creative Arts & Fashion",
1710
+ "supply_chain_and_transport": "Supply Chain & Transport",
1711
+ "sales_and_business_development": "Sales & Business Development",
1712
+ "hr_and_admin": "HR & Admin",
1713
+ "education_and_training": "Education & Training",
1714
+ "government_and_non_profit": "Government & Non-Profit",
1715
+ "food_and_beverage_service": "Food & Beverage Service",
1716
+ "accommodation_and_travel": "Accommodation & Travel",
1717
+ "production_and_assembly": "Production & Assembly",
1718
+ "quality_and_process": "Quality & Process",
1719
+ "retail_operations": "Retail Operations",
1720
+ "customer_service": "Customer Service",
1721
+ "vehicle_service_and_repair": "Vehicle Service & Repair",
1722
+ "driving_and_transport": "Driving & Transport",
1723
+ "frontend": "Frontend",
1724
+ "backend": "Backend",
1725
+ "full_stack": "Full Stack",
1726
+ "mobile_app_dev": "Mobile App Dev",
1727
+ "game_development": "Game Development",
1728
+ "embedded_systems": "Embedded Systems",
1729
+ "qa_and_testing": "QA & Testing",
1730
+ "software_engineering": "Software Engineering",
1731
+ "web_development": "Web Development",
1732
+ "software_architecture": "Software Architecture",
1733
+ "data_science": "Data Science",
1734
+ "machine_learning": "Machine Learning",
1735
+ "artificial_intelligence": "Artificial Intelligence",
1736
+ "business_intelligence": "Business Intelligence",
1737
+ "data_engineering": "Data Engineering",
1738
+ "data_visualization": "Data Visualization",
1739
+ "data_analysis": "Data Analysis",
1740
+ "deep_learning": "Deep Learning",
1741
+ "cybersecurity": "Cybersecurity",
1742
+ "cloud_engineering": "Cloud Engineering",
1743
+ "devops": "DevOps",
1744
+ "network_administration": "Network Administration",
1745
+ "systems_engineering": "Systems Engineering",
1746
+ "database_administration": "Database Administration",
1747
+ "it_support": "IT Support",
1748
+ "technical_support": "Technical Support",
1749
+ "site_reliability_engineering": "Site Reliability Engineering",
1750
+ "product_management": "Product Management",
1751
+ "ui_ux_design": "UI/UX Design",
1752
+ "user_research": "User Research",
1753
+ "interaction_design": "Interaction Design",
1754
+ "technical_writing": "Technical Writing",
1755
+ "product_marketing": "Product Marketing",
1756
+ "business_analysis": "Business Analysis",
1757
+ "project_management": "Project Management",
1758
+ "program_management": "Program Management",
1759
+ "nursing": "Nursing",
1760
+ "general_practice": "General Practice",
1761
+ "surgery": "Surgery",
1762
+ "pediatrics": "Pediatrics",
1763
+ "emergency_medicine": "Emergency Medicine",
1764
+ "radiology": "Radiology",
1765
+ "anesthesiology": "Anesthesiology",
1766
+ "geriatrics": "Geriatrics",
1767
+ "oncology": "Oncology",
1768
+ "dentistry": "Dentistry",
1769
+ "dental_hygiene": "Dental Hygiene",
1770
+ "medical_secretary": "Medical Secretary",
1771
+ "veterinary": "Veterinary",
1772
+ "physical_therapy": "Physical Therapy",
1773
+ "occupational_therapy": "Occupational Therapy",
1774
+ "speech_pathology": "Speech Pathology",
1775
+ "respiratory_therapy": "Respiratory Therapy",
1776
+ "elderly_care": "Elderly Care",
1777
+ "disability_support": "Disability Support",
1778
+ "clinical_research": "Clinical Research",
1779
+ "drug_development": "Drug Development",
1780
+ "bioinformatics": "Bioinformatics",
1781
+ "microbiology": "Microbiology",
1782
+ "pharmacology": "Pharmacology",
1783
+ "laboratory_tech": "Laboratory Tech",
1784
+ "psychology": "Psychology",
1785
+ "counseling": "Counseling",
1786
+ "psychiatry": "Psychiatry",
1787
+ "social_work": "Social Work",
1788
+ "addiction_recovery": "Addiction Recovery",
1789
+ "child_welfare": "Child Welfare",
1790
+ "solar_energy": "Solar Energy",
1791
+ "wind_power": "Wind Power",
1792
+ "hydroelectric": "Hydroelectric",
1793
+ "battery_and_storage_tech": "Battery & Storage Tech",
1794
+ "geothermal": "Geothermal",
1795
+ "biofuels": "Biofuels",
1796
+ "oil_and_gas": "Oil & Gas",
1797
+ "mining_and_geology": "Mining & Geology",
1798
+ "nuclear_energy": "Nuclear Energy",
1799
+ "water_management": "Water Management",
1800
+ "electrical_grid_operations": "Electrical Grid Operations",
1801
+ "agri_tech": "Agri-Tech",
1802
+ "horticulture": "Horticulture",
1803
+ "livestock_management": "Livestock Management",
1804
+ "forestry": "Forestry",
1805
+ "fisheries_and_aquaculture": "Fisheries & Aquaculture",
1806
+ "soil_science": "Soil Science",
1807
+ "sustainability_consulting": "Sustainability Consulting",
1808
+ "waste_management": "Waste Management",
1809
+ "wildlife_conservation": "Wildlife Conservation",
1810
+ "carbon_accounting": "Carbon Accounting",
1811
+ "ecology": "Ecology",
1812
+ "occupational_health_and_safety": "Occupational Health & Safety",
1813
+ "sustainability": "Sustainability",
1814
+ "investment_banking": "Investment Banking",
1815
+ "corporate_finance": "Corporate Finance",
1816
+ "wealth_management": "Wealth Management",
1817
+ "venture_capital": "Venture Capital",
1818
+ "asset_management": "Asset Management",
1819
+ "financial_analysis": "Financial Analysis",
1820
+ "financial_planning": "Financial Planning",
1821
+ "risk_management": "Risk Management",
1822
+ "credit_analysis": "Credit Analysis",
1823
+ "cryptocurrency_and_web3": "Cryptocurrency & Web3",
1824
+ "digital_payments": "Digital Payments",
1825
+ "actuarial_science": "Actuarial Science",
1826
+ "insurance_underwriting": "Insurance Underwriting",
1827
+ "claims_adjustment": "Claims Adjustment",
1828
+ "public_accounting": "Public Accounting",
1829
+ "taxation": "Taxation",
1830
+ "forensic_accounting": "Forensic Accounting",
1831
+ "audit_and_assurance": "Audit & Assurance",
1832
+ "bookkeeping": "Bookkeeping",
1833
+ "accounts_payable": "Accounts Payable",
1834
+ "accounts_receivable": "Accounts Receivable",
1835
+ "payroll": "Payroll",
1836
+ "collections": "Collections",
1837
+ "corporate_law": "Corporate Law",
1838
+ "litigation": "Litigation",
1839
+ "intellectual_property": "Intellectual Property",
1840
+ "compliance_and_regulatory": "Compliance & Regulatory",
1841
+ "paralegal_services": "Paralegal Services",
1842
+ "paralegal": "Paralegal",
1843
+ "urban_planning": "Urban Planning",
1844
+ "interior_design": "Interior Design",
1845
+ "landscape_architecture": "Landscape Architecture",
1846
+ "cad_bim_management": "CAD/BIM Management",
1847
+ "construction_management": "Construction Management",
1848
+ "site_supervision": "Site Supervision",
1849
+ "structural_engineering": "Structural Engineering",
1850
+ "mechanical_engineering": "Mechanical Engineering",
1851
+ "electrical_engineering": "Electrical Engineering",
1852
+ "robotics_and_automation": "Robotics & Automation",
1853
+ "chemical_engineering": "Chemical Engineering",
1854
+ "industrial_engineering": "Industrial Engineering",
1855
+ "process_engineering": "Process Engineering",
1856
+ "mechatronics": "Mechatronics",
1857
+ "electrician": "Electrician",
1858
+ "plumbing_and_hvac": "Plumbing & HVAC",
1859
+ "carpentry": "Carpentry",
1860
+ "welding": "Welding",
1861
+ "heavy_equipment_operation": "Heavy Equipment Operation",
1862
+ "masonry": "Masonry",
1863
+ "machining": "Machining",
1864
+ "facilities_maintenance": "Facilities Maintenance",
1865
+ "digital_marketing": "Digital Marketing",
1866
+ "seo_sem": "SEO/SEM",
1867
+ "content_strategy": "Content Strategy",
1868
+ "social_media_management": "Social Media Management",
1869
+ "brand_management": "Brand Management",
1870
+ "market_research": "Market Research",
1871
+ "marketing_strategy": "Marketing Strategy",
1872
+ "journalism": "Journalism",
1873
+ "video_production": "Video Production",
1874
+ "animation_and_vfx": "Animation & VFX",
1875
+ "audio_engineering": "Audio Engineering",
1876
+ "photography": "Photography",
1877
+ "broadcasting": "Broadcasting",
1878
+ "graphic_design": "Graphic Design",
1879
+ "fine_arts": "Fine Arts",
1880
+ "fashion_design": "Fashion Design",
1881
+ "apparel_manufacturing": "Apparel Manufacturing",
1882
+ "textile_design": "Textile Design",
1883
+ "logistics_management": "Logistics Management",
1884
+ "warehousing": "Warehousing",
1885
+ "fleet_operations": "Fleet Operations",
1886
+ "freight_forwarding": "Freight Forwarding",
1887
+ "procurement": "Procurement",
1888
+ "purchasing": "Purchasing",
1889
+ "warehouse_operations": "Warehouse Operations",
1890
+ "freight_and_shipping": "Freight & Shipping",
1891
+ "enterprise_sales": "Enterprise Sales",
1892
+ "account_management": "Account Management",
1893
+ "retail_management": "Retail Management",
1894
+ "real_estate_sales": "Real Estate Sales",
1895
+ "customer_success": "Customer Success",
1896
+ "sales_management": "Sales Management",
1897
+ "sales_operations": "Sales Operations",
1898
+ "sales_support": "Sales Support",
1899
+ "technical_sales": "Technical Sales",
1900
+ "recruiting": "Recruiting",
1901
+ "compensation_and_benefits": "Compensation & Benefits",
1902
+ "office_administration": "Office Administration",
1903
+ "executive_assistance": "Executive Assistance",
1904
+ "organizational_development": "Organizational Development",
1905
+ "hr_operations": "HR Operations",
1906
+ "talent_acquisition": "Talent Acquisition",
1907
+ "learning_and_development": "Learning & Development",
1908
+ "administrative_support": "Administrative Support",
1909
+ "office_management": "Office Management",
1910
+ "k_12_teaching": "K-12 Teaching",
1911
+ "higher_education": "Higher Education",
1912
+ "special_education": "Special Education",
1913
+ "esl_instruction": "ESL Instruction",
1914
+ "edtech": "EdTech",
1915
+ "corporate_training": "Corporate Training",
1916
+ "public_policy": "Public Policy",
1917
+ "social_services": "Social Services",
1918
+ "fundraising_and_grants": "Fundraising & Grants",
1919
+ "law_enforcement": "Law Enforcement",
1920
+ "military": "Military",
1921
+ "diplomacy": "Diplomacy",
1922
+ "public_administration": "Public Administration",
1923
+ "restaurant_operations": "Restaurant Operations",
1924
+ "food_preparation": "Food Preparation",
1925
+ "culinary_arts": "Culinary Arts",
1926
+ "barista_and_bar": "Barista & Bar",
1927
+ "catering": "Catering",
1928
+ "food_service": "Food Service",
1929
+ "hotel_operations": "Hotel Operations",
1930
+ "front_desk_and_reception": "Front Desk & Reception",
1931
+ "housekeeping": "Housekeeping",
1932
+ "travel_and_tourism": "Travel & Tourism",
1933
+ "events_and_conferences": "Events & Conferences",
1934
+ "assembly": "Assembly",
1935
+ "machine_operation": "Machine Operation",
1936
+ "production_management": "Production Management",
1937
+ "manufacturing_engineering": "Manufacturing Engineering",
1938
+ "food_production": "Food Production",
1939
+ "packaging": "Packaging",
1940
+ "quality_assurance": "Quality Assurance",
1941
+ "quality_control": "Quality Control",
1942
+ "process_improvement": "Process Improvement",
1943
+ "maintenance_and_reliability": "Maintenance & Reliability",
1944
+ "industrial_safety": "Industrial Safety",
1945
+ "store_management": "Store Management",
1946
+ "sales_associate": "Sales Associate",
1947
+ "visual_merchandising": "Visual Merchandising",
1948
+ "cashier_and_checkout": "Cashier & Checkout",
1949
+ "inventory_and_stock": "Inventory & Stock",
1950
+ "customer_support": "Customer Support",
1951
+ "call_centre": "Call Centre",
1952
+ "client_advisory": "Client Advisory",
1953
+ "complaints_and_escalations": "Complaints & Escalations",
1954
+ "automotive_technician": "Automotive Technician",
1955
+ "automotive_repair": "Automotive Repair",
1956
+ "heavy_vehicle_mechanic": "Heavy Vehicle Mechanic",
1957
+ "vehicle_inspection": "Vehicle Inspection",
1958
+ "auto_body_and_paint": "Auto Body & Paint",
1959
+ "truck_driving": "Truck Driving",
1960
+ "delivery_and_courier": "Delivery & Courier",
1961
+ "public_transport": "Public Transport",
1962
+ "fleet_management": "Fleet Management"
1963
+ };
1964
+
1965
+ // src/job/job-taxonomy.util.ts
1966
+ var INDUSTRY_OF_SUB = new Map(
1967
+ JOB_TAXONOMY.flatMap(
1968
+ (c) => c.industries.flatMap((i) => i.subCategories.map((s) => [s, i.industry]))
1969
+ )
1970
+ );
1971
+ var CATEGORY_OF_SUB = new Map(
1972
+ JOB_TAXONOMY.flatMap(
1973
+ (c) => c.industries.flatMap((i) => i.subCategories.map((s) => [s, c.category]))
1974
+ )
1975
+ );
1976
+ var CATEGORY_OF_INDUSTRY = new Map(
1977
+ JOB_TAXONOMY.flatMap((c) => c.industries.map((i) => [i.industry, c.category]))
1978
+ );
1979
+ function industryOfSubCategory(sub) {
1980
+ return INDUSTRY_OF_SUB.get(sub);
1981
+ }
1982
+ function categoryOfSubCategory(sub) {
1983
+ return CATEGORY_OF_SUB.get(sub);
1984
+ }
1985
+ function categoryOfIndustry(industry) {
1986
+ return CATEGORY_OF_INDUSTRY.get(industry);
1987
+ }
1988
+ function industriesOfCategory(category) {
1989
+ return JOB_TAXONOMY.find((c) => c.category === category)?.industries.map((i) => i.industry) ?? [];
1990
+ }
1991
+ function subCategoriesOfIndustry(industry) {
1992
+ for (const c of JOB_TAXONOMY) {
1993
+ for (const i of c.industries) if (i.industry === industry) return i.subCategories;
1994
+ }
1995
+ return [];
1996
+ }
1997
+ function deriveIndustry(category, subCategories) {
1998
+ const subs = (subCategories ?? []).filter((s) => INDUSTRY_OF_SUB.has(s));
1999
+ if (subs.length === 0) return void 0;
2000
+ if (category) {
2001
+ const inCategory = subs.find((s) => CATEGORY_OF_SUB.get(s) === category);
2002
+ if (inCategory) return INDUSTRY_OF_SUB.get(inCategory);
2003
+ return void 0;
2004
+ }
2005
+ return INDUSTRY_OF_SUB.get(subs[0]);
2006
+ }
2007
+
864
2008
  // src/post/post.schema.ts
865
2009
  var import_yup19 = require("yup");
866
2010
 
@@ -1415,9 +2559,13 @@ var StudentCompletenessSchema = UserCompletenessSchema.omit([
1415
2559
  GroupTranslationSchema,
1416
2560
  GroupVisibility,
1417
2561
  InputQuestionSchema,
2562
+ JOB_TAXONOMY,
2563
+ JobCategory,
2564
+ JobIndustry,
1418
2565
  JobSchema,
1419
2566
  JobSearchUrgency,
1420
2567
  JobStatus,
2568
+ JobSubCategory,
1421
2569
  LocationSchema,
1422
2570
  MIN_SALARY_LOWER_BOUND,
1423
2571
  MIN_SALARY_UPPER_BOUND,
@@ -1451,8 +2599,11 @@ var StudentCompletenessSchema = UserCompletenessSchema.omit([
1451
2599
  SupportedEmployeeCounts,
1452
2600
  SupportedEmploymentTypes,
1453
2601
  SupportedExperienceLevels,
2602
+ SupportedJobCategories,
2603
+ SupportedJobIndustries,
1454
2604
  SupportedJobSearchUrgencies,
1455
2605
  SupportedJobStatuses,
2606
+ SupportedJobSubCategories,
1456
2607
  SupportedPageStatuses,
1457
2608
  SupportedPageTypes,
1458
2609
  SupportedPostStatuses,
@@ -1468,6 +2619,7 @@ var StudentCompletenessSchema = UserCompletenessSchema.omit([
1468
2619
  SupportedUserRoles,
1469
2620
  SupportedUserStatuses,
1470
2621
  SupportedWorkModes,
2622
+ TAXONOMY_LABELS,
1471
2623
  TermsAcceptedSchema,
1472
2624
  UserAdditionalInfoSchema,
1473
2625
  UserCertificationSchema,
@@ -1488,6 +2640,12 @@ var StudentCompletenessSchema = UserCompletenessSchema.omit([
1488
2640
  UserStatus,
1489
2641
  WorkExperienceSchema,
1490
2642
  WorkMode,
2643
+ categoryOfIndustry,
2644
+ categoryOfSubCategory,
1491
2645
  dateString,
1492
- getSchemaByQuestion
2646
+ deriveIndustry,
2647
+ getSchemaByQuestion,
2648
+ industriesOfCategory,
2649
+ industryOfSubCategory,
2650
+ subCategoriesOfIndustry
1493
2651
  });