logo

pleroma-fe

My custom branche(s) on git.pleroma.social/pleroma/pleroma-fe
commit: dcb9a5fa17afe96dcd651e28809ea551ee89c0f6
parent: aa4a9fb24f03995ae01cbf90d787895e9e1d2e85
Author: Roger Braun <roger@rogerbraun.net>
Date:   Wed, 30 Nov 2016 21:27:25 +0100

Add friend list fetching.

Diffstat:

Msrc/modules/users.js17++++++++++++-----
Msrc/services/api/api.service.js7+++++++
Msrc/services/backend_interactor_service/backend_interactor_service.js5+++++
3 files changed, 24 insertions(+), 5 deletions(-)

diff --git a/src/modules/users.js b/src/modules/users.js @@ -48,18 +48,25 @@ const users = { loginUser (store, userCredentials) { const commit = store.commit commit('beginLogin') - return store.rootState.api.backendInteractor.verifyCredentials(userCredentials) + store.rootState.api.backendInteractor.verifyCredentials(userCredentials) .then((response) => { if (response.ok) { response.json() .then((user) => { user.credentials = userCredentials commit('setCurrentUser', user) + commit('addNewUsers', [user]) + + // Start getting fresh tweets. + timelineFetcher.startFetching({store, credentials: userCredentials}) + + // Set our new backend interactor + commit('setBackendInteractor', backendInteractorService(userCredentials)) + + // Fetch our friends + store.rootState.api.backendInteractor.fetchFriends() + .then((friends) => commit('addNewUsers', friends)) }) - // Start getting fresh tweets. - .then(() => timelineFetcher.startFetching({store, credentials: userCredentials})) - // Set our new backend interactor - .then(() => commit('setBackendInteractor', backendInteractorService(userCredentials))) } commit('endLogin') }) diff --git a/src/services/api/api.service.js b/src/services/api/api.service.js @@ -11,6 +11,7 @@ const STATUS_URL = '/api/statuses/show' const MEDIA_UPLOAD_URL = '/api/statusnet/media/upload' const CONVERSATION_URL = '/api/statusnet/conversation' const MENTIONS_URL = '/api/statuses/mentions.json' +const FRIENDS_URL = '/api/statuses/friends.json' const oldfetch = window.fetch @@ -28,6 +29,11 @@ const authHeaders = (user) => { } } +const fetchFriends = ({credentials}) => { + return fetch(FRIENDS_URL, { headers: authHeaders(credentials) }) + .then((data) => data.json()) +} + const fetchMentions = ({username, sinceId = 0, credentials}) => { let url = `${MENTIONS_URL}?since_id=${sinceId}&screen_name=${username}` return fetch(url, { headers: authHeaders(credentials) }) @@ -128,6 +134,7 @@ const apiService = { fetchConversation, fetchStatus, fetchMentions, + fetchFriends, favorite, unfavorite, retweet, diff --git a/src/services/backend_interactor_service/backend_interactor_service.js b/src/services/backend_interactor_service/backend_interactor_service.js @@ -13,10 +13,15 @@ const backendInteractorService = (credentials) => { return apiService.fetchMentions({sinceId, username, credentials}) } + const fetchFriends = () => { + return apiService.fetchFriends({credentials}) + } + const backendInteractorServiceInstance = { fetchStatus, fetchConversation, fetchMentions, + fetchFriends, verifyCredentials: apiService.verifyCredentials }