feat(learn): split InforSec and QA into individual certs (#38347)
Co-authored-by: Mrugesh Mohapatra <me@raisedadead.com> Co-authored-by: Kris Koishigawa <scissorsneedfoodtoo@gmail.com>
This commit is contained in:
committed by
Mrugesh Mohapatra
parent
c75d212831
commit
256ed00fb9
@ -13,12 +13,12 @@ import {
|
||||
legacyFrontEndChallengeId,
|
||||
legacyBackEndChallengeId,
|
||||
legacyDataVisId,
|
||||
legacyInfosecQaId,
|
||||
respWebDesignId,
|
||||
frontEndLibsId,
|
||||
jsAlgoDataStructId,
|
||||
dataVis2018Id,
|
||||
apisMicroservicesId,
|
||||
infosecQaId,
|
||||
infosecId,
|
||||
qaId,
|
||||
fullStackId,
|
||||
@ -98,6 +98,7 @@ function createCertTypeIds(app) {
|
||||
[certTypes.frontEnd]: getIdsForCert$(legacyFrontEndChallengeId, Challenge),
|
||||
[certTypes.backEnd]: getIdsForCert$(legacyBackEndChallengeId, Challenge),
|
||||
[certTypes.dataVis]: getIdsForCert$(legacyDataVisId, Challenge),
|
||||
[certTypes.infosecQa]: getIdsForCert$(legacyInfosecQaId, Challenge),
|
||||
|
||||
// modern
|
||||
[certTypes.respWebDesign]: getIdsForCert$(respWebDesignId, Challenge),
|
||||
@ -108,7 +109,6 @@ function createCertTypeIds(app) {
|
||||
apisMicroservicesId,
|
||||
Challenge
|
||||
),
|
||||
[certTypes.infosecQa]: getIdsForCert$(infosecQaId, Challenge),
|
||||
[certTypes.qa]: getIdsForCert$(qaId, Challenge),
|
||||
[certTypes.infosec]: getIdsForCert$(infosecId, Challenge),
|
||||
[certTypes.fullStack]: getIdsForCert$(fullStackId, Challenge),
|
||||
@ -131,12 +131,12 @@ const certIds = {
|
||||
[certTypes.frontEnd]: legacyFrontEndChallengeId,
|
||||
[certTypes.backEnd]: legacyBackEndChallengeId,
|
||||
[certTypes.dataVis]: legacyDataVisId,
|
||||
[certTypes.infosecQa]: legacyInfosecQaId,
|
||||
[certTypes.respWebDesign]: respWebDesignId,
|
||||
[certTypes.frontEndLibs]: frontEndLibsId,
|
||||
[certTypes.jsAlgoDataStruct]: jsAlgoDataStructId,
|
||||
[certTypes.dataVis2018]: dataVis2018Id,
|
||||
[certTypes.apisMicroservices]: apisMicroservicesId,
|
||||
[certTypes.infosecQa]: infosecQaId,
|
||||
[certTypes.qa]: qaId,
|
||||
[certTypes.infosec]: infosecId,
|
||||
[certTypes.fullStack]: fullStackId,
|
||||
@ -149,13 +149,13 @@ const certText = {
|
||||
[certTypes.frontEnd]: 'Legacy Front End',
|
||||
[certTypes.backEnd]: 'Legacy Back End',
|
||||
[certTypes.dataVis]: 'Legacy Data Visualization',
|
||||
[certTypes.infosecQa]: 'Legacy Information Security and Quality Assurance',
|
||||
[certTypes.fullStack]: 'Full Stack',
|
||||
[certTypes.respWebDesign]: 'Responsive Web Design',
|
||||
[certTypes.frontEndLibs]: 'Front End Libraries',
|
||||
[certTypes.jsAlgoDataStruct]: 'JavaScript Algorithms and Data Structures',
|
||||
[certTypes.dataVis2018]: 'Data Visualization',
|
||||
[certTypes.apisMicroservices]: 'APIs and Microservices',
|
||||
[certTypes.infosecQa]: 'Information Security and Quality Assurance',
|
||||
[certTypes.qa]: 'Quality Assurance',
|
||||
[certTypes.infosec]: 'Information Security',
|
||||
[certTypes.sciCompPy]: 'Scientific Computing with Python',
|
||||
@ -167,13 +167,13 @@ const completionHours = {
|
||||
[certTypes.frontEnd]: 400,
|
||||
[certTypes.backEnd]: 400,
|
||||
[certTypes.dataVis]: 400,
|
||||
[certTypes.infosecQa]: 300,
|
||||
[certTypes.fullStack]: 1800,
|
||||
[certTypes.respWebDesign]: 300,
|
||||
[certTypes.frontEndLibs]: 300,
|
||||
[certTypes.jsAlgoDataStruct]: 300,
|
||||
[certTypes.dataVis2018]: 300,
|
||||
[certTypes.apisMicroservices]: 300,
|
||||
[certTypes.infosecQa]: 300,
|
||||
[certTypes.qa]: 300,
|
||||
[certTypes.infosec]: 300,
|
||||
[certTypes.sciCompPy]: 400,
|
||||
@ -202,7 +202,6 @@ function sendCertifiedEmail(
|
||||
isJsAlgoDataStructCert,
|
||||
isDataVisCert,
|
||||
isApisMicroservicesCert,
|
||||
isInfosecQaCert,
|
||||
isQaCert,
|
||||
isInfosecCert,
|
||||
isSciCompPyCert,
|
||||
@ -218,7 +217,6 @@ function sendCertifiedEmail(
|
||||
!isJsAlgoDataStructCert ||
|
||||
!isDataVisCert ||
|
||||
!isApisMicroservicesCert ||
|
||||
!isInfosecQaCert ||
|
||||
!isQaCert ||
|
||||
!isInfosecCert ||
|
||||
!isSciCompPyCert ||
|
||||
|
@ -4,13 +4,13 @@
|
||||
"legacyFrontEndChallengeId": "561add10cb82ac38a17513be",
|
||||
"legacyBackEndChallengeId": "660add10cb82ac38a17513be",
|
||||
"legacyDataVisId": "561add10cb82ac39a17513bc",
|
||||
"legacyInfosecQaId": "561add10cb82ac38a17213bc",
|
||||
|
||||
"respWebDesignId": "561add10cb82ac38a17513bc",
|
||||
"frontEndLibsId": "561acd10cb82ac38a17513bc",
|
||||
"dataVis2018Id": "5a553ca864b52e1d8bceea14",
|
||||
"jsAlgoDataStructId": "561abd10cb81ac38a17513bc",
|
||||
"apisMicroservicesId": "561add10cb82ac38a17523bc",
|
||||
"infosecQaId": "561add10cb82ac38a17213bc",
|
||||
"qaId": "5e611829481575a52dc59c0e",
|
||||
"infosecId": "5e6021435ac9d0ecd8b94b00",
|
||||
"fullStackId": "561add10cb82ac38a17213bd",
|
||||
|
@ -3,7 +3,6 @@ function getCompletedCertCount(user) {
|
||||
'isApisMicroservicesCert',
|
||||
'is2018DataVisCert',
|
||||
'isFrontEndLibsCert',
|
||||
'isInfosecQaCert',
|
||||
'isQaCert',
|
||||
'isInfosecCert',
|
||||
'isJsAlgoDataStructCert',
|
||||
@ -15,10 +14,12 @@ function getCompletedCertCount(user) {
|
||||
}
|
||||
|
||||
function getLegacyCertCount(user) {
|
||||
return ['isFrontEndCert', 'isBackEndCert', 'isDataVisCert'].reduce(
|
||||
(sum, key) => (user[key] ? sum + 1 : sum),
|
||||
0
|
||||
);
|
||||
return [
|
||||
'isFrontEndCert',
|
||||
'isBackEndCert',
|
||||
'isDataVisCert',
|
||||
'isInfosecQaCert'
|
||||
].reduce((sum, key) => (user[key] ? sum + 1 : sum), 0);
|
||||
}
|
||||
|
||||
export default function populateUser(db, user) {
|
||||
|
@ -5,6 +5,7 @@ const superBlockCertTypeMap = {
|
||||
'legacy-front-end': certTypes.frontEnd,
|
||||
'legacy-back-end': certTypes.backEnd,
|
||||
'legacy-data-visualization': certTypes.dataVis,
|
||||
'legacy-information-security-and-quality-assurance': certTypes.infosecQa,
|
||||
|
||||
// modern
|
||||
'responsive-web-design': certTypes.respWebDesign,
|
||||
@ -12,7 +13,6 @@ const superBlockCertTypeMap = {
|
||||
'front-end-libraries': certTypes.frontEndLibs,
|
||||
'data-visualization': certTypes.dataVis2018,
|
||||
'apis-and-microservices': certTypes.apisMicroservices,
|
||||
'information-security-and-quality-assurance': certTypes.infosecQa,
|
||||
'quality-assurance': certTypes.qa,
|
||||
'information-security': certTypes.infosec,
|
||||
'full-stack': certTypes.fullStack,
|
||||
|
@ -142,7 +142,6 @@ function getCompletedCertCount(user) {
|
||||
'isApisMicroservicesCert',
|
||||
'is2018DataVisCert',
|
||||
'isFrontEndLibsCert',
|
||||
'isInfosecQaCert',
|
||||
'isQaCert',
|
||||
'isInfosecCert',
|
||||
'isJsAlgoDataStructCert',
|
||||
@ -154,8 +153,10 @@ function getCompletedCertCount(user) {
|
||||
}
|
||||
|
||||
function getLegacyCertCount(user) {
|
||||
return ['isFrontEndCert', 'isBackEndCert', 'isDataVisCert'].reduce(
|
||||
(sum, key) => (user[key] ? sum + 1 : sum),
|
||||
0
|
||||
);
|
||||
return [
|
||||
'isFrontEndCert',
|
||||
'isBackEndCert',
|
||||
'isDataVisCert',
|
||||
'isInfosecQaCert'
|
||||
].reduce((sum, key) => (user[key] ? sum + 1 : sum), 0);
|
||||
}
|
||||
|
Reference in New Issue
Block a user