Change apiRequest to accept both params and data (#30818)
				
					
				
			This commit is contained in:
		
							parent
							
								
									309274839d
								
							
						
					
					
						commit
						547e97945d
					
				| @ -59,16 +59,49 @@ export default function api(withAuthorization = true) { | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| type RequestParamsOrData = Record<string, unknown>; | ||||
| 
 | ||||
| export async function apiRequest<ApiResponse = unknown>( | ||||
|   method: Method, | ||||
|   url: string, | ||||
|   params?: Record<string, unknown>, | ||||
|   args: { | ||||
|     params?: RequestParamsOrData; | ||||
|     data?: RequestParamsOrData; | ||||
|   } = {}, | ||||
| ) { | ||||
|   const { data } = await api().request<ApiResponse>({ | ||||
|     method, | ||||
|     url: '/api/' + url, | ||||
|     data: params, | ||||
|     ...args, | ||||
|   }); | ||||
| 
 | ||||
|   return data; | ||||
| } | ||||
| 
 | ||||
| export async function apiRequestGet<ApiResponse = unknown>( | ||||
|   url: string, | ||||
|   params?: RequestParamsOrData, | ||||
| ) { | ||||
|   return apiRequest<ApiResponse>('GET', url, { params }); | ||||
| } | ||||
| 
 | ||||
| export async function apiRequestPost<ApiResponse = unknown>( | ||||
|   url: string, | ||||
|   data?: RequestParamsOrData, | ||||
| ) { | ||||
|   return apiRequest<ApiResponse>('POST', url, { data }); | ||||
| } | ||||
| 
 | ||||
| export async function apiRequestPut<ApiResponse = unknown>( | ||||
|   url: string, | ||||
|   data?: RequestParamsOrData, | ||||
| ) { | ||||
|   return apiRequest<ApiResponse>('PUT', url, { data }); | ||||
| } | ||||
| 
 | ||||
| export async function apiRequestDelete<ApiResponse = unknown>( | ||||
|   url: string, | ||||
|   params?: RequestParamsOrData, | ||||
| ) { | ||||
|   return apiRequest<ApiResponse>('DELETE', url, { params }); | ||||
| } | ||||
|  | ||||
| @ -1,7 +1,9 @@ | ||||
| import { apiRequest } from 'mastodon/api'; | ||||
| import { apiRequestPost } from 'mastodon/api'; | ||||
| import type { ApiRelationshipJSON } from 'mastodon/api_types/relationships'; | ||||
| 
 | ||||
| export const apiSubmitAccountNote = (id: string, value: string) => | ||||
|   apiRequest<ApiRelationshipJSON>('post', `v1/accounts/${id}/note`, { | ||||
|     comment: value, | ||||
|   apiRequestPost<ApiRelationshipJSON>(`v1/accounts/${id}/note`, { | ||||
|     data: { | ||||
|       comment: value, | ||||
|     }, | ||||
|   }); | ||||
|  | ||||
| @ -1,10 +1,12 @@ | ||||
| import { apiRequest } from 'mastodon/api'; | ||||
| import { apiRequestPost } from 'mastodon/api'; | ||||
| import type { Status, StatusVisibility } from 'mastodon/models/status'; | ||||
| 
 | ||||
| export const apiReblog = (statusId: string, visibility: StatusVisibility) => | ||||
|   apiRequest<{ reblog: Status }>('post', `v1/statuses/${statusId}/reblog`, { | ||||
|     visibility, | ||||
|   apiRequestPost<{ reblog: Status }>(`v1/statuses/${statusId}/reblog`, { | ||||
|     data: { | ||||
|       visibility, | ||||
|     }, | ||||
|   }); | ||||
| 
 | ||||
| export const apiUnreblog = (statusId: string) => | ||||
|   apiRequest<Status>('post', `v1/statuses/${statusId}/unreblog`); | ||||
|   apiRequestPost<Status>(`v1/statuses/${statusId}/unreblog`); | ||||
|  | ||||
| @ -1,10 +1,12 @@ | ||||
| import { apiRequest } from 'mastodon/api'; | ||||
| import { apiRequestGet, apiRequestPut } from 'mastodon/api'; | ||||
| import type { NotificationPolicyJSON } from 'mastodon/api_types/notification_policies'; | ||||
| 
 | ||||
| export const apiGetNotificationPolicy = () => | ||||
|   apiRequest<NotificationPolicyJSON>('GET', '/v1/notifications/policy'); | ||||
|   apiRequestGet<NotificationPolicyJSON>('/v1/notifications/policy'); | ||||
| 
 | ||||
| export const apiUpdateNotificationsPolicy = ( | ||||
|   policy: Partial<NotificationPolicyJSON>, | ||||
| ) => | ||||
|   apiRequest<NotificationPolicyJSON>('PUT', '/v1/notifications/policy', policy); | ||||
|   apiRequestPut<NotificationPolicyJSON>('/v1/notifications/policy', { | ||||
|     data: policy, | ||||
|   }); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user