aboutsummaryrefslogtreecommitdiff
path: root/src/boot/after_store.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/boot/after_store.js')
-rw-r--r--src/boot/after_store.js17
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)
}