2015-07-25 00:52:07 +00:00
|
|
|
import debugFactory from 'debug';
|
|
|
|
import assign from 'object.assign';
|
|
|
|
|
|
|
|
const censor = '**********************:P********';
|
2016-01-27 19:34:44 +00:00
|
|
|
const debug = debugFactory('fcc:services:user');
|
2015-07-25 00:52:07 +00:00
|
|
|
const protectedUserFields = {
|
|
|
|
id: censor,
|
|
|
|
password: censor,
|
|
|
|
profiles: censor
|
|
|
|
};
|
|
|
|
|
2015-10-30 00:09:26 +00:00
|
|
|
export default function userServices() {
|
2015-07-25 00:52:07 +00:00
|
|
|
return {
|
|
|
|
name: 'user',
|
|
|
|
read: (req, resource, params, config, cb) => {
|
|
|
|
let { user } = req;
|
|
|
|
if (user) {
|
|
|
|
debug('user is signed in');
|
|
|
|
// Zalgo!!!
|
|
|
|
return process.nextTick(() => {
|
|
|
|
cb(null, assign({}, user.toJSON(), protectedUserFields));
|
|
|
|
});
|
|
|
|
}
|
|
|
|
debug('user is not signed in');
|
|
|
|
return process.nextTick(() => {
|
|
|
|
cb(null, {});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
};
|
|
|
|
}
|