diff options
| author | Henry Jameson <me@hjkos.com> | 2023-03-13 00:09:47 +0200 |
|---|---|---|
| committer | Henry Jameson <me@hjkos.com> | 2023-03-13 00:09:47 +0200 |
| commit | 9632b77786a9d3735f04ecf4a814311fad926ad0 (patch) | |
| tree | aaf0a967dc1d1c3e0d78347e09042517a2317719 /src/modules/users.js | |
| parent | 55ea6df40b7e2cfe2b1b5bde33204d4c03e54a12 (diff) | |
initial implementation of an admin settings module
Diffstat (limited to 'src/modules/users.js')
| -rw-r--r-- | src/modules/users.js | 39 |
1 files changed, 22 insertions, 17 deletions
diff --git a/src/modules/users.js b/src/modules/users.js index a1316ba2..74dbdffc 100644 --- a/src/modules/users.js +++ b/src/modules/users.js @@ -551,6 +551,7 @@ const users = { loginUser (store, accessToken) { return new Promise((resolve, reject) => { const commit = store.commit + const dispatch = store.dispatch commit('beginLogin') store.rootState.api.backendInteractor.verifyCredentials(accessToken) .then((data) => { @@ -563,59 +564,63 @@ const users = { user.domainMutes = [] commit('setCurrentUser', user) commit('setServerSideStorage', user) + if (user.rights.moderator || user.rights.admin) { + store.rootState.api.backendInteractor.fetchInstanceDBConfig() + .then(backendDbConfig => dispatch('setInstanceAdminSettings', { backendDbConfig })) + } commit('addNewUsers', [user]) - store.dispatch('fetchEmoji') + dispatch('fetchEmoji') getNotificationPermission() .then(permission => commit('setNotificationPermission', permission)) // Set our new backend interactor commit('setBackendInteractor', backendInteractorService(accessToken)) - store.dispatch('pushServerSideStorage') + dispatch('pushServerSideStorage') if (user.token) { - store.dispatch('setWsToken', user.token) + dispatch('setWsToken', user.token) // Initialize the shout socket. - store.dispatch('initializeSocket') + dispatch('initializeSocket') } const startPolling = () => { // Start getting fresh posts. - store.dispatch('startFetchingTimeline', { timeline: 'friends' }) + dispatch('startFetchingTimeline', { timeline: 'friends' }) // Start fetching notifications - store.dispatch('startFetchingNotifications') + dispatch('startFetchingNotifications') // Start fetching chats - store.dispatch('startFetchingChats') + dispatch('startFetchingChats') } - store.dispatch('startFetchingLists') + dispatch('startFetchingLists') if (user.locked) { - store.dispatch('startFetchingFollowRequests') + dispatch('startFetchingFollowRequests') } if (store.getters.mergedConfig.useStreamingApi) { - store.dispatch('fetchTimeline', { timeline: 'friends', since: null }) - store.dispatch('fetchNotifications', { since: null }) - store.dispatch('enableMastoSockets', true).catch((error) => { + dispatch('fetchTimeline', { timeline: 'friends', since: null }) + dispatch('fetchNotifications', { since: null }) + dispatch('enableMastoSockets', true).catch((error) => { console.error('Failed initializing MastoAPI Streaming socket', error) }).then(() => { - store.dispatch('fetchChats', { latest: true }) - setTimeout(() => store.dispatch('setNotificationsSilence', false), 10000) + dispatch('fetchChats', { latest: true }) + setTimeout(() => dispatch('setNotificationsSilence', false), 10000) }) } else { startPolling() } // Get user mutes - store.dispatch('fetchMutes') + dispatch('fetchMutes') - store.dispatch('setLayoutWidth', windowWidth()) - store.dispatch('setLayoutHeight', windowHeight()) + dispatch('setLayoutWidth', windowWidth()) + dispatch('setLayoutHeight', windowHeight()) // Fetch our friends store.rootState.api.backendInteractor.fetchFriends({ id: user.id }) |
