From f4e5d2ddb18cf788b692f177c5133c0bcc975b9c Mon Sep 17 00:00:00 2001 From: Yangshun Tay Date: Fri, 4 Nov 2022 19:56:40 +0800 Subject: [PATCH] [portal][chore] update job titles enum --- apps/portal/prisma/seed-salaries.ts | 40 +++++++++---------- .../portal/src/components/shared/JobTitles.ts | 27 ++++++++++++- 2 files changed, 46 insertions(+), 21 deletions(-) diff --git a/apps/portal/prisma/seed-salaries.ts b/apps/portal/prisma/seed-salaries.ts index c4f14469..5cedeaf9 100644 --- a/apps/portal/prisma/seed-salaries.ts +++ b/apps/portal/prisma/seed-salaries.ts @@ -47,7 +47,7 @@ const getJobTitle = (role: string) => { const processedRole = role.toUpperCase().trim(); if (processedRole.includes('ML ENGINEER')) { - return 'ai-ml-engineer'; + return 'machine-learning-engineer'; } else if (processedRole.includes('BACKEND')) { return 'back-end-engineer'; } else if (processedRole.includes('DATA')) { @@ -117,13 +117,13 @@ const seedSalaries = async () => { }); // get countryId of Singapore - const singapore = (await prisma.city.findFirst({ + const singapore = await prisma.city.findFirst({ where: { - name: "Singapore" - } - })) + name: 'Singapore', + }, + }); - console.log("Singapore ID: " + singapore?.id) + console.log('Singapore ID: ' + singapore?.id); // break; // seed here @@ -171,8 +171,8 @@ const seedSalaries = async () => { jobType: 'INTERN', location: { connect: { - id: singapore.id - } + id: singapore.id, + }, }, // TODO: DEFAULT AS SG monthYearReceived: xlSerialToJsDate(data.Timestamp), negotiationStrategy: '', @@ -193,10 +193,10 @@ const seedSalaries = async () => { ), currency: 'SGD', // assume sgd value: data.Income - ? typeof data.Income === 'number' - ? data.Income - : 0 - : 0, + ? typeof data.Income === 'number' + ? data.Income + : 0 + : 0, }, }, startYear: xlSerialToJsDate( @@ -235,8 +235,8 @@ const seedSalaries = async () => { jobType: 'FULLTIME', location: { connect: { - id: singapore.id - } + id: singapore.id, + }, }, // TODO: DEFAULT AS SG monthYearReceived: xlSerialToJsDate(data.Timestamp), negotiationStrategy: '', @@ -256,10 +256,10 @@ const seedSalaries = async () => { ), currency: 'SGD', // assume sgd value: data.Income - ? typeof data.Income === 'number' - ? data.Income - : 0 - : 0, + ? typeof data.Income === 'number' + ? data.Income + : 0 + : 0, }, }, bonus: { @@ -358,8 +358,8 @@ const generateAllAnalysis = async () => { Promise.all([seedSalaries()]) .then(() => { - console.log(createdProfileIds.length + " profiles created") - console.log("Busy crunching analysis.....") + console.log(createdProfileIds.length + ' profiles created'); + console.log('Busy crunching analysis.....'); }) .then(() => generateAllAnalysis()) .then((_data) => { diff --git a/apps/portal/src/components/shared/JobTitles.ts b/apps/portal/src/components/shared/JobTitles.ts index 0dfcb336..1c1edc11 100644 --- a/apps/portal/src/components/shared/JobTitles.ts +++ b/apps/portal/src/components/shared/JobTitles.ts @@ -1,27 +1,52 @@ export const JobTitleLabels = { - 'ai-ml-engineer': 'AI/ML Engineer', + 'ai-engineer': 'Artificial Intelligence (AI) Engineer', 'algorithms-engineer': 'Algorithms Engineer', 'android-engineer': 'Android Software Engineer', 'applications-engineer': 'Applications Engineer', 'back-end-engineer': 'Back End Engineer', + 'business-analyst': 'Business Analyst', 'business-engineer': 'Business Engineer', + 'capacity-engineer': 'Capacity Engineer', + 'customer-engineer': 'Customer Engineer', + 'data-analyst': 'Data Analyst', 'data-engineer': 'Data Engineer', + 'data-scientist': 'Data Scientist', 'devops-engineer': 'DevOps Engineer', + 'engineering-director': 'Engineering Director', + 'engineering-manager': 'Engineering Manager', 'enterprise-engineer': 'Enterprise Engineer', + 'forward-deployed-engineer': 'Forward Deployed Engineer', 'front-end-engineer': 'Front End Engineer', + 'full-stack-engineer': 'Full Stack Engineer', + 'gameplay-engineer': 'Gameplay Engineer', 'hardware-engineer': 'Hardware Engineer', + 'infrastructure-engineer': 'Infrastructure Engineer', 'ios-engineer': 'iOS Software Engineer', + 'machine-learning-engineer': 'Machine Learning (ML) Engineer', + 'machine-learning-researcher': 'Machine Learning (ML) Researcher', 'mobile-engineer': 'Mobile Software Engineer (iOS + Android)', 'networks-engineer': 'Networks Engineer', 'partner-engineer': 'Partner Engineer', + 'product-engineer': 'Product Engineer', + 'product-manager': 'Product Manager', 'production-engineer': 'Production Engineer', + 'project-manager': 'Project Manager', + 'release-engineer': 'Release Engineer', 'research-engineer': 'Research Engineer', + 'research-scientist': 'Research Scientist', + 'rotational-engineer': 'Rotational Engineer', 'sales-engineer': 'Sales Engineer', 'security-engineer': 'Security Engineer', 'site-reliability-engineer': 'Site Reliability Engineer (SRE)', 'software-engineer': 'Software Engineer', + 'solutions-architect': 'Solutions Architect', + 'solutions-engineer': 'Solutions Engineer', + 'systems-analyst': 'Systems Analyst', 'systems-engineer': 'Systems Engineer', + 'tech-ops-engineer': 'Tech Ops Engineer', + 'technical-program-manager': 'Technical Program Manager', 'test-engineer': 'QA/Test Engineer (SDET)', + 'ux-engineer': 'User Experience (UX) Engineer', }; export type JobTitleType = keyof typeof JobTitleLabels;