diff --git a/api-server/common/models/user.json b/api-server/common/models/user.json index 6ac9b75ea5..a6e9f2ac4d 100644 --- a/api-server/common/models/user.json +++ b/api-server/common/models/user.json @@ -167,12 +167,12 @@ "description": "Camper is information security and quality assurance certified", "default": false }, - "is2020QaCert": { + "isQaCertV7": { "type": "boolean", "description": "Camper is quality assurance certified", "default": false }, - "is2020InfosecCert": { + "isInfosecCertV7": { "type": "boolean", "description": "Camper is information security certified", "default": false @@ -182,17 +182,17 @@ "description": "Camper is full stack certified (2018)", "default": false }, - "is2020SciCompPyCert": { + "isSciCompPyCertV7": { "type": "boolean", "description": "Camper is scientific computing with Python certified", "default": false }, - "is2020DataAnalysisPyCert": { + "isDataAnalysisPyCertV7": { "type": "boolean", "description": "Camper is data analysis with Python certified", "default": false }, - "is2020MachineLearningPyCert": { + "isMachineLearningPyCertV7": { "type": "boolean", "description": "Camper is machine learning with Python certified", "default": false diff --git a/api-server/server/boot/certificate.js b/api-server/server/boot/certificate.js index 3da834af89..614ef516f7 100644 --- a/api-server/server/boot/certificate.js +++ b/api-server/server/boot/certificate.js @@ -21,11 +21,11 @@ import { jsAlgoDataStructId, dataVis2018Id, apisMicroservicesId, - qa2020Id, - infosec2020Id, - sciCompPy2020Id, - dataAnalysisPy2020Id, - machineLearningPy2020Id + qaV7Id, + infosecV7Id, + sciCompPyV7Id, + dataAnalysisPyV7Id, + machineLearningPyV7Id } from '../utils/constantStrings.json'; import { oldDataVizId } from '../../../config/misc'; import certTypes from '../utils/certTypes.json'; @@ -117,15 +117,12 @@ function createCertTypeIds(app) { apisMicroservicesId, Challenge ), - [certTypes.qa2020]: getIdsForCert$(qa2020Id, Challenge), - [certTypes.infosec2020]: getIdsForCert$(infosec2020Id, Challenge), - [certTypes.sciCompPy2020]: getIdsForCert$(sciCompPy2020Id, Challenge), - [certTypes.dataAnalysisPy2020]: getIdsForCert$( - dataAnalysisPy2020Id, - Challenge - ), - [certTypes.machineLearningPy2020]: getIdsForCert$( - machineLearningPy2020Id, + [certTypes.qaV7]: getIdsForCert$(qaV7Id, Challenge), + [certTypes.infosecV7]: getIdsForCert$(infosecV7Id, Challenge), + [certTypes.sciCompPyV7]: getIdsForCert$(sciCompPyV7Id, Challenge), + [certTypes.dataAnalysisPyV7]: getIdsForCert$(dataAnalysisPyV7Id, Challenge), + [certTypes.machineLearningPyV7]: getIdsForCert$( + machineLearningPyV7Id, Challenge ) }; @@ -148,11 +145,11 @@ const certIds = { [certTypes.jsAlgoDataStruct]: jsAlgoDataStructId, [certTypes.dataVis2018]: dataVis2018Id, [certTypes.apisMicroservices]: apisMicroservicesId, - [certTypes.qa2020]: qa2020Id, - [certTypes.infosec2020]: infosec2020Id, - [certTypes.sciCompPy2020]: sciCompPy2020Id, - [certTypes.dataAnalysisPy2020]: dataAnalysisPy2020Id, - [certTypes.machineLearningPy2020]: machineLearningPy2020Id + [certTypes.qaV7]: qaV7Id, + [certTypes.infosecV7]: infosecV7Id, + [certTypes.sciCompPyV7]: sciCompPyV7Id, + [certTypes.dataAnalysisPyV7]: dataAnalysisPyV7Id, + [certTypes.machineLearningPyV7]: machineLearningPyV7Id }; const certText = { @@ -166,11 +163,11 @@ const certText = { [certTypes.jsAlgoDataStruct]: 'JavaScript Algorithms and Data Structures', [certTypes.dataVis2018]: 'Data Visualization', [certTypes.apisMicroservices]: 'APIs and Microservices', - [certTypes.qa2020]: 'Quality Assurance', - [certTypes.infosec2020]: 'Information Security', - [certTypes.sciCompPy2020]: 'Scientific Computing with Python', - [certTypes.dataAnalysisPy2020]: 'Data Analysis with Python', - [certTypes.machineLearningPy2020]: 'Machine Learning with Python' + [certTypes.qaV7]: 'Quality Assurance', + [certTypes.infosecV7]: 'Information Security', + [certTypes.sciCompPyV7]: 'Scientific Computing with Python', + [certTypes.dataAnalysisPyV7]: 'Data Analysis with Python', + [certTypes.machineLearningPyV7]: 'Machine Learning with Python' }; const completionHours = { @@ -184,11 +181,11 @@ const completionHours = { [certTypes.jsAlgoDataStruct]: 300, [certTypes.dataVis2018]: 300, [certTypes.apisMicroservices]: 300, - [certTypes.qa2020]: 300, - [certTypes.infosec2020]: 300, - [certTypes.sciCompPy2020]: 400, - [certTypes.dataAnalysisPy2020]: 400, - [certTypes.machineLearningPy2020]: 400 + [certTypes.qaV7]: 300, + [certTypes.infosecV7]: 300, + [certTypes.sciCompPyV7]: 400, + [certTypes.dataAnalysisPyV7]: 400, + [certTypes.machineLearningPyV7]: 400 }; function getIdsForCert$(id, Challenge) { @@ -212,11 +209,11 @@ function sendCertifiedEmail( isJsAlgoDataStructCert, isDataVisCert, isApisMicroservicesCert, - is2020QaCert, - is2020InfosecCert, - is2020SciCompPyCert, - is2020DataAnalysisPyCert, - is2020MachineLearningPyCert + isQaCertV7, + isInfosecCertV7, + isSciCompPyCertV7, + isDataAnalysisPyCertV7, + isMachineLearningPyCertV7 }, send$ ) { @@ -227,11 +224,11 @@ function sendCertifiedEmail( !isJsAlgoDataStructCert || !isDataVisCert || !isApisMicroservicesCert || - !is2020QaCert || - !is2020InfosecCert || - !is2020SciCompPyCert || - !is2020DataAnalysisPyCert || - !is2020MachineLearningPyCert + !isQaCertV7 || + !isInfosecCertV7 || + !isSciCompPyCertV7 || + !isDataAnalysisPyCertV7 || + !isMachineLearningPyCertV7 ) { return Observable.just(false); } @@ -259,15 +256,15 @@ function getUserIsCertMap(user) { is2018DataVisCert = false, isApisMicroservicesCert = false, isInfosecQaCert = false, - is2020QaCert = false, - is2020InfosecCert = false, + isQaCertV7 = false, + isInfosecCertV7 = false, isFrontEndCert = false, isBackEndCert = false, isDataVisCert = false, isFullStackCert = false, - is2020SciCompPyCert = false, - is2020DataAnalysisPyCert = false, - is2020MachineLearningPyCert = false + isSciCompPyCertV7 = false, + isDataAnalysisPyCertV7 = false, + isMachineLearningPyCertV7 = false } = user; return { @@ -277,15 +274,15 @@ function getUserIsCertMap(user) { is2018DataVisCert, isApisMicroservicesCert, isInfosecQaCert, - is2020QaCert, - is2020InfosecCert, + isQaCertV7, + isInfosecCertV7, isFrontEndCert, isBackEndCert, isDataVisCert, isFullStackCert, - is2020SciCompPyCert, - is2020DataAnalysisPyCert, - is2020MachineLearningPyCert + isSciCompPyCertV7, + isDataAnalysisPyCertV7, + isMachineLearningPyCertV7 }; } @@ -412,11 +409,11 @@ function createShowCert(app) { is2018DataVisCert: true, isApisMicroservicesCert: true, isInfosecQaCert: true, - is2020QaCert: true, - is2020InfosecCert: true, - is2020SciCompPyCert: true, - is2020DataAnalysisPyCert: true, - is2020MachineLearningPyCert: true, + isQaCertV7: true, + isInfosecCertV7: true, + isSciCompPyCertV7: true, + isDataAnalysisPyCertV7: true, + isMachineLearningPyCertV7: true, isHonest: true, username: true, name: true, diff --git a/api-server/server/boot/user.js b/api-server/server/boot/user.js index 8e241ed4c4..1266f95bbd 100644 --- a/api-server/server/boot/user.js +++ b/api-server/server/boot/user.js @@ -162,16 +162,16 @@ function postResetProgress(req, res, next) { isJsAlgoDataStructCert: false, isApisMicroservicesCert: false, isInfosecQaCert: false, - is2020QaCert: false, - is2020InfosecCert: false, + isQaCertV7: false, + isInfosecCertV7: false, is2018FullStackCert: false, isFrontEndCert: false, isBackEndCert: false, isDataVisCert: false, isFullStackCert: false, - is2020SciCompPyCert: false, - is2020DataAnalysisPyCert: false, - is2020MachineLearningPyCert: false, + isSciCompPyCertV7: false, + isDataAnalysisPyCertV7: false, + isMachineLearningPyCertV7: false, completedChallenges: [] }, function(err) { diff --git a/api-server/server/utils/certTypes.json b/api-server/server/utils/certTypes.json index 8da768e284..5d441b9a3f 100644 --- a/api-server/server/utils/certTypes.json +++ b/api-server/server/utils/certTypes.json @@ -8,10 +8,10 @@ "jsAlgoDataStruct": "isJsAlgoDataStructCert", "apisMicroservices": "isApisMicroservicesCert", "infosecQa": "isInfosecQaCert", - "qa2020": "is2020QaCert", - "infosec2020": "is2020InfosecCert", - "sciCompPy2020": "is2020SciCompPyCert", - "dataAnalysisPy2020": "is2020DataAnalysisPyCert", - "machineLearningPy2020": "is2020MachineLearningPyCert", + "qaV7": "isQaCertV7", + "infosecV7": "isInfosecCertV7", + "sciCompPyV7": "isSciCompPyCertV7", + "dataAnalysisPyV7": "isDataAnalysisPyCertV7", + "machineLearningPyV7": "isMachineLearningPyCertV7", "fullStack": "isFullStackCert" } diff --git a/api-server/server/utils/commit.js b/api-server/server/utils/commit.js index 27b954c4ba..a34de539d2 100644 --- a/api-server/server/utils/commit.js +++ b/api-server/server/utils/commit.js @@ -18,11 +18,11 @@ export function completeCommitment$(user) { isDataVisCert, isApisMicroservicesCert, isInfosecQaCert, - is2020QaCert, - is2020InfosecCert, - is2020SciCompPyCert, - is2020DataAnalysisPyCert, - is2020MachineLearningPyCert + isQaCertV7, + isInfosecCertV7, + isSciCompPyCertV7, + isDataAnalysisPyCertV7, + isMachineLearningPyCertV7 } = user; return Observable.fromNodeCallback(user.pledge, user)().flatMap(pledge => { @@ -42,12 +42,11 @@ export function completeCommitment$(user) { (isDataVisCert && goal === commitGoals.dataVisCert) || (isApisMicroservicesCert && goal === commitGoals.apisMicroservicesCert) || (isInfosecQaCert && goal === commitGoals.infosecQaCert) || - (is2020QaCert && goal === commitGoals.QaCert) || - (is2020InfosecCert && goal === commitGoals.infosecCert) || - (is2020SciCompPyCert && goal === commitGoals.sciCompPyCert) || - (is2020DataAnalysisPyCert && goal === commitGoals.dataAnalysisPyCert) || - (is2020MachineLearningPyCert && - goal === commitGoals.machineLearningPyCert) + (isQaCertV7 && goal === commitGoals.QaCert) || + (isInfosecCertV7 && goal === commitGoals.infosecCert) || + (isSciCompPyCertV7 && goal === commitGoals.sciCompPyCert) || + (isDataAnalysisPyCertV7 && goal === commitGoals.dataAnalysisPyCert) || + (isMachineLearningPyCertV7 && goal === commitGoals.machineLearningPyCert) ) { debug('marking goal complete'); pledge.isCompleted = true; diff --git a/api-server/server/utils/constantStrings.json b/api-server/server/utils/constantStrings.json index b29380e23c..0da80668f2 100644 --- a/api-server/server/utils/constantStrings.json +++ b/api-server/server/utils/constantStrings.json @@ -12,9 +12,9 @@ "dataVis2018Id": "5a553ca864b52e1d8bceea14", "jsAlgoDataStructId": "561abd10cb81ac38a17513bc", "apisMicroservicesId": "561add10cb82ac38a17523bc", - "qa2020Id": "5e611829481575a52dc59c0e", - "infosec2020Id": "5e6021435ac9d0ecd8b94b00", - "sciCompPy2020Id": "5e44431b903586ffb414c951", - "dataAnalysisPy2020Id": "5e46fc95ac417301a38fb934", - "machineLearningPy2020Id": "5e46fc95ac417301a38fb935" + "qaV7Id": "5e611829481575a52dc59c0e", + "infosecV7Id": "5e6021435ac9d0ecd8b94b00", + "sciCompPyV7Id": "5e44431b903586ffb414c951", + "dataAnalysisPyV7Id": "5e46fc95ac417301a38fb934", + "machineLearningPyV7Id": "5e46fc95ac417301a38fb935" } diff --git a/api-server/server/utils/getDynamicPropsForUser.js b/api-server/server/utils/getDynamicPropsForUser.js index 45bcfafed8..c292d16d53 100644 --- a/api-server/server/utils/getDynamicPropsForUser.js +++ b/api-server/server/utils/getDynamicPropsForUser.js @@ -3,13 +3,13 @@ function getCompletedCertCount(user) { 'isApisMicroservicesCert', 'is2018DataVisCert', 'isFrontEndLibsCert', - 'is2020QaCert', - 'is2020InfosecCert', + 'isQaCertV7', + 'isInfosecCertV7', 'isJsAlgoDataStructCert', 'isRespWebDesignCert', - 'is2020SciCompPyCert', - 'is2020DataAnalysisPyCert', - 'is2020MachineLearningPyCert' + 'isSciCompPyCertV7', + 'isDataAnalysisPyCertV7', + 'isMachineLearningPyCertV7' ].reduce((sum, key) => (user[key] ? sum + 1 : sum), 0); } diff --git a/api-server/server/utils/publicUserProps.js b/api-server/server/utils/publicUserProps.js index 5ff1c1ffff..6c1282bedf 100644 --- a/api-server/server/utils/publicUserProps.js +++ b/api-server/server/utils/publicUserProps.js @@ -23,13 +23,13 @@ export const publicUserProps = [ 'isFrontEndLibsCert', 'isHonest', 'isInfosecQaCert', - 'is2020QaCert', - 'is2020InfosecCert', + 'isQaCertV7', + 'isInfosecCertV7', 'isJsAlgoDataStructCert', 'isRespWebDesignCert', - 'is2020SciCompPyCert', - 'is2020DataAnalysisPyCert', - 'is2020MachineLearningPyCert', + 'isSciCompPyCertV7', + 'isDataAnalysisPyCertV7', + 'isMachineLearningPyCertV7', 'linkedin', 'location', 'name', diff --git a/api-server/server/utils/superBlockCertTypeMap.js b/api-server/server/utils/superBlockCertTypeMap.js index dcaa626b42..b2c4ec8907 100644 --- a/api-server/server/utils/superBlockCertTypeMap.js +++ b/api-server/server/utils/superBlockCertTypeMap.js @@ -16,11 +16,11 @@ const superBlockCertTypeMap = { 'front-end-libraries': certTypes.frontEndLibs, 'data-visualization': certTypes.dataVis2018, 'apis-and-microservices': certTypes.apisMicroservices, - '2020-quality-assurance': certTypes.qa2020, - '2020-information-security': certTypes.infosec2020, - '2020-scientific-computing-with-python': certTypes.sciCompPy2020, - '2020-data-analysis-with-python': certTypes.dataAnalysisPy2020, - '2020-machine-learning-with-python': certTypes.machineLearningPy2020 + 'quality-assurance-v7': certTypes.qaV7, + 'information-security-v7': certTypes.infosecV7, + 'scientific-computing-with-python-v7': certTypes.sciCompPyV7, + 'data-analysis-with-python-v7': certTypes.dataAnalysisPyV7, + 'machine-learning-with-python-v7': certTypes.machineLearningPyV7 }; export default superBlockCertTypeMap; diff --git a/api-server/server/utils/user-stats.js b/api-server/server/utils/user-stats.js index 787eaf13cf..9880d73bc5 100644 --- a/api-server/server/utils/user-stats.js +++ b/api-server/server/utils/user-stats.js @@ -142,13 +142,13 @@ function getCompletedCertCount(user) { 'isApisMicroservicesCert', 'is2018DataVisCert', 'isFrontEndLibsCert', - 'is2020QaCert', - 'is2020InfosecCert', + 'isQaCertV7', + 'isInfosecCertV7', 'isJsAlgoDataStructCert', 'isRespWebDesignCert', - 'is2020SciCompPyCert', - 'is2020DataAnalysisPyCert', - 'is2020MachineLearningPyCert' + 'isSciCompPyCertV7', + 'isDataAnalysisPyCertV7', + 'isMachineLearningPyCertV7' ].reduce((sum, key) => (user[key] ? sum + 1 : sum), 0); } diff --git a/client/src/client-only-routes/ShowSettings.js b/client/src/client-only-routes/ShowSettings.js index d0d681191b..9d2f8d7a70 100644 --- a/client/src/client-only-routes/ShowSettings.js +++ b/client/src/client-only-routes/ShowSettings.js @@ -60,13 +60,13 @@ const propTypes = { isFullStackCert: PropTypes.bool, isHonest: PropTypes.bool, isInfosecQaCert: PropTypes.bool, - is2020QaCert: PropTypes.bool, - is2020InfosecCert: PropTypes.bool, + isQaCertV7: PropTypes.bool, + isInfosecCertV7: PropTypes.bool, isJsAlgoDataStructCert: PropTypes.bool, isRespWebDesignCert: PropTypes.bool, - is2020SciCompPyCert: PropTypes.bool, - is2020DataAnalysisPyCert: PropTypes.bool, - is2020MachineLearningPyCert: PropTypes.bool, + isSciCompPyCertV7: PropTypes.bool, + isDataAnalysisPyCertV7: PropTypes.bool, + isMachineLearningPyCertV7: PropTypes.bool, linkedin: PropTypes.string, location: PropTypes.string, name: PropTypes.string, @@ -134,14 +134,14 @@ export function ShowSettings(props) { isDataVisCert, isFrontEndCert, isInfosecQaCert, - is2020QaCert, - is2020InfosecCert, + isQaCertV7, + isInfosecCertV7, isFrontEndLibsCert, isFullStackCert, isRespWebDesignCert, - is2020SciCompPyCert, - is2020DataAnalysisPyCert, - is2020MachineLearningPyCert, + isSciCompPyCertV7, + isDataAnalysisPyCertV7, + isMachineLearningPyCertV7, isEmailVerified, isHonest, sendQuincyEmail, @@ -241,21 +241,21 @@ export function ShowSettings(props) { completedChallenges={completedChallenges} createFlashMessage={createFlashMessage} is2018DataVisCert={is2018DataVisCert} - is2020DataAnalysisPyCert={is2020DataAnalysisPyCert} - is2020InfosecCert={is2020InfosecCert} - is2020MachineLearningPyCert={is2020MachineLearningPyCert} - is2020QaCert={is2020QaCert} - is2020SciCompPyCert={is2020SciCompPyCert} isApisMicroservicesCert={isApisMicroservicesCert} isBackEndCert={isBackEndCert} + isDataAnalysisPyCertV7={isDataAnalysisPyCertV7} isDataVisCert={isDataVisCert} isFrontEndCert={isFrontEndCert} isFrontEndLibsCert={isFrontEndLibsCert} isFullStackCert={isFullStackCert} isHonest={isHonest} + isInfosecCertV7={isInfosecCertV7} isInfosecQaCert={isInfosecQaCert} isJsAlgoDataStructCert={isJsAlgoDataStructCert} + isMachineLearningPyCertV7={isMachineLearningPyCertV7} + isQaCertV7={isQaCertV7} isRespWebDesignCert={isRespWebDesignCert} + isSciCompPyCertV7={isSciCompPyCertV7} username={username} verifyCert={verifyCert} /> diff --git a/client/src/components/settings/Certification.js b/client/src/components/settings/Certification.js index 826720192b..dc058b0b25 100644 --- a/client/src/components/settings/Certification.js +++ b/client/src/components/settings/Certification.js @@ -45,21 +45,21 @@ const propTypes = { ), createFlashMessage: PropTypes.func.isRequired, is2018DataVisCert: PropTypes.bool, - is2020DataAnalysisPyCert: PropTypes.bool, - is2020InfosecCert: PropTypes.bool, - is2020MachineLearningPyCert: PropTypes.bool, - is2020QaCert: PropTypes.bool, - is2020SciCompPyCert: PropTypes.bool, isApisMicroservicesCert: PropTypes.bool, isBackEndCert: PropTypes.bool, + isDataAnalysisPyCertV7: PropTypes.bool, isDataVisCert: PropTypes.bool, isFrontEndCert: PropTypes.bool, isFrontEndLibsCert: PropTypes.bool, isFullStackCert: PropTypes.bool, isHonest: PropTypes.bool, + isInfosecCertV7: PropTypes.bool, isInfosecQaCert: PropTypes.bool, isJsAlgoDataStructCert: PropTypes.bool, + isMachineLearningPyCertV7: PropTypes.bool, + isQaCertV7: PropTypes.bool, isRespWebDesignCert: PropTypes.bool, + isSciCompPyCertV7: PropTypes.bool, updateLegacyCert: PropTypes.func.isRequired, username: PropTypes.string, verifyCert: PropTypes.func.isRequired @@ -75,14 +75,14 @@ const isCertSelector = ({ isDataVisCert, isFrontEndCert, isInfosecQaCert, - is2020QaCert, - is2020InfosecCert, + isQaCertV7, + isInfosecCertV7, isFrontEndLibsCert, isFullStackCert, isRespWebDesignCert, - is2020SciCompPyCert, - is2020DataAnalysisPyCert, - is2020MachineLearningPyCert + isSciCompPyCertV7, + isDataAnalysisPyCertV7, + isMachineLearningPyCertV7 }) => ({ is2018DataVisCert, isApisMicroservicesCert, @@ -91,14 +91,14 @@ const isCertSelector = ({ isDataVisCert, isFrontEndCert, isInfosecQaCert, - is2020QaCert, - is2020InfosecCert, + isQaCertV7, + isInfosecCertV7, isFrontEndLibsCert, isFullStackCert, isRespWebDesignCert, - is2020SciCompPyCert, - is2020DataAnalysisPyCert, - is2020MachineLearningPyCert + isSciCompPyCertV7, + isDataAnalysisPyCertV7, + isMachineLearningPyCertV7 }); const isCertMapSelector = createSelector( @@ -108,27 +108,27 @@ const isCertMapSelector = createSelector( isApisMicroservicesCert, isJsAlgoDataStructCert, isInfosecQaCert, - is2020QaCert, - is2020InfosecCert, + isQaCertV7, + isInfosecCertV7, isFrontEndLibsCert, isRespWebDesignCert, isDataVisCert, isFrontEndCert, isBackEndCert, - is2020SciCompPyCert, - is2020DataAnalysisPyCert, - is2020MachineLearningPyCert + isSciCompPyCertV7, + isDataAnalysisPyCertV7, + isMachineLearningPyCertV7 }) => ({ 'Responsive Web Design': isRespWebDesignCert, 'JavaScript Algorithms and Data Structures': isJsAlgoDataStructCert, 'Front End Libraries': isFrontEndLibsCert, 'Data Visualization': is2018DataVisCert, 'APIs and Microservices': isApisMicroservicesCert, - 'Quality Assurance': is2020QaCert, - 'Information Security': is2020InfosecCert, - 'Scientific Computing with Python': is2020SciCompPyCert, - 'Data Analysis with Python': is2020DataAnalysisPyCert, - 'Machine Learning with Python': is2020MachineLearningPyCert, + 'Quality Assurance': isQaCertV7, + 'Information Security': isInfosecCertV7, + 'Scientific Computing with Python': isSciCompPyCertV7, + 'Data Analysis with Python': isDataAnalysisPyCertV7, + 'Machine Learning with Python': isMachineLearningPyCertV7, 'Legacy Front End': isFrontEndCert, 'Legacy Data Visualization': isDataVisCert, 'Legacy Back End': isBackEndCert, diff --git a/client/src/components/settings/Certification.test.js b/client/src/components/settings/Certification.test.js index 18c3e43ce3..7285efc45a 100644 --- a/client/src/components/settings/Certification.test.js +++ b/client/src/components/settings/Certification.test.js @@ -189,13 +189,13 @@ const defaultTestProps = { isFullStackCert: false, isHonest: false, isInfosecQaCert: false, - is2020QaCert: false, - is2020InfosecCert: false, + isQaCertV7: false, + isInfosecCertV7: false, isJsAlgoDataStructCert: false, isRespWebDesignCert: false, - is2020SciCompPyCert: false, - is2020DataAnalysisPyCert: false, - is2020MachineLearningPyCert: false, + isSciCompPyCertV7: false, + isDataAnalysisPyCertV7: false, + isMachineLearningPyCertV7: false, updateLegacyCert: () => {}, username: 'developmentuser', verifyCert: () => {}, diff --git a/client/src/redux/index.js b/client/src/redux/index.js index 4dfeb4df55..62f34750ff 100644 --- a/client/src/redux/index.js +++ b/client/src/redux/index.js @@ -213,15 +213,15 @@ export const certificatesByNameSelector = username => state => { isJsAlgoDataStructCert, isApisMicroservicesCert, isInfosecQaCert, - is2020QaCert, - is2020InfosecCert, + isQaCertV7, + isInfosecCertV7, isFrontEndCert, isBackEndCert, isDataVisCert, isFullStackCert, - is2020SciCompPyCert, - is2020DataAnalysisPyCert, - is2020MachineLearningPyCert + isSciCompPyCertV7, + isDataAnalysisPyCertV7, + isMachineLearningPyCertV7 } = userByNameSelector(username)(state); return { hasModernCert: @@ -230,12 +230,12 @@ export const certificatesByNameSelector = username => state => { isFrontEndLibsCert || isJsAlgoDataStructCert || isApisMicroservicesCert || - is2020QaCert || - is2020InfosecCert || + isQaCertV7 || + isInfosecCertV7 || isFullStackCert || - is2020SciCompPyCert || - is2020DataAnalysisPyCert || - is2020MachineLearningPyCert, + isSciCompPyCertV7 || + isDataAnalysisPyCertV7 || + isMachineLearningPyCertV7, hasLegacyCert: isFrontEndCert || isBackEndCert || isDataVisCert || isInfosecQaCert, isFullStackCert, @@ -266,29 +266,29 @@ export const certificatesByNameSelector = username => state => { showURL: 'apis-and-microservices' }, { - show: is2020QaCert, + show: isQaCertV7, title: ' Quality Assurance Certification', - showURL: '2020-quality-assurance' + showURL: 'quality-assurance-v7' }, { - show: is2020InfosecCert, + show: isInfosecCertV7, title: 'Information Security Certification', - showURL: '2020-information-security' + showURL: 'information-security-v7' }, { - show: is2020SciCompPyCert, + show: isSciCompPyCertV7, title: 'Scientific Computing with Python Certification', - showURL: '2020-scientific-computing-with-python' + showURL: 'scientific-computing-with-python-v7' }, { - show: is2020DataAnalysisPyCert, + show: isDataAnalysisPyCertV7, title: 'Data Analysis with Python Certification', - showURL: '2020-data-analysis-with-python' + showURL: 'data-analysis-with-python-v7' }, { - show: is2020MachineLearningPyCert, + show: isMachineLearningPyCertV7, title: 'Machine Learning with Python Certification', - showURL: '2020-machine-learning-with-python' + showURL: 'machine-learning-with-python-v7' } ], legacyCerts: [ diff --git a/client/src/resources/certAndProjectMap.js b/client/src/resources/certAndProjectMap.js index 49eda1ebab..8be1a8bc0d 100644 --- a/client/src/resources/certAndProjectMap.js +++ b/client/src/resources/certAndProjectMap.js @@ -469,190 +469,190 @@ const certMap = [ { id: '5e611829481575a52dc59c0e', title: 'Quality Assurance', - slug: '2020-quality-assurance', - flag: 'is2020QaCert', + slug: 'quality-assurance-v7', + flag: 'isQaCertV7', projects: [ { id: '587d8249367417b2b2512c41', title: 'Metric-Imperial Converter', link: `${qaBase}/metric-imperial-converter`, - superBlock: '2020-quality-assurance' + superBlock: 'quality-assurance-v7' }, { id: '587d8249367417b2b2512c42', title: 'Issue Tracker', link: `${qaBase}/issue-tracker`, - superBlock: '2020-quality-assurance' + superBlock: 'quality-assurance-v7' }, { id: '587d824a367417b2b2512c43', title: 'Personal Library', link: `${qaBase}/personal-library`, - superBlock: '2020-quality-assurance' + superBlock: 'quality-assurance-v7' }, { id: '5e601bf95ac9d0ecd8b94afd', title: 'Sudoku Solver', link: `${qaBase}/sudoku-solver`, - superBlock: '2020-quality-assurance' + superBlock: 'quality-assurance-v7' }, { id: '5e601c0d5ac9d0ecd8b94afe', title: 'American British Translator', link: `${qaBase}/american-british-translator`, - superBlock: '2020-quality-assurance' + superBlock: 'quality-assurance-v7' } ] }, { id: '5e6021435ac9d0ecd8b94b00', title: 'Information Security', - slug: '2020-information-security', - flag: 'is2020InfosecCert', + slug: 'information-security-v7', + flag: 'isInfosecCertV7', projects: [ { id: '587d824a367417b2b2512c44', title: 'Stock Price Checker', link: `${infoSecBase}/stock-price-checker`, - superBlock: '2020-information-security' + superBlock: 'information-security-v7' }, { id: '587d824a367417b2b2512c45', title: 'Anonymous Message Board', link: `${infoSecBase}/anonymous-message-board`, - superBlock: '2020-information-security' + superBlock: 'information-security-v7' }, { id: '5e46f979ac417301a38fb932', title: 'Port Scanner', link: `${infoSecBase}/port-scanner`, - superBlock: '2020-information-security' + superBlock: 'information-security-v7' }, { id: '5e46f983ac417301a38fb933', title: 'SHA-1 Password Cracker', link: `${infoSecBase}/sha-1-password-cracker`, - superBlock: '2020-information-security' + superBlock: 'information-security-v7' }, { id: '5e601c775ac9d0ecd8b94aff', title: 'Secure Real Time Multiplayer Game', link: `${infoSecBase}/secure-real-time-multiplayer-game`, - superBlock: '2020-information-security' + superBlock: 'information-security-v7' } ] }, { id: '5e44431b903586ffb414c951', title: 'Scientific Computing with Python', - slug: '2020-scientific-computing-with-python', - flag: 'is2020SciCompPyCert', + slug: 'scientific-computing-with-python-v7', + flag: 'isSciCompPyCertV7', projects: [ { id: '5e44412c903586ffb414c94c', title: 'Arithmetic Formatter', link: `${sciCompPyBase}/arithmetic-formatter`, - superBlock: '2020-scientific-computing-with-python' + superBlock: 'scientific-computing-with-python-v7' }, { id: '5e444136903586ffb414c94d', title: 'Time Calculator', link: `${sciCompPyBase}/time-calculator`, - superBlock: '2020-scientific-computing-with-python' + superBlock: 'scientific-computing-with-python-v7' }, { id: '5e44413e903586ffb414c94e', title: 'Budget App', link: `${sciCompPyBase}/budget-app`, - superBlock: '2020-scientific-computing-with-python' + superBlock: 'scientific-computing-with-python-v7' }, { id: '5e444147903586ffb414c94f', title: 'Polygon Area Calculator', link: `${sciCompPyBase}/polygon-area-calculator`, - superBlock: '2020-scientific-computing-with-python' + superBlock: 'scientific-computing-with-python-v7' }, { id: '5e44414f903586ffb414c950', title: 'Probability Calculator', link: `${sciCompPyBase}/probability-calculator`, - superBlock: '2020-scientific-computing-with-python' + superBlock: 'scientific-computing-with-python-v7' } ] }, { id: '5e46fc95ac417301a38fb934', title: 'Data Analysis with Python', - slug: '2020-data-analysis-with-python', - flag: 'is2020DataAnalysisPyCert', + slug: 'data-analysis-with-python-v7', + flag: 'isDataAnalysisPyCertV7', projects: [ { id: '5e46f7e5ac417301a38fb928', title: 'Mean-Variance-Standard Deviation Calculator', link: `${dataAnalysisPyBase}/mean-variance-standard-deviation-calculator`, - superBlock: '2020-data-analysis-with-python' + superBlock: 'data-analysis-with-python-v7' }, { id: '5e46f7e5ac417301a38fb929', title: 'Demographic Data Analyzer', link: `${dataAnalysisPyBase}/demographic-data-analyzer`, - superBlock: '2020-data-analysis-with-python' + superBlock: 'data-analysis-with-python-v7' }, { id: '5e46f7f8ac417301a38fb92a', title: 'Medical Data Visualizer', link: `${dataAnalysisPyBase}/medical-data-visualizer`, - superBlock: '2020-data-analysis-with-python' + superBlock: 'data-analysis-with-python-v7' }, { id: '5e46f802ac417301a38fb92b', title: 'Page View Time Series Visualizer', link: `${dataAnalysisPyBase}/page-view-time-series-visualizer`, - superBlock: '2020-data-analysis-with-python' + superBlock: 'data-analysis-with-python-v7' }, { id: '5e4f5c4b570f7e3a4949899f', title: 'Sea Level Predictor', link: `${dataAnalysisPyBase}/sea-level-predictor`, - superBlock: '2020-scientific-computing-with-python' + superBlock: 'data-analysis-with-python-v7' } ] }, { id: '5e46fc95ac417301a38fb935', title: 'Machine Learning with Python', - slug: '2020-machine-learning-with-python', - flag: 'is2020MachineLearningPyCert', + slug: 'machine-learning-with-python-v7', + flag: 'isMachineLearningPyCertV7', projects: [ { id: '5e46f8d6ac417301a38fb92d', title: 'Rock Paper Scissors', link: `${machineLearningPyBase}/rock-paper-scissors`, - superBlock: '2020-machine-learning-with-python' + superBlock: 'machine-learning-with-python-v7' }, { id: '5e46f8dcac417301a38fb92e', title: 'Cat and Dog Image Classifier', link: `${machineLearningPyBase}/cat-and-dog-image-classifier`, - superBlock: '2020-machine-learning-with-python' + superBlock: 'machine-learning-with-python-v7' }, { id: '5e46f8e3ac417301a38fb92f', title: 'Book Recommendation Engine using KNN', link: `${machineLearningPyBase}/book-recommendation-engine-using-knn`, - superBlock: '2020-machine-learning-with-python' + superBlock: 'machine-learning-with-python-v7' }, { id: '5e46f8edac417301a38fb930', title: 'Linear Regression Health Costs Calculator', link: `${machineLearningPyBase}/linear-regression-health-costs-calculator`, - superBlock: '2020-machine-learning-with-python' + superBlock: 'machine-learning-with-python-v7' }, { id: '5e46f8edac417301a38fb931', title: 'Neural Network SMS Text Classifier', link: `${machineLearningPyBase}/neural-network-sms-text-classifier`, - superBlock: '2020-machine-learning-with-python' + superBlock: 'machine-learning-with-python-v7' } ] } diff --git a/curriculum/challenges/_meta/data-analysis-with-python-certificate/meta.json b/curriculum/challenges/_meta/data-analysis-with-python-certificate/meta.json index 9f1c86016b..23566f6edb 100644 --- a/curriculum/challenges/_meta/data-analysis-with-python-certificate/meta.json +++ b/curriculum/challenges/_meta/data-analysis-with-python-certificate/meta.json @@ -1,6 +1,6 @@ { "name": "Data Analysis with Python Certificate", - "dashedName": "2020-data-analysis-with-python-certificate", + "dashedName": "data-analysis-with-python-v7-certificate", "order": 8, "time": "", "template": "", @@ -14,5 +14,5 @@ ] ], "isPrivate": true, - "fileName": "12-certificates/2020-data-analysis-with-python-certificate.json" + "fileName": "12-certificates/data-analysis-with-python-v7-certificate.json" } \ No newline at end of file diff --git a/curriculum/challenges/_meta/information-security-certificate/meta.json b/curriculum/challenges/_meta/information-security-certificate/meta.json index 57b38de78e..389a77ca58 100644 --- a/curriculum/challenges/_meta/information-security-certificate/meta.json +++ b/curriculum/challenges/_meta/information-security-certificate/meta.json @@ -1,6 +1,6 @@ { "name": "Information Security Certificate", - "dashedName": "2020-information-security-certificate", + "dashedName": "information-security-v7-certificate", "order": 9, "time": "", "template": "", @@ -14,5 +14,5 @@ ] ], "isPrivate": true, - "fileName": "12-certificates/2020-information-security-certificate.json" + "fileName": "12-certificates/information-security-v7-certificate.json" } \ No newline at end of file diff --git a/curriculum/challenges/_meta/machine-learning-with-python-certificate/meta.json b/curriculum/challenges/_meta/machine-learning-with-python-certificate/meta.json index ddd3485500..8d164751cd 100644 --- a/curriculum/challenges/_meta/machine-learning-with-python-certificate/meta.json +++ b/curriculum/challenges/_meta/machine-learning-with-python-certificate/meta.json @@ -1,6 +1,6 @@ { "name": "Machine Learning with Python Certificate", - "dashedName": "2020-machine-learning-with-python-certificate", + "dashedName": "machine-learning-with-python-v7-certificate", "order": 10, "time": "", "template": "", @@ -14,5 +14,5 @@ ] ], "isPrivate": true, - "fileName": "12-certificates/2020-machine-learning-with-python-certificate.json" + "fileName": "12-certificates/machine-learning-with-python-v7-certificate.json" } \ No newline at end of file diff --git a/curriculum/challenges/_meta/quality-assurance-certificate/meta.json b/curriculum/challenges/_meta/quality-assurance-certificate/meta.json index 8b98dd1d4f..753c0f43de 100644 --- a/curriculum/challenges/_meta/quality-assurance-certificate/meta.json +++ b/curriculum/challenges/_meta/quality-assurance-certificate/meta.json @@ -1,6 +1,6 @@ { "name": "Quality Assurance Certificate", - "dashedName": "2020-quality-assurance-certificate", + "dashedName": "quality-assurance-v7-certificate", "order": 6, "time": "", "template": "", @@ -14,5 +14,5 @@ ] ], "isPrivate": true, - "fileName": "12-certificates/2020-quality-assurance-certificate.json" + "fileName": "12-certificates/quality-assurance-v7-certificate.json" } \ No newline at end of file diff --git a/curriculum/challenges/_meta/scientific-computing-with-python-certificate/meta.json b/curriculum/challenges/_meta/scientific-computing-with-python-certificate/meta.json index 93388e8006..8a01465eb8 100644 --- a/curriculum/challenges/_meta/scientific-computing-with-python-certificate/meta.json +++ b/curriculum/challenges/_meta/scientific-computing-with-python-certificate/meta.json @@ -1,6 +1,6 @@ { "name": "Scientific Computing with Python Certificate", - "dashedName": "2020-scientific-computing-with-python-certificate", + "dashedName": "scientific-computing-with-python-v7-certificate", "order": 7, "time": "", "template": "", @@ -14,5 +14,5 @@ ] ], "isPrivate": true, - "fileName": "12-certificates/2020-scientific-computing-with-python-certificate.json" + "fileName": "12-certificates/scientific-computing-with-python-v7-certificate.json" } \ No newline at end of file diff --git a/curriculum/challenges/english/12-certificates/information-security-certificate/information-security-certificate.english.md b/curriculum/challenges/english/12-certificates/information-security-certificate/information-security-certificate.english.md index ea9bde8976..87eb6b8931 100644 --- a/curriculum/challenges/english/12-certificates/information-security-certificate/information-security-certificate.english.md +++ b/curriculum/challenges/english/12-certificates/information-security-certificate/information-security-certificate.english.md @@ -1,6 +1,6 @@ --- id: 5e6021435ac9d0ecd8b94b00 -title: 'Information Security Certificate' +title: Information Security Certificate challengeType: 7 isHidden: true isPrivate: true diff --git a/curriculum/challenges/english/12-certificates/quality-assurance-certificate/quality-assurance-certificate.english.md b/curriculum/challenges/english/12-certificates/quality-assurance-certificate/quality-assurance-certificate.english.md index d940151f17..1915fb304c 100644 --- a/curriculum/challenges/english/12-certificates/quality-assurance-certificate/quality-assurance-certificate.english.md +++ b/curriculum/challenges/english/12-certificates/quality-assurance-certificate/quality-assurance-certificate.english.md @@ -1,6 +1,6 @@ --- id: 5e611829481575a52dc59c0e -title: 'Quality Assurance Certificate' +title: Quality Assurance Certificate challengeType: 7 isHidden: true isPrivate: true diff --git a/tools/scripts/seed/seedAuthUser.js b/tools/scripts/seed/seedAuthUser.js index 243e7302f0..7acc21d482 100644 --- a/tools/scripts/seed/seedAuthUser.js +++ b/tools/scripts/seed/seedAuthUser.js @@ -63,12 +63,12 @@ MongoClient.connect(MONGOHQ_URL, { useNewUrlParser: true }, function( isJsAlgoDataStructCert: false, isApisMicroservicesCert: false, isInfosecQaCert: false, - is2020QaCert: false, - is2020InfosecCert: false, + isQaCertV7: false, + isInfosecCertV7: false, is2018FullStackCert: false, - is2020SciCompPyCert: false, - is2020DataAnalysisPyCert: false, - is2020MachineLearningPyCert: false, + isSciCompPyCertV7: false, + isDataAnalysisPyCertV7: false, + isMachineLearningPyCertV7: false, completedChallenges: [], portfolio: [], yearsTopContributor: [], diff --git a/utils/index.js b/utils/index.js index 9c9667d7f7..c019b7ad7d 100644 --- a/utils/index.js +++ b/utils/index.js @@ -29,11 +29,11 @@ const specialPaths = { 'Legacy Full Stack': 'Full Stack', 'Legacy Information Security and Quality Assurance': 'Information Security and Quality Assurance', - 'Scientific Computing with Python': '2020 Scientific Computing with Python', - 'Data Analysis with Python': '2020 Data Analysis with Python', - 'Machine Learning with Python': '2020 Machine Learning with Python', - 'Quality Assurance': '2020 Quality Assurance', - 'Information Security': '2020 Information Security' + 'Scientific Computing with Python': 'Scientific Computing with Python V7', + 'Data Analysis with Python': 'Data Analysis with Python V7', + 'Machine Learning with Python': 'Machine Learning with Python V7', + 'Quality Assurance': 'Quality Assurance V7', + 'Information Security': 'Information Security V7' }; for (const [id, title] of idToTitle) {