feat(settings): Expand Settings page functionality (#16664)
* fix(layout): Fix Settings layout in firefox * chore(availableForHire): Remove available for hire setting * feat(helpers): Use helper components for Settings layout * fix(map): Fix undefined lang requested * feat(settings): Expand Settings page functionality * chore(pledge): Remove pledge from Settings * fix(about): Adjust AboutSettings layout * fix(portfolio): Improve PortfolioSettings layout * fix(email): Improve EmailSettings layout * fix(settings): Align save buttons with form fields * fix(AHP): Format AHP * fix(DangerZone): Adjust DangerZone layout * fix(projectSettings): Change Button Copy * fix(CertSettings): Fix certificate claim logic * chore(lint): Lint
This commit is contained in:
committed by
Quincy Larson
parent
9f034f4f79
commit
24ef69cf7a
@@ -1,44 +1,10 @@
|
||||
import _ from 'lodash';
|
||||
// import debug from 'debug';
|
||||
// use old rxjs
|
||||
import { Observable } from 'rx';
|
||||
import _ from 'lodash';
|
||||
|
||||
const publicUserProps = [
|
||||
'id',
|
||||
'name',
|
||||
'username',
|
||||
'bio',
|
||||
'theme',
|
||||
'picture',
|
||||
'points',
|
||||
'email',
|
||||
'languageTag',
|
||||
|
||||
'isCheater',
|
||||
'isGithubCool',
|
||||
|
||||
'isLocked',
|
||||
'isAvailableForHire',
|
||||
'isFrontEndCert',
|
||||
'isBackEndCert',
|
||||
'isDataVisCert',
|
||||
'isFullStackCert',
|
||||
'isRespWebDesignCert',
|
||||
'isFrontEndLibsCert',
|
||||
'isJsAlgoDataStructCert',
|
||||
'isApisMicroservicesCert',
|
||||
'isInfosecQaCert',
|
||||
|
||||
'githubURL',
|
||||
'sendMonthlyEmail',
|
||||
'sendNotificationEmail',
|
||||
'sendQuincyEmail',
|
||||
|
||||
'currentChallengeId',
|
||||
'challengeMap'
|
||||
];
|
||||
|
||||
// const log = debug('fcc:services:user');
|
||||
import {
|
||||
userPropsForSession,
|
||||
normaliseUserFields
|
||||
} from '../utils/publicUserProps';
|
||||
|
||||
export default function userServices() {
|
||||
return {
|
||||
@@ -51,18 +17,23 @@ export default function userServices() {
|
||||
Observable.defer(() => user.getChallengeMap$())
|
||||
.map(challengeMap => ({ ...user.toJSON(), challengeMap }))
|
||||
.map(user => ({
|
||||
entities: {
|
||||
user: {
|
||||
[user.username]: {
|
||||
..._.pick(user, publicUserProps),
|
||||
isTwitter: !!user.twitter,
|
||||
isLinkedIn: !!user.linkedIn
|
||||
entities: {
|
||||
user: {
|
||||
[user.username]: {
|
||||
..._.pick(user, userPropsForSession),
|
||||
isEmailVerified: !!user.emailVerified,
|
||||
isGithub: !!user.githubURL,
|
||||
isLinkedIn: !!user.linkedIn,
|
||||
isTwitter: !!user.twitter,
|
||||
isWebsite: !!user.website,
|
||||
...normaliseUserFields(user)
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
result: user.username
|
||||
}))
|
||||
)
|
||||
},
|
||||
result: user.username
|
||||
})
|
||||
)
|
||||
)
|
||||
.subscribe(
|
||||
user => cb(null, user),
|
||||
cb
|
||||
|
Reference in New Issue
Block a user