diff options
| author | Shpuld Shpludson <shp@cock.li> | 2020-01-15 16:35:13 +0000 |
|---|---|---|
| committer | Shpuld Shpludson <shp@cock.li> | 2020-01-15 16:35:13 +0000 |
| commit | 3ab128e73924ce34d190ff609cb9b081cdffe402 (patch) | |
| tree | bba013a7d61688b90c1f59a8f9fa6c3323b72a05 /src/services/backend_interactor_service | |
| parent | 7c26435e66fd7e142ea4b88fbe51eede32eeb5ce (diff) | |
| parent | 7397636914a9d3e7fd30373034c25175273ab808 (diff) | |
Merge branch 'develop' into 'master'
`master` refresh with `develop`
See merge request pleroma/pleroma-fe!1028
Diffstat (limited to 'src/services/backend_interactor_service')
| -rw-r--r-- | src/services/backend_interactor_service/backend_interactor_service.js | 140 |
1 files changed, 29 insertions, 111 deletions
diff --git a/src/services/backend_interactor_service/backend_interactor_service.js b/src/services/backend_interactor_service/backend_interactor_service.js index 7e972d7b..b7372ed0 100644 --- a/src/services/backend_interactor_service/backend_interactor_service.js +++ b/src/services/backend_interactor_service/backend_interactor_service.js @@ -1,121 +1,39 @@ -import apiService from '../api/api.service.js' +import apiService, { getMastodonSocketURI, ProcessedWS } from '../api/api.service.js' import timelineFetcherService from '../timeline_fetcher/timeline_fetcher.service.js' +import notificationsFetcher from '../notifications_fetcher/notifications_fetcher.service.js' +import followRequestFetcher from '../../services/follow_request_fetcher/follow_request_fetcher.service' -const backendInteractorService = (credentials) => { - const fetchStatus = ({id}) => { - return apiService.fetchStatus({id, credentials}) - } +const backendInteractorService = credentials => ({ + startFetchingTimeline ({ timeline, store, userId = false, tag }) { + return timelineFetcherService.startFetching({ timeline, store, credentials, userId, tag }) + }, - const fetchConversation = ({id}) => { - return apiService.fetchConversation({id, credentials}) - } + startFetchingNotifications ({ store }) { + return notificationsFetcher.startFetching({ store, credentials }) + }, - const fetchFriends = ({id, page}) => { - return apiService.fetchFriends({id, page, credentials}) - } + fetchAndUpdateNotifications ({ store }) { + return notificationsFetcher.fetchAndUpdate({ store, credentials }) + }, - const exportFriends = ({id}) => { - return apiService.exportFriends({id, credentials}) - } + startFetchingFollowRequest ({ store }) { + return followRequestFetcher.startFetching({ store, credentials }) + }, - const fetchFollowers = ({id, page}) => { - return apiService.fetchFollowers({id, page, credentials}) - } + startUserSocket ({ store }) { + const serv = store.rootState.instance.server.replace('http', 'ws') + const url = serv + getMastodonSocketURI({ credentials, stream: 'user' }) + return ProcessedWS({ url, id: 'User' }) + }, - const fetchAllFollowing = ({username}) => { - return apiService.fetchAllFollowing({username, credentials}) - } + ...Object.entries(apiService).reduce((acc, [key, func]) => { + return { + ...acc, + [key]: (args) => func({ credentials, ...args }) + } + }, {}), - const fetchUser = ({id}) => { - return apiService.fetchUser({id, credentials}) - } - - const followUser = (id) => { - return apiService.followUser({credentials, id}) - } - - const unfollowUser = (id) => { - return apiService.unfollowUser({credentials, id}) - } - - const blockUser = (id) => { - return apiService.blockUser({credentials, id}) - } - - const unblockUser = (id) => { - return apiService.unblockUser({credentials, id}) - } - - const approveUser = (id) => { - return apiService.approveUser({credentials, id}) - } - - const denyUser = (id) => { - return apiService.denyUser({credentials, id}) - } - - const startFetching = ({timeline, store, userId = false, tag}) => { - return timelineFetcherService.startFetching({timeline, store, credentials, userId, tag}) - } - - const setUserMute = ({id, muted = true}) => { - return apiService.setUserMute({id, muted, credentials}) - } - - const fetchMutes = () => apiService.fetchMutes({credentials}) - const fetchBlocks = (params) => apiService.fetchBlocks({credentials, ...params}) - const fetchFollowRequests = () => apiService.fetchFollowRequests({credentials}) - const fetchOAuthTokens = () => apiService.fetchOAuthTokens({credentials}) - const revokeOAuthToken = (id) => apiService.revokeOAuthToken({id, credentials}) - - const getCaptcha = () => apiService.getCaptcha() - const register = (params) => apiService.register(params) - const updateAvatar = ({params}) => apiService.updateAvatar({credentials, params}) - const updateBg = ({params}) => apiService.updateBg({credentials, params}) - const updateBanner = ({params}) => apiService.updateBanner({credentials, params}) - const updateProfile = ({params}) => apiService.updateProfile({credentials, params}) - - const externalProfile = (profileUrl) => apiService.externalProfile({profileUrl, credentials}) - const followImport = ({params}) => apiService.followImport({params, credentials}) - - const deleteAccount = ({password}) => apiService.deleteAccount({credentials, password}) - const changePassword = ({password, newPassword, newPasswordConfirmation}) => apiService.changePassword({credentials, password, newPassword, newPasswordConfirmation}) - - const backendInteractorServiceInstance = { - fetchStatus, - fetchConversation, - fetchFriends, - exportFriends, - fetchFollowers, - followUser, - unfollowUser, - blockUser, - unblockUser, - fetchUser, - fetchAllFollowing, - verifyCredentials: apiService.verifyCredentials, - startFetching, - setUserMute, - fetchMutes, - fetchBlocks, - fetchOAuthTokens, - revokeOAuthToken, - register, - getCaptcha, - updateAvatar, - updateBg, - updateBanner, - updateProfile, - externalProfile, - followImport, - deleteAccount, - changePassword, - fetchFollowRequests, - approveUser, - denyUser - } - - return backendInteractorServiceInstance -} + verifyCredentials: apiService.verifyCredentials +}) export default backendInteractorService |
