From f3eb1eccb5bacd9d2087653ec7a476a88b351890 Mon Sep 17 00:00:00 2001 From: Oliver Eyton-Williams Date: Tue, 30 May 2023 17:54:19 +0200 Subject: [PATCH] refactor: remove unused parts of api-server (#50513) * refactor: remove unused parts of api-server --- .../server/utils/getDynamicPropsForUser.js | 61 ------------------- .../src/server/utils/publicUserProps.js | 3 - api-server/src/server/utils/user-stats.js | 38 ------------ .../src/server/utils/user-stats.test.js | 5 +- 4 files changed, 1 insertion(+), 106 deletions(-) delete mode 100644 api-server/src/server/utils/getDynamicPropsForUser.js diff --git a/api-server/src/server/utils/getDynamicPropsForUser.js b/api-server/src/server/utils/getDynamicPropsForUser.js deleted file mode 100644 index 345e263b2d8..00000000000 --- a/api-server/src/server/utils/getDynamicPropsForUser.js +++ /dev/null @@ -1,61 +0,0 @@ -function getCompletedCertCount(user) { - return [ - 'isApisMicroservicesCert', - 'is2018DataVisCert', - 'isFrontEndLibsCert', - 'isQaCertV7', - 'isInfosecCertV7', - 'isJsAlgoDataStructCert', - 'isRespWebDesignCert', - 'isSciCompPyCertV7', - 'isDataAnalysisPyCertV7', - 'isMachineLearningPyCertV7', - 'isRelationalDatabaseCertV8', - 'isCollegeAlgebraPyCertV8' - ].reduce((sum, key) => (user[key] ? sum + 1 : sum), 0); -} - -function getLegacyCertCount(user) { - return [ - 'isFrontEndCert', - 'isBackEndCert', - 'isDataVisCert', - 'isInfosecQaCert' - ].reduce((sum, key) => (user[key] ? sum + 1 : sum), 0); -} - -export default function populateUser(db, user) { - return new Promise((resolve, reject) => { - let populatedUser = { ...user }; - db.collection('user') - .aggregate([ - { $match: { _id: user.id } }, - { $project: { points: { $size: '$progressTimestamps' } } } - ]) - .get(function (err, [{ points = 1 } = {}]) { - if (err) { - return reject(err); - } - user.points = points; - let completedChallengeCount = 0; - let completedProjectCount = 0; - if ('completedChallenges' in user) { - completedChallengeCount = user.completedChallenges.length; - user.completedChallenges.forEach(item => { - if ( - 'challengeType' in item && - (item.challengeType === 3 || item.challengeType === 4) - ) { - completedProjectCount++; - } - }); - } - populatedUser.completedChallengeCount = completedChallengeCount; - populatedUser.completedProjectCount = completedProjectCount; - populatedUser.completedCertCount = getCompletedCertCount(user); - populatedUser.completedLegacyCertCount = getLegacyCertCount(user); - populatedUser.completedChallenges = []; - return resolve(populatedUser); - }); - }); -} diff --git a/api-server/src/server/utils/publicUserProps.js b/api-server/src/server/utils/publicUserProps.js index 101189a333c..9ec67f73f22 100644 --- a/api-server/src/server/utils/publicUserProps.js +++ b/api-server/src/server/utils/publicUserProps.js @@ -51,9 +51,6 @@ export const userPropsForSession = [ 'sound', 'keyboardShortcuts', 'completedChallengeCount', - 'completedProjectCount', - 'completedCertCount', - 'completedLegacyCertCount', 'acceptedPrivacyTerms', 'donationEmails' ]; diff --git a/api-server/src/server/utils/user-stats.js b/api-server/src/server/utils/user-stats.js index 0068f2c0573..3570bfdf2bc 100644 --- a/api-server/src/server/utils/user-stats.js +++ b/api-server/src/server/utils/user-stats.js @@ -95,23 +95,11 @@ export function getUserById(id, User = loopback.getModelByType('User')) { } let completedChallengeCount = 0; - let completedProjectCount = 0; if ('completedChallenges' in instance) { completedChallengeCount = instance.completedChallenges.length; - instance.completedChallenges.forEach(item => { - if ( - 'challengeType' in item && - (item.challengeType === 3 || item.challengeType === 4) - ) { - completedProjectCount++; - } - }); } instance.completedChallengeCount = completedChallengeCount; - instance.completedProjectCount = completedProjectCount; - instance.completedCertCount = getCompletedCertCount(instance); - instance.completedLegacyCertCount = getLegacyCertCount(instance); instance.points = (instance.progressTimestamps && instance.progressTimestamps.length) || 1; @@ -119,29 +107,3 @@ export function getUserById(id, User = loopback.getModelByType('User')) { }) ); } - -function getCompletedCertCount(user) { - return [ - 'isApisMicroservicesCert', - 'is2018DataVisCert', - 'isFrontEndLibsCert', - 'isQaCertV7', - 'isInfosecCertV7', - 'isJsAlgoDataStructCert', - 'isRespWebDesignCert', - 'isSciCompPyCertV7', - 'isDataAnalysisPyCertV7', - 'isMachineLearningPyCertV7', - 'isRelationalDatabaseCertV8', - 'isCollegeAlgebraPyCertV8' - ].reduce((sum, key) => (user[key] ? sum + 1 : sum), 0); -} - -function getLegacyCertCount(user) { - return [ - 'isFrontEndCert', - 'isBackEndCert', - 'isDataVisCert', - 'isInfosecQaCert' - ].reduce((sum, key) => (user[key] ? sum + 1 : sum), 0); -} diff --git a/api-server/src/server/utils/user-stats.test.js b/api-server/src/server/utils/user-stats.test.js index 5b66caa26f5..9f404be2d0f 100644 --- a/api-server/src/server/utils/user-stats.test.js +++ b/api-server/src/server/utils/user-stats.test.js @@ -592,16 +592,13 @@ describe('user stats', () => { }); it('resolves a user for a given id', done => { - expect.assertions(7); + expect.assertions(4); getUserById(mockUserID, mockApp.models.User) .then(user => { expect(user).toEqual(mockUser); expect(user).toHaveProperty('progressTimestamps'); expect(user).toHaveProperty('completedChallengeCount'); - expect(user).toHaveProperty('completedProjectCount'); - expect(user).toHaveProperty('completedCertCount'); - expect(user).toHaveProperty('completedLegacyCertCount'); expect(user).toHaveProperty('completedChallenges'); }) .then(done)