refactor: remove unused parts of api-server (#50513)

* refactor: remove unused parts of api-server
This commit is contained in:
Oliver Eyton-Williams
2023-05-30 17:54:19 +02:00
committed by GitHub
parent 512bcc0a8f
commit f3eb1eccb5
4 changed files with 1 additions and 106 deletions

View File

@@ -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);
});
});
}

View File

@@ -51,9 +51,6 @@ export const userPropsForSession = [
'sound',
'keyboardShortcuts',
'completedChallengeCount',
'completedProjectCount',
'completedCertCount',
'completedLegacyCertCount',
'acceptedPrivacyTerms',
'donationEmails'
];

View File

@@ -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);
}

View File

@@ -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)