[Glitch] refactor: Prevent leading slashes in API urls
Port c45ce549afe17cca1ba474a67112038e5966f68e to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com>
This commit is contained in:
parent
e5fa94886c
commit
e0d4e24071
@ -62,6 +62,7 @@ export default function api(withAuthorization = true) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ApiUrl = `v${1 | 2}/${string}`;
|
||||||
type RequestParamsOrData = Record<string, unknown>;
|
type RequestParamsOrData = Record<string, unknown>;
|
||||||
|
|
||||||
export async function apiRequest<ApiResponse = unknown>(
|
export async function apiRequest<ApiResponse = unknown>(
|
||||||
@ -84,28 +85,28 @@ export async function apiRequest<ApiResponse = unknown>(
|
|||||||
}
|
}
|
||||||
|
|
||||||
export async function apiRequestGet<ApiResponse = unknown>(
|
export async function apiRequestGet<ApiResponse = unknown>(
|
||||||
url: string,
|
url: ApiUrl,
|
||||||
params?: RequestParamsOrData,
|
params?: RequestParamsOrData,
|
||||||
) {
|
) {
|
||||||
return apiRequest<ApiResponse>('GET', url, { params });
|
return apiRequest<ApiResponse>('GET', url, { params });
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function apiRequestPost<ApiResponse = unknown>(
|
export async function apiRequestPost<ApiResponse = unknown>(
|
||||||
url: string,
|
url: ApiUrl,
|
||||||
data?: RequestParamsOrData,
|
data?: RequestParamsOrData,
|
||||||
) {
|
) {
|
||||||
return apiRequest<ApiResponse>('POST', url, { data });
|
return apiRequest<ApiResponse>('POST', url, { data });
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function apiRequestPut<ApiResponse = unknown>(
|
export async function apiRequestPut<ApiResponse = unknown>(
|
||||||
url: string,
|
url: ApiUrl,
|
||||||
data?: RequestParamsOrData,
|
data?: RequestParamsOrData,
|
||||||
) {
|
) {
|
||||||
return apiRequest<ApiResponse>('PUT', url, { data });
|
return apiRequest<ApiResponse>('PUT', url, { data });
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function apiRequestDelete<ApiResponse = unknown>(
|
export async function apiRequestDelete<ApiResponse = unknown>(
|
||||||
url: string,
|
url: ApiUrl,
|
||||||
params?: RequestParamsOrData,
|
params?: RequestParamsOrData,
|
||||||
) {
|
) {
|
||||||
return apiRequest<ApiResponse>('DELETE', url, { params });
|
return apiRequest<ApiResponse>('DELETE', url, { params });
|
||||||
|
|||||||
@ -36,6 +36,6 @@ export const apiGetEndorsedAccounts = (id: string) =>
|
|||||||
apiRequestGet<ApiAccountJSON>(`v1/accounts/${id}/endorsements`);
|
apiRequestGet<ApiAccountJSON>(`v1/accounts/${id}/endorsements`);
|
||||||
|
|
||||||
export const apiGetFamiliarFollowers = (id: string) =>
|
export const apiGetFamiliarFollowers = (id: string) =>
|
||||||
apiRequestGet<ApiFamiliarFollowersJSON>('/v1/accounts/familiar_followers', {
|
apiRequestGet<ApiFamiliarFollowersJSON>('v1/accounts/familiar_followers', {
|
||||||
id,
|
id,
|
||||||
});
|
});
|
||||||
|
|||||||
@ -2,9 +2,9 @@ import { apiRequestGet, apiRequestPost } from 'flavours/glitch/api';
|
|||||||
import type { ApiPollJSON } from 'flavours/glitch/api_types/polls';
|
import type { ApiPollJSON } from 'flavours/glitch/api_types/polls';
|
||||||
|
|
||||||
export const apiGetPoll = (pollId: string) =>
|
export const apiGetPoll = (pollId: string) =>
|
||||||
apiRequestGet<ApiPollJSON>(`/v1/polls/${pollId}`);
|
apiRequestGet<ApiPollJSON>(`v1/polls/${pollId}`);
|
||||||
|
|
||||||
export const apiPollVote = (pollId: string, choices: string[]) =>
|
export const apiPollVote = (pollId: string, choices: string[]) =>
|
||||||
apiRequestPost<ApiPollJSON>(`/v1/polls/${pollId}/votes`, {
|
apiRequestPost<ApiPollJSON>(`v1/polls/${pollId}/votes`, {
|
||||||
choices,
|
choices,
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user