pixelplanet/src/core/me.js

37 lines
814 B
JavaScript
Raw Normal View History

2020-01-02 16:58:06 +00:00
/**
*
* Userdata that gets sent to the client on
* various api endpoints.
*
* @flow
*/
// eslint-disable-next-line import/no-unresolved
import { getLocalicedCanvases } from '../canvasesDesc';
import chatProvider from './ChatProvider';
2020-01-02 16:58:06 +00:00
export default async function getMe(user, lang = 'default') {
2020-01-02 16:58:06 +00:00
const userdata = user.getUserData();
// sanitize data
2020-01-04 06:00:47 +00:00
const {
name, mailVerified,
2020-01-04 06:00:47 +00:00
} = userdata;
2020-01-02 16:58:06 +00:00
if (!name) userdata.name = null;
const messages = [];
if (name && !mailVerified) {
messages.push('not_verified');
}
if (messages.length > 0) {
userdata.messages = messages;
}
delete userdata.mailVerified;
userdata.canvases = getLocalicedCanvases(lang);
2020-11-26 18:17:00 +00:00
userdata.channels = {
...chatProvider.getDefaultChannels(lang),
2020-11-07 15:37:52 +00:00
...userdata.channels,
2020-11-26 18:17:00 +00:00
};
2020-01-02 16:58:06 +00:00
return userdata;
}