Convert notification requests actions and reducers to Typescript (#31866)
This commit is contained in:
parent
d5cf27e667
commit
c0eda832f3
12 changed files with 585 additions and 492 deletions
|
@ -1,7 +1,36 @@
|
|||
import api, { apiRequest, getLinks } from 'mastodon/api';
|
||||
import type { ApiNotificationGroupsResultJSON } from 'mastodon/api_types/notifications';
|
||||
import api, {
|
||||
apiRequest,
|
||||
getLinks,
|
||||
apiRequestGet,
|
||||
apiRequestPost,
|
||||
} from 'mastodon/api';
|
||||
import type {
|
||||
ApiNotificationGroupsResultJSON,
|
||||
ApiNotificationRequestJSON,
|
||||
ApiNotificationJSON,
|
||||
} from 'mastodon/api_types/notifications';
|
||||
|
||||
export const apiFetchNotifications = async (params?: {
|
||||
export const apiFetchNotifications = async (
|
||||
params?: {
|
||||
account_id?: string;
|
||||
since_id?: string;
|
||||
},
|
||||
url?: string,
|
||||
) => {
|
||||
const response = await api().request<ApiNotificationJSON[]>({
|
||||
method: 'GET',
|
||||
url: url ?? '/api/v1/notifications',
|
||||
params,
|
||||
});
|
||||
|
||||
return {
|
||||
notifications: response.data,
|
||||
links: getLinks(response),
|
||||
};
|
||||
};
|
||||
|
||||
export const apiFetchNotificationGroups = async (params?: {
|
||||
url?: string;
|
||||
exclude_types?: string[];
|
||||
max_id?: string;
|
||||
since_id?: string;
|
||||
|
@ -24,3 +53,43 @@ export const apiFetchNotifications = async (params?: {
|
|||
|
||||
export const apiClearNotifications = () =>
|
||||
apiRequest<undefined>('POST', 'v1/notifications/clear');
|
||||
|
||||
export const apiFetchNotificationRequests = async (
|
||||
params?: {
|
||||
since_id?: string;
|
||||
},
|
||||
url?: string,
|
||||
) => {
|
||||
const response = await api().request<ApiNotificationRequestJSON[]>({
|
||||
method: 'GET',
|
||||
url: url ?? '/api/v1/notifications/requests',
|
||||
params,
|
||||
});
|
||||
|
||||
return {
|
||||
requests: response.data,
|
||||
links: getLinks(response),
|
||||
};
|
||||
};
|
||||
|
||||
export const apiFetchNotificationRequest = async (id: string) => {
|
||||
return apiRequestGet<ApiNotificationRequestJSON>(
|
||||
`v1/notifications/requests/${id}`,
|
||||
);
|
||||
};
|
||||
|
||||
export const apiAcceptNotificationRequest = async (id: string) => {
|
||||
return apiRequestPost(`v1/notifications/requests/${id}/accept`);
|
||||
};
|
||||
|
||||
export const apiDismissNotificationRequest = async (id: string) => {
|
||||
return apiRequestPost(`v1/notifications/requests/${id}/dismiss`);
|
||||
};
|
||||
|
||||
export const apiAcceptNotificationRequests = async (id: string[]) => {
|
||||
return apiRequestPost('v1/notifications/requests/accept', { id });
|
||||
};
|
||||
|
||||
export const apiDismissNotificationRequests = async (id: string[]) => {
|
||||
return apiRequestPost('v1/notifications/dismiss/dismiss', { id });
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue