aboutsummaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/oauth_tokens.js26
-rw-r--r--src/modules/users.js39
2 files changed, 48 insertions, 17 deletions
diff --git a/src/modules/oauth_tokens.js b/src/modules/oauth_tokens.js
new file mode 100644
index 00000000..00ac1431
--- /dev/null
+++ b/src/modules/oauth_tokens.js
@@ -0,0 +1,26 @@
+const oauthTokens = {
+ state: {
+ tokens: []
+ },
+ actions: {
+ fetchTokens ({rootState, commit}) {
+ rootState.api.backendInteractor.fetchOAuthTokens().then((tokens) => {
+ commit('swapTokens', tokens)
+ })
+ },
+ revokeToken ({rootState, commit, state}, id) {
+ rootState.api.backendInteractor.revokeOAuthToken(id).then((response) => {
+ if (response.status === 201) {
+ commit('swapTokens', state.tokens.filter(token => token.id !== id))
+ }
+ })
+ }
+ },
+ mutations: {
+ swapTokens (state, tokens) {
+ state.tokens = tokens
+ }
+ }
+}
+
+export default oauthTokens
diff --git a/src/modules/users.js b/src/modules/users.js
index 77df7168..093af497 100644
--- a/src/modules/users.js
+++ b/src/modules/users.js
@@ -72,14 +72,20 @@ export const mutations = {
},
// Because frontend doesn't have a reason to keep these stuff in memory
// outside of viewing someones user profile.
- clearFriendsAndFollowers (state, userKey) {
- const user = state.usersObject[userKey]
+ clearFriends (state, userId) {
+ const user = state.usersObject[userId]
if (!user) {
return
}
user.friends = []
- user.followers = []
user.friendsPage = 0
+ },
+ clearFollowers (state, userId) {
+ const user = state.usersObject[userId]
+ if (!user) {
+ return
+ }
+ user.followers = []
user.followersPage = 0
},
addNewUsers (state, users) {
@@ -140,7 +146,7 @@ const users = {
getters,
actions: {
fetchUser (store, id) {
- store.rootState.api.backendInteractor.fetchUser({ id })
+ return store.rootState.api.backendInteractor.fetchUser({ id })
.then((user) => store.commit('addNewUsers', [user]))
},
fetchBlocks (store) {
@@ -189,20 +195,19 @@ const users = {
})
},
addFollowers ({ rootState, commit }, fetchBy) {
- return new Promise((resolve, reject) => {
- const user = rootState.users.usersObject[fetchBy]
- const page = user.followersPage || 1
- rootState.api.backendInteractor.fetchFollowers({ id: user.id, page })
- .then((followers) => {
- commit('addFollowers', { id: user.id, followers, page })
- resolve(followers)
- }).catch(() => {
- reject()
- })
- })
+ const user = rootState.users.usersObject[fetchBy]
+ const page = user.followersPage || 1
+ return rootState.api.backendInteractor.fetchFollowers({ id: user.id, page })
+ .then((followers) => {
+ commit('addFollowers', { id: user.id, followers, page })
+ return followers
+ })
+ },
+ clearFriends ({ commit }, userId) {
+ commit('clearFriends', userId)
},
- clearFriendsAndFollowers ({ commit }, userKey) {
- commit('clearFriendsAndFollowers', userKey)
+ clearFollowers ({ commit }, userId) {
+ commit('clearFollowers', userId)
},
registerPushNotifications (store) {
const token = store.state.currentUser.credentials