1
0
mirror of https://github.com/tooot-app/app synced 2025-06-05 22:19:13 +02:00

Restructure removing remote

This commit is contained in:
Zhiyuan Zheng
2021-02-20 19:12:44 +01:00
parent 9fdf3ab640
commit 45681fc1f5
71 changed files with 998 additions and 756 deletions

View File

@ -1,4 +1,4 @@
import client from '@api/client'
import apiInstance from '@api/instance'
import haptics from '@components/haptics'
import { AxiosError } from 'axios'
import { uniqBy } from 'lodash'
@ -35,17 +35,15 @@ const queryFunction = ({
switch (page) {
case 'Following':
return client<Mastodon.Status[]>({
return apiInstance<Mastodon.Status[]>({
method: 'get',
instance: 'local',
url: 'timelines/home',
params
})
case 'Local':
return client<Mastodon.Status[]>({
return apiInstance<Mastodon.Status[]>({
method: 'get',
instance: 'local',
url: 'timelines/public',
params: {
...params,
@ -54,26 +52,23 @@ const queryFunction = ({
})
case 'LocalPublic':
return client<Mastodon.Status[]>({
return apiInstance<Mastodon.Status[]>({
method: 'get',
instance: 'local',
url: 'timelines/public',
params
})
case 'Notifications':
return client<Mastodon.Notification[]>({
return apiInstance<Mastodon.Notification[]>({
method: 'get',
instance: 'local',
url: 'notifications',
params
})
case 'Account_Default':
if (pageParam && pageParam.hasOwnProperty('max_id')) {
return client<Mastodon.Status[]>({
return apiInstance<Mastodon.Status[]>({
method: 'get',
instance: 'local',
url: `accounts/${account}/statuses`,
params: {
exclude_replies: 'true',
@ -81,9 +76,8 @@ const queryFunction = ({
}
})
} else {
return client<(Mastodon.Status & { isPinned: boolean })[]>({
return apiInstance<(Mastodon.Status & { isPinned: boolean })[]>({
method: 'get',
instance: 'local',
url: `accounts/${account}/statuses`,
params: {
pinned: 'true'
@ -91,9 +85,8 @@ const queryFunction = ({
}).then(async res1 => {
let pinned: Mastodon.Status['id'][] = []
res1.body.forEach(status => pinned.push(status.id))
const res2 = await client<Mastodon.Status[]>({
const res2 = await apiInstance<Mastodon.Status[]>({
method: 'get',
instance: 'local',
url: `accounts/${account}/statuses`,
params: {
exclude_replies: 'true'
@ -108,17 +101,15 @@ const queryFunction = ({
}
case 'Account_All':
return client<Mastodon.Status[]>({
return apiInstance<Mastodon.Status[]>({
method: 'get',
instance: 'local',
url: `accounts/${account}/statuses`,
params
})
case 'Account_Attachments':
return client<Mastodon.Status[]>({
return apiInstance<Mastodon.Status[]>({
method: 'get',
instance: 'local',
url: `accounts/${account}/statuses`,
params: {
only_media: 'true',
@ -127,57 +118,50 @@ const queryFunction = ({
})
case 'Hashtag':
return client<Mastodon.Status[]>({
return apiInstance<Mastodon.Status[]>({
method: 'get',
instance: 'local',
url: `timelines/tag/${hashtag}`,
params
})
case 'Conversations':
return client<Mastodon.Conversation[]>({
return apiInstance<Mastodon.Conversation[]>({
method: 'get',
instance: 'local',
url: `conversations`,
params
})
case 'Bookmarks':
return client<Mastodon.Status[]>({
return apiInstance<Mastodon.Status[]>({
method: 'get',
instance: 'local',
url: `bookmarks`,
params
})
case 'Favourites':
return client<Mastodon.Status[]>({
return apiInstance<Mastodon.Status[]>({
method: 'get',
instance: 'local',
url: `favourites`,
params
})
case 'List':
return client<Mastodon.Status[]>({
return apiInstance<Mastodon.Status[]>({
method: 'get',
instance: 'local',
url: `timelines/list/${list}`,
params
})
case 'Toot':
return client<Mastodon.Status>({
return apiInstance<Mastodon.Status>({
method: 'get',
instance: 'local',
url: `statuses/${toot}`
}).then(async res1 => {
const res2 = await client<{
const res2 = await apiInstance<{
ancestors: Mastodon.Status[]
descendants: Mastodon.Status[]
}>({
method: 'get',
instance: 'local',
url: `statuses/${toot}/context`
})
return {
@ -296,9 +280,8 @@ const mutationFunction = async (params: MutationVarsTimeline) => {
}
})
return client<Mastodon.Poll>({
return apiInstance<Mastodon.Poll>({
method: params.payload.type === 'vote' ? 'post' : 'get',
instance: 'local',
url:
params.payload.type === 'vote'
? `polls/${params.payload.id}/votes`
@ -306,9 +289,8 @@ const mutationFunction = async (params: MutationVarsTimeline) => {
...(params.payload.type === 'vote' && { body: formData })
})
default:
return client<Mastodon.Status>({
return apiInstance<Mastodon.Status>({
method: 'post',
instance: 'local',
url: `statuses/${params.id}/${
params.payload.currentValue ? 'un' : ''
}${MapPropertyToUrl[params.payload.property]}`
@ -318,15 +300,13 @@ const mutationFunction = async (params: MutationVarsTimeline) => {
switch (params.payload.property) {
case 'block':
case 'mute':
return client<Mastodon.Account>({
return apiInstance<Mastodon.Account>({
method: 'post',
instance: 'local',
url: `accounts/${params.id}/${params.payload.property}`
})
case 'reports':
return client<Mastodon.Account>({
return apiInstance<Mastodon.Account>({
method: 'post',
instance: 'local',
url: `reports`,
params: {
account_id: params.id
@ -334,15 +314,13 @@ const mutationFunction = async (params: MutationVarsTimeline) => {
})
}
case 'deleteItem':
return client<Mastodon.Conversation>({
return apiInstance<Mastodon.Conversation>({
method: 'delete',
instance: 'local',
url: `${params.source}/${params.id}`
})
case 'domainBlock':
return client<any>({
return apiInstance<any>({
method: 'post',
instance: 'local',
url: `domain_blocks`,
params: {
domain: params.domain