diff options
| author | Ariadne Conill <ariadne@dereferenced.org> | 2019-11-08 23:21:07 -0600 |
|---|---|---|
| committer | Ariadne Conill <ariadne@dereferenced.org> | 2019-11-08 23:21:07 -0600 |
| commit | 20ccd93a176f911a43b3db3d595f3fdb3491934f (patch) | |
| tree | 020a8566f8bb3c7864fc69ba1120697174a17a77 /src/boot/after_store.js | |
| parent | 5db77c839bcf2ec433c8618c5b2ef1ff850df613 (diff) | |
about: add staff panel
Diffstat (limited to 'src/boot/after_store.js')
| -rw-r--r-- | src/boot/after_store.js | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/boot/after_store.js b/src/boot/after_store.js index 80a55849..e96baaf0 100644 --- a/src/boot/after_store.js +++ b/src/boot/after_store.js @@ -184,6 +184,20 @@ const getAppSecret = async ({ store }) => { }) } +const resolveStaffAccounts = async ({ store, accounts }) => { + let nicknames = accounts.map(uri => uri.split('/').pop()) + const backendInteractor = store.state.api.backendInteractor + + nicknames = nicknames.map(id => { + console.log('resolving staff account:', id) + return backendInteractor.fetchUser({ id }) + }) + + nicknames = await Promise.all(nicknames) + + store.dispatch('setInstanceOption', { name: 'staffAccounts', value: nicknames }) +} + const getNodeInfo = async ({ store }) => { try { const res = await window.fetch('/nodeinfo/2.0.json') @@ -212,6 +226,9 @@ const getNodeInfo = async ({ store }) => { const frontendVersion = window.___pleromafe_commit_hash store.dispatch('setInstanceOption', { name: 'frontendVersion', value: frontendVersion }) store.dispatch('setInstanceOption', { name: 'tagPolicyAvailable', value: metadata.federation.mrf_policies.includes('TagPolicy') }) + + const accounts = metadata.staffAccounts + await resolveStaffAccounts({ store, accounts }) } else { throw (res) } |
