Resolve notification admin status with config

This commit is contained in:
Jake McDermott
2020-09-08 14:46:33 -04:00
parent d3f2dedbd5
commit 5d9d486f9c

View File

@@ -12,7 +12,7 @@ import { t } from '@lingui/macro';
import { withI18n } from '@lingui/react'; import { withI18n } from '@lingui/react';
import styled from 'styled-components'; import styled from 'styled-components';
import { ConfigAPI, MeAPI, RootAPI } from '../../api'; import { ConfigAPI, MeAPI, OrganizationsAPI, RootAPI } from '../../api';
import { ConfigProvider } from '../../contexts/Config'; import { ConfigProvider } from '../../contexts/Config';
import { SESSION_TIMEOUT_KEY } from '../../constants'; import { SESSION_TIMEOUT_KEY } from '../../constants';
import { isAuthenticated } from '../../util/auth'; import { isAuthenticated } from '../../util/auth';
@@ -148,8 +148,22 @@ function AppContainer({ i18n, navRouteConfig = [], children }) {
results: [me], results: [me],
}, },
}, },
] = await Promise.all([ConfigAPI.read(), MeAPI.read()]); {
setConfig({ ...data, me }); data: { results: notificationAdminResults },
},
] = await Promise.all([
ConfigAPI.read(),
MeAPI.read(),
OrganizationsAPI.read({
page_size: 1,
role_level: 'notification_admin_role',
}),
]);
setConfig({
...data,
me,
isNotificationAdmin: Boolean(notificationAdminResults?.length),
});
setIsReady(true); setIsReady(true);
} catch (err) { } catch (err) {
if (err.response.status === 401) { if (err.response.status === 401) {