refactor: saving portfolio items (#47635)

This commit is contained in:
Oliver Eyton-Williams
2022-09-27 17:40:01 +02:00
committed by GitHub
parent 147ef7ba8b
commit a2790190b2
3 changed files with 44 additions and 82 deletions

View File

@@ -115,23 +115,14 @@ function updateMyEmail(req, res, next) {
// }
function updateMyPortfolio(...args) {
const portfolioKeys = [
'id',
'title',
'description',
'url',
'image',
'isSaved'
];
const portfolioKeys = ['id', 'title', 'description', 'url', 'image'];
const buildUpdate = body => {
const portfolio = body?.portfolio?.map(elem => _.pick(elem, portfolioKeys));
return { portfolio };
};
const validate = ({ portfolio }) => portfolio?.every(isPortfolioElement);
const isPortfolioElement = elem =>
Object.values(elem).every(
val => typeof val == 'string' || typeof val === 'boolean'
);
Object.values(elem).every(val => typeof val == 'string');
createUpdateUserProperties(buildUpdate, validate)(...args);
}