aboutsummaryrefslogtreecommitdiff
path: root/src/modules/users.js
diff options
context:
space:
mode:
authorHenry Jameson <me@hjkos.com>2023-03-13 00:09:47 +0200
committerHenry Jameson <me@hjkos.com>2023-03-13 00:09:47 +0200
commit9632b77786a9d3735f04ecf4a814311fad926ad0 (patch)
treeaaf0a967dc1d1c3e0d78347e09042517a2317719 /src/modules/users.js
parent55ea6df40b7e2cfe2b1b5bde33204d4c03e54a12 (diff)
initial implementation of an admin settings module
Diffstat (limited to 'src/modules/users.js')
-rw-r--r--src/modules/users.js39
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 })