mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-05-28 18:26:54 +00:00
feat: release rdb and python certs (#64253)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com> Co-authored-by: moT01 <20648924+moT01@users.noreply.github.com>
This commit is contained in:
@@ -124,8 +124,10 @@ model user {
|
||||
isJsAlgoDataStructCert Boolean? // Undefined
|
||||
isJsAlgoDataStructCertV8 Boolean? // Undefined
|
||||
isMachineLearningPyCertV7 Boolean? // Undefined
|
||||
isPythonCertV9 Boolean? // Undefined
|
||||
isQaCertV7 Boolean? // Undefined
|
||||
isRelationalDatabaseCertV8 Boolean? // Undefined
|
||||
isRelationalDatabaseCertV9 Boolean? // Undefined
|
||||
isRespWebDesignCert Boolean? // Undefined
|
||||
isRespWebDesignCertV9 Boolean? // Undefined
|
||||
isSciCompPyCertV7 Boolean? // Undefined
|
||||
|
||||
@@ -48,8 +48,10 @@ export const newUser = (email: string) => ({
|
||||
isJsAlgoDataStructCert: false,
|
||||
isJsAlgoDataStructCertV8: false,
|
||||
isMachineLearningPyCertV7: false,
|
||||
isPythonCertV9: false,
|
||||
isQaCertV7: false,
|
||||
isRelationalDatabaseCertV8: false,
|
||||
isRelationalDatabaseCertV9: false,
|
||||
isCollegeAlgebraPyCertV8: false,
|
||||
isRespWebDesignCert: false,
|
||||
isRespWebDesignCertV9: false,
|
||||
|
||||
@@ -26,8 +26,10 @@ const nullableFlags = [
|
||||
'isJsAlgoDataStructCert',
|
||||
'isJsAlgoDataStructCertV8',
|
||||
'isMachineLearningPyCertV7',
|
||||
'isPythonCertV9',
|
||||
'isQaCertV7',
|
||||
'isRelationalDatabaseCertV8',
|
||||
'isRelationalDatabaseCertV9',
|
||||
'isRespWebDesignCert',
|
||||
'isRespWebDesignCertV9',
|
||||
'isSciCompPyCertV7',
|
||||
|
||||
@@ -39,23 +39,25 @@ describe('certificate routes', () => {
|
||||
where: { email: defaultUserEmail },
|
||||
data: {
|
||||
completedChallenges: [],
|
||||
name: 'fcc',
|
||||
isA2EnglishCert: false,
|
||||
isRespWebDesignCert: false,
|
||||
isJsAlgoDataStructCert: false,
|
||||
isFrontEndLibsCert: false,
|
||||
is2018DataVisCert: false,
|
||||
isRelationalDatabaseCertV8: false,
|
||||
isA2EnglishCert: false,
|
||||
isApisMicroservicesCert: false,
|
||||
isQaCertV7: false,
|
||||
isSciCompPyCertV7: false,
|
||||
isDataAnalysisPyCertV7: false,
|
||||
isInfosecCertV7: false,
|
||||
isMachineLearningPyCertV7: false,
|
||||
isCollegeAlgebraPyCertV8: false,
|
||||
isDataAnalysisPyCertV7: false,
|
||||
isFoundationalCSharpCertV8: false,
|
||||
isFrontEndLibsCert: false,
|
||||
isInfosecCertV7: false,
|
||||
isJsAlgoDataStructCert: false,
|
||||
isJavascriptCertV9: false,
|
||||
isMachineLearningPyCertV7: false,
|
||||
isPythonCertV9: false,
|
||||
isQaCertV7: false,
|
||||
isRelationalDatabaseCertV8: false,
|
||||
isRelationalDatabaseCertV9: false,
|
||||
isRespWebDesignCert: false,
|
||||
isRespWebDesignCertV9: false,
|
||||
isSciCompPyCertV7: false,
|
||||
name: 'fcc',
|
||||
username: 'fcc'
|
||||
}
|
||||
});
|
||||
@@ -154,8 +156,10 @@ describe('certificate routes', () => {
|
||||
isInfosecQaCert: false,
|
||||
isJsAlgoDataStructCert: false,
|
||||
isMachineLearningPyCertV7: false,
|
||||
isPythonCertV9: false,
|
||||
isQaCertV7: false,
|
||||
isRelationalDatabaseCertV8: false,
|
||||
isRelationalDatabaseCertV9: false,
|
||||
isRespWebDesignCert: false,
|
||||
isSciCompPyCertV7: false,
|
||||
isJavascriptCertV9: false,
|
||||
@@ -234,22 +238,24 @@ describe('certificate routes', () => {
|
||||
{ id: '587d78b0367417b2b2512b05', completedDate: 123456789 },
|
||||
{ id: 'bd7158d8c242eddfaeb5bd13', completedDate: 123456789 }
|
||||
],
|
||||
isRespWebDesignCert: false,
|
||||
isJsAlgoDataStructCertV8: true,
|
||||
isFrontEndLibsCert: true,
|
||||
is2018DataVisCert: true,
|
||||
isRelationalDatabaseCertV8: true,
|
||||
isA2EnglishCert: true,
|
||||
isApisMicroservicesCert: true,
|
||||
isQaCertV7: true,
|
||||
isSciCompPyCertV7: true,
|
||||
isDataAnalysisPyCertV7: true,
|
||||
isInfosecCertV7: true,
|
||||
isMachineLearningPyCertV7: true,
|
||||
isCollegeAlgebraPyCertV8: true,
|
||||
isDataAnalysisPyCertV7: true,
|
||||
isFoundationalCSharpCertV8: true,
|
||||
isFrontEndLibsCert: true,
|
||||
isInfosecCertV7: true,
|
||||
isJavascriptCertV9: true,
|
||||
isJsAlgoDataStructCertV8: true,
|
||||
isMachineLearningPyCertV7: true,
|
||||
isPythonCertV9: true,
|
||||
isQaCertV7: true,
|
||||
isRelationalDatabaseCertV8: true,
|
||||
isRelationalDatabaseCertV9: true,
|
||||
isRespWebDesignCert: false,
|
||||
isRespWebDesignCertV9: true,
|
||||
isA2EnglishCert: true
|
||||
isSciCompPyCertV7: true
|
||||
}
|
||||
});
|
||||
|
||||
@@ -323,7 +329,9 @@ describe('certificate routes', () => {
|
||||
isMachineLearningPyCertV7: false,
|
||||
isRelationalDatabaseCertV8: false,
|
||||
isCollegeAlgebraPyCertV8: false,
|
||||
isFoundationalCSharpCertV8: false
|
||||
isFoundationalCSharpCertV8: false,
|
||||
isPythonCertV9: false,
|
||||
isRelationalDatabaseCertV9: false
|
||||
},
|
||||
completedChallenges: [
|
||||
{
|
||||
|
||||
@@ -123,78 +123,84 @@ export function createCertLookup(
|
||||
|
||||
interface CertI {
|
||||
isA2EnglishCert?: boolean;
|
||||
isRespWebDesignCert?: boolean;
|
||||
isApisMicroservicesCert?: boolean;
|
||||
isBackEndCert?: boolean;
|
||||
isCollegeAlgebraPyCertV8?: boolean;
|
||||
isDataAnalysisPyCertV7?: boolean;
|
||||
isDataVisCert?: boolean;
|
||||
isFrontEndCert?: boolean;
|
||||
isFrontEndLibsCert?: boolean;
|
||||
isFoundationalCSharpCertV8?: boolean;
|
||||
isFullStackCert?: boolean;
|
||||
isInfosecCertV7?: boolean;
|
||||
isInfosecQaCert?: boolean;
|
||||
isJavascriptCertV9?: boolean;
|
||||
isJsAlgoDataStructCert?: boolean;
|
||||
isJsAlgoDataStructCertV8?: boolean;
|
||||
isFrontEndLibsCert?: boolean;
|
||||
is2018DataVisCert?: boolean;
|
||||
isApisMicroservicesCert?: boolean;
|
||||
isInfosecQaCert?: boolean;
|
||||
isQaCertV7?: boolean;
|
||||
isInfosecCertV7?: boolean;
|
||||
isFrontEndCert?: boolean;
|
||||
isBackEndCert?: boolean;
|
||||
isDataVisCert?: boolean;
|
||||
isFullStackCert?: boolean;
|
||||
isSciCompPyCertV7?: boolean;
|
||||
isDataAnalysisPyCertV7?: boolean;
|
||||
isMachineLearningPyCertV7?: boolean;
|
||||
isPythonCertV9?: boolean;
|
||||
isQaCertV7?: boolean;
|
||||
isRelationalDatabaseCertV8?: boolean;
|
||||
isCollegeAlgebraPyCertV8?: boolean;
|
||||
isFoundationalCSharpCertV8?: boolean;
|
||||
isJavascriptCertV9?: boolean;
|
||||
isRelationalDatabaseCertV9?: boolean;
|
||||
isRespWebDesignCert?: boolean;
|
||||
isRespWebDesignCertV9?: boolean;
|
||||
isSciCompPyCertV7?: boolean;
|
||||
is2018DataVisCert?: boolean;
|
||||
}
|
||||
|
||||
function getUserIsCertMap(user: CertI) {
|
||||
const {
|
||||
isA2EnglishCert = false,
|
||||
isRespWebDesignCert = false,
|
||||
isApisMicroservicesCert = false,
|
||||
isBackEndCert = false,
|
||||
isCollegeAlgebraPyCertV8 = false,
|
||||
isDataAnalysisPyCertV7 = false,
|
||||
isDataVisCert = false,
|
||||
isFrontEndCert = false,
|
||||
isFrontEndLibsCert = false,
|
||||
isFoundationalCSharpCertV8 = false,
|
||||
isFullStackCert = false,
|
||||
isInfosecCertV7 = false,
|
||||
isInfosecQaCert = false,
|
||||
isJavascriptCertV9 = false,
|
||||
isJsAlgoDataStructCert = false,
|
||||
isJsAlgoDataStructCertV8 = false,
|
||||
isFrontEndLibsCert = false,
|
||||
is2018DataVisCert = false,
|
||||
isApisMicroservicesCert = false,
|
||||
isInfosecQaCert = false,
|
||||
isQaCertV7 = false,
|
||||
isInfosecCertV7 = false,
|
||||
isFrontEndCert = false,
|
||||
isBackEndCert = false,
|
||||
isDataVisCert = false,
|
||||
isFullStackCert = false,
|
||||
isSciCompPyCertV7 = false,
|
||||
isDataAnalysisPyCertV7 = false,
|
||||
isMachineLearningPyCertV7 = false,
|
||||
isPythonCertV9 = false,
|
||||
isQaCertV7 = false,
|
||||
isRelationalDatabaseCertV8 = false,
|
||||
isCollegeAlgebraPyCertV8 = false,
|
||||
isFoundationalCSharpCertV8 = false,
|
||||
isJavascriptCertV9 = false,
|
||||
isRespWebDesignCertV9 = false
|
||||
isRelationalDatabaseCertV9 = false,
|
||||
isRespWebDesignCert = false,
|
||||
isRespWebDesignCertV9 = false,
|
||||
isSciCompPyCertV7 = false,
|
||||
is2018DataVisCert = false
|
||||
} = user;
|
||||
|
||||
return {
|
||||
isA2EnglishCert,
|
||||
isRespWebDesignCert,
|
||||
isApisMicroservicesCert,
|
||||
isBackEndCert,
|
||||
isCollegeAlgebraPyCertV8,
|
||||
isDataAnalysisPyCertV7,
|
||||
isDataVisCert,
|
||||
isFrontEndCert,
|
||||
isFrontEndLibsCert,
|
||||
isFoundationalCSharpCertV8,
|
||||
isFullStackCert,
|
||||
isInfosecCertV7,
|
||||
isInfosecQaCert,
|
||||
isJavascriptCertV9,
|
||||
isJsAlgoDataStructCert,
|
||||
isJsAlgoDataStructCertV8,
|
||||
isFrontEndLibsCert,
|
||||
is2018DataVisCert,
|
||||
isApisMicroservicesCert,
|
||||
isInfosecQaCert,
|
||||
isQaCertV7,
|
||||
isInfosecCertV7,
|
||||
isFrontEndCert,
|
||||
isBackEndCert,
|
||||
isDataVisCert,
|
||||
isFullStackCert,
|
||||
isSciCompPyCertV7,
|
||||
isDataAnalysisPyCertV7,
|
||||
isMachineLearningPyCertV7,
|
||||
isPythonCertV9,
|
||||
isQaCertV7,
|
||||
isRelationalDatabaseCertV8,
|
||||
isCollegeAlgebraPyCertV8,
|
||||
isFoundationalCSharpCertV8,
|
||||
isJavascriptCertV9,
|
||||
isRespWebDesignCertV9
|
||||
isRelationalDatabaseCertV9,
|
||||
isRespWebDesignCert,
|
||||
isRespWebDesignCertV9,
|
||||
isSciCompPyCertV7,
|
||||
is2018DataVisCert
|
||||
};
|
||||
}
|
||||
|
||||
@@ -335,33 +341,35 @@ export const protectedCertificateRoutes: FastifyPluginCallbackTypebox = (
|
||||
}
|
||||
},
|
||||
select: {
|
||||
username: true,
|
||||
completedChallenges: true,
|
||||
email: true,
|
||||
name: true,
|
||||
completedChallenges: true,
|
||||
username: true,
|
||||
is2018DataVisCert: true,
|
||||
is2018FullStackCert: true,
|
||||
isA2EnglishCert: true,
|
||||
isApisMicroservicesCert: true,
|
||||
isBackEndCert: true,
|
||||
isDataVisCert: true,
|
||||
isCollegeAlgebraPyCertV8: true,
|
||||
isDataAnalysisPyCertV7: true,
|
||||
isDataVisCert: true,
|
||||
isFoundationalCSharpCertV8: true,
|
||||
isFrontEndCert: true,
|
||||
isFrontEndLibsCert: true,
|
||||
isFullStackCert: true,
|
||||
isInfosecCertV7: true,
|
||||
isInfosecQaCert: true,
|
||||
isJavascriptCertV9: true,
|
||||
isJsAlgoDataStructCert: true,
|
||||
isJsAlgoDataStructCertV8: true,
|
||||
isMachineLearningPyCertV7: true,
|
||||
isPythonCertV9: true,
|
||||
isQaCertV7: true,
|
||||
isRelationalDatabaseCertV8: true,
|
||||
isRelationalDatabaseCertV9: true,
|
||||
isRespWebDesignCert: true,
|
||||
isSciCompPyCertV7: true,
|
||||
isJavascriptCertV9: true,
|
||||
isRespWebDesignCertV9: true
|
||||
isRespWebDesignCertV9: true,
|
||||
isSciCompPyCertV7: true
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -293,8 +293,10 @@ const publicUserData = {
|
||||
isJsAlgoDataStructCert: testUserData.isJsAlgoDataStructCert,
|
||||
isJsAlgoDataStructCertV8: testUserData.isJsAlgoDataStructCertV8,
|
||||
isMachineLearningPyCertV7: testUserData.isMachineLearningPyCertV7,
|
||||
isPythonCertV9: testUserData.isPythonCertV9,
|
||||
isQaCertV7: testUserData.isQaCertV7,
|
||||
isRelationalDatabaseCertV8: testUserData.isRelationalDatabaseCertV8,
|
||||
isRelationalDatabaseCertV9: testUserData.isRelationalDatabaseCertV9,
|
||||
isRespWebDesignCert: testUserData.isRespWebDesignCert,
|
||||
isRespWebDesignCertV9: testUserData.isRespWebDesignCertV9,
|
||||
isSciCompPyCertV7: testUserData.isSciCompPyCertV7,
|
||||
@@ -345,7 +347,9 @@ const baseProgressData = {
|
||||
isSciCompPyCertV7: false,
|
||||
isDataAnalysisPyCertV7: false,
|
||||
isMachineLearningPyCertV7: false,
|
||||
isPythonCertV9: false,
|
||||
isRelationalDatabaseCertV8: false,
|
||||
isRelationalDatabaseCertV9: false,
|
||||
isRespWebDesignCertV9: false,
|
||||
isCollegeAlgebraPyCertV8: false,
|
||||
completedChallenges: [],
|
||||
@@ -1018,8 +1022,10 @@ describe('userRoutes', () => {
|
||||
isJsAlgoDataStructCert: false,
|
||||
isJsAlgoDataStructCertV8: false,
|
||||
isMachineLearningPyCertV7: false,
|
||||
isPythonCertV9: false,
|
||||
isQaCertV7: false,
|
||||
isRelationalDatabaseCertV8: false,
|
||||
isRelationalDatabaseCertV9: false,
|
||||
isRespWebDesignCert: false,
|
||||
isRespWebDesignCertV9: false,
|
||||
isSciCompPyCertV7: false,
|
||||
|
||||
@@ -701,8 +701,10 @@ export const userGetRoutes: FastifyPluginCallbackTypebox = (
|
||||
isJsAlgoDataStructCert: true,
|
||||
isJsAlgoDataStructCertV8: true,
|
||||
isMachineLearningPyCertV7: true,
|
||||
isPythonCertV9: true,
|
||||
isQaCertV7: true,
|
||||
isRelationalDatabaseCertV8: true,
|
||||
isRelationalDatabaseCertV9: true,
|
||||
isRespWebDesignCert: true,
|
||||
isRespWebDesignCertV9: true,
|
||||
isSciCompPyCertV7: true,
|
||||
|
||||
@@ -74,12 +74,14 @@ export const unprotectedCertificateRoutes: FastifyPluginCallbackTypebox = (
|
||||
is2018DataVisCert: true,
|
||||
isApisMicroservicesCert: true,
|
||||
isInfosecQaCert: true,
|
||||
isPythonCertV9: true,
|
||||
isQaCertV7: true,
|
||||
isInfosecCertV7: true,
|
||||
isSciCompPyCertV7: true,
|
||||
isDataAnalysisPyCertV7: true,
|
||||
isMachineLearningPyCertV7: true,
|
||||
isRelationalDatabaseCertV8: true,
|
||||
isRelationalDatabaseCertV9: true,
|
||||
isCollegeAlgebraPyCertV8: true,
|
||||
isFoundationalCSharpCertV8: true,
|
||||
isHonest: true,
|
||||
|
||||
@@ -206,8 +206,10 @@ const publicUserData = {
|
||||
isJsAlgoDataStructCert: testUserData.isJsAlgoDataStructCert,
|
||||
isJsAlgoDataStructCertV8: testUserData.isJsAlgoDataStructCertV8,
|
||||
isMachineLearningPyCertV7: testUserData.isMachineLearningPyCertV7,
|
||||
isPythonCertV9: testUserData.isPythonCertV9,
|
||||
isQaCertV7: testUserData.isQaCertV7,
|
||||
isRelationalDatabaseCertV8: testUserData.isRelationalDatabaseCertV8,
|
||||
isRelationalDatabaseCertV9: testUserData.isRelationalDatabaseCertV9,
|
||||
isRespWebDesignCert: testUserData.isRespWebDesignCert,
|
||||
isRespWebDesignCertV9: testUserData.isRespWebDesignCertV9,
|
||||
isSciCompPyCertV7: testUserData.isSciCompPyCertV7,
|
||||
|
||||
@@ -15,6 +15,7 @@ export const isCertMap = Type.Object({
|
||||
is2018DataVisCert: Type.Boolean(),
|
||||
isApisMicroservicesCert: Type.Boolean(),
|
||||
isInfosecQaCert: Type.Boolean(),
|
||||
isPythonCertV9: Type.Boolean(),
|
||||
isQaCertV7: Type.Boolean(),
|
||||
isInfosecCertV7: Type.Boolean(),
|
||||
isFrontEndCert: Type.Boolean(),
|
||||
@@ -25,6 +26,7 @@ export const isCertMap = Type.Object({
|
||||
isDataAnalysisPyCertV7: Type.Boolean(),
|
||||
isMachineLearningPyCertV7: Type.Boolean(),
|
||||
isRelationalDatabaseCertV8: Type.Boolean(),
|
||||
isRelationalDatabaseCertV9: Type.Boolean(),
|
||||
isCollegeAlgebraPyCertV8: Type.Boolean(),
|
||||
isFoundationalCSharpCertV8: Type.Boolean()
|
||||
});
|
||||
|
||||
@@ -86,8 +86,10 @@ export const getSessionUser = {
|
||||
isJsAlgoDataStructCert: Type.Boolean(),
|
||||
isJsAlgoDataStructCertV8: Type.Boolean(),
|
||||
isMachineLearningPyCertV7: Type.Boolean(),
|
||||
isPythonCertV9: Type.Boolean(),
|
||||
isQaCertV7: Type.Boolean(),
|
||||
isRelationalDatabaseCertV8: Type.Boolean(),
|
||||
isRelationalDatabaseCertV9: Type.Boolean(),
|
||||
isRespWebDesignCert: Type.Boolean(),
|
||||
isRespWebDesignCertV9: Type.Boolean(),
|
||||
isSciCompPyCertV7: Type.Boolean(),
|
||||
|
||||
@@ -72,8 +72,10 @@ export const getPublicProfile = {
|
||||
isJsAlgoDataStructCert: Type.Boolean(),
|
||||
isJsAlgoDataStructCertV8: Type.Boolean(),
|
||||
isMachineLearningPyCertV7: Type.Boolean(),
|
||||
isPythonCertV9: Type.Boolean(),
|
||||
isQaCertV7: Type.Boolean(),
|
||||
isRelationalDatabaseCertV8: Type.Boolean(),
|
||||
isRelationalDatabaseCertV9: Type.Boolean(),
|
||||
isRespWebDesignCert: Type.Boolean(),
|
||||
isRespWebDesignCertV9: Type.Boolean(),
|
||||
isSciCompPyCertV7: Type.Boolean(),
|
||||
|
||||
@@ -32,8 +32,10 @@ export const createResetProperties = () => ({
|
||||
isJsAlgoDataStructCert: false,
|
||||
isJsAlgoDataStructCertV8: false,
|
||||
isMachineLearningPyCertV7: false,
|
||||
isPythonCertV9: false,
|
||||
isQaCertV7: false,
|
||||
isRelationalDatabaseCertV8: false,
|
||||
isRelationalDatabaseCertV9: false,
|
||||
isRespWebDesignCert: false,
|
||||
isRespWebDesignCertV9: false,
|
||||
isSciCompPyCertV7: false,
|
||||
|
||||
Reference in New Issue
Block a user