2020-01-02 16:58:06 +00:00
|
|
|
/**
|
|
|
|
*
|
|
|
|
* Userdata that gets sent to the client on
|
|
|
|
* various api endpoints.
|
|
|
|
*
|
|
|
|
* @flow
|
|
|
|
*/
|
2020-04-27 16:24:57 +00:00
|
|
|
// eslint-disable-next-line import/no-unresolved
|
2021-01-30 07:02:31 +00:00
|
|
|
import { getLocalicedCanvases } from '../canvasesDesc';
|
2020-11-03 22:43:51 +00:00
|
|
|
import chatProvider from './ChatProvider';
|
2020-01-02 16:58:06 +00:00
|
|
|
|
|
|
|
|
2021-01-30 07:02:31 +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 {
|
2022-01-10 12:54:07 +00:00
|
|
|
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;
|
|
|
|
|
2021-01-30 07:02:31 +00:00
|
|
|
userdata.canvases = getLocalicedCanvases(lang);
|
2020-11-26 18:17:00 +00:00
|
|
|
userdata.channels = {
|
2021-01-31 18:06:44 +00:00
|
|
|
...chatProvider.getDefaultChannels(lang),
|
2020-11-07 15:37:52 +00:00
|
|
|
...userdata.channels,
|
2020-11-26 18:17:00 +00:00
|
|
|
};
|
2020-11-03 22:43:51 +00:00
|
|
|
|
2020-01-02 16:58:06 +00:00
|
|
|
return userdata;
|
|
|
|
}
|