From a0527855da7e5eb9381419ac84fc5e15dd9ff95b Mon Sep 17 00:00:00 2001 From: Michael Fatemi Date: Fri, 16 Jul 2021 10:58:22 -0400 Subject: [PATCH] add api types --- src/components/api.ts | 100 +++++++++++++++++++++--------------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/src/components/api.ts b/src/components/api.ts index 93badd7..9c7bc76 100644 --- a/src/components/api.ts +++ b/src/components/api.ts @@ -63,15 +63,23 @@ export async function addOrUpdateEventSignup( eventId: number, placeId: string | null ) { - return await post(`/events/${eventId}/signup`, { - placeId, - }); + await post(`/events/${eventId}/signup`, { placeId }); } export async function removeEventSignup(eventId: number) { - return await delete$(`/events/${eventId}/signup`); + await delete$(`/events/${eventId}/signup`); } +type CreateEventProps = { + name: string; + startTime: Date; + duration: number; + endDate: Date | null; + groupId: number; + placeId: string; + daysOfWeek: number; +}; + export async function createEvent({ name, startTime, @@ -80,15 +88,7 @@ export async function createEvent({ groupId, placeId, daysOfWeek, -}: { - name: string; - startTime: Date; - duration: number; - endDate: Date | null; - groupId: number; - placeId: string; - daysOfWeek: number; -}) { +}: CreateEventProps) { const { id } = await post('/events', { name, startTime, @@ -108,32 +108,28 @@ export async function getEvents(): Promise { } export async function getEvent(id: number): Promise { - return await get('/events/' + id); + return await get(`/events/${id}`); } export async function getGroup(id: number): Promise { return await get('/groups/' + id); } -export async function getGroupEvents(id: number) { - return await get('/groups/' + id + '/events'); +export async function getGroupEvents(id: number): Promise { + return await get(`/groups/${id}/events`); } -export async function getGroups() { +export async function getGroups(): Promise { return await get('/groups'); } export async function deleteGroup(id: number) { - return await delete$('/groups/' + id); + await delete$('/groups/' + id); } -export async function createGroup(name: string) { - const result = await post('/groups', { - name, - }); - return { - id: result.id, - }; +export async function createGroup(name: string): Promise<{ id: number }> { + const { id } = await post('/groups', { name }); + return { id }; } export async function getNotifications() { @@ -161,78 +157,82 @@ export async function getMe() { } export async function resolveCode(code: string): Promise { - return await get('/resolve_code/' + code); + return await get(`/resolve_code/${code}`); } export async function joinGroup(id: number, code: string) { - const result = await post('/groups/' + id + '/join', { code }); + const result = await post(`/groups/${id}/join`, { code }); return { status: result.status, }; } -export async function generateCode(groupId: number) { +export async function generateCode(groupId: number): Promise { const { code } = await post(`/groups/${groupId}/generate_code`, {}); return code; } -export async function resetCode(groupId: number) { +export async function resetCode(groupId: number): Promise { return await post('/groups/' + groupId + '/reset_code', {}); } -export async function getReceivedInvitationsAndRequests() { - return (await get( - '/users/@me/received_requests_and_invites' - )) as IInvitation[]; +export async function getReceivedInvitationsAndRequests(): Promise< + IInvitation[] +> { + return await get('/users/@me/received_requests_and_invites'); } export async function getCarpool(id: number): Promise { return await get('/carpools/' + id); } +type CreateCarpoolProps = { + eventId: number; + name: string; + invitedUserIds: number[]; +}; + export async function createCarpool({ eventId, name, invitedUserIds, -}: { - eventId: number; - name: string; - invitedUserIds: number[]; -}): Promise<{ id: number }> { - return await post('/carpools/', { eventId, name, invitedUserIds }); +}: CreateCarpoolProps): Promise<{ id: number }> { + const { id } = await post('/carpools/', { eventId, name, invitedUserIds }); + + return { id }; } export async function sendCarpoolInvite(carpoolId: number, userId: number) { - return await post('/carpools/' + carpoolId + '/invite', { userId }); + await post(`/carpools/${carpoolId}/invite`, { userId }); } export async function cancelCarpoolInvite(carpoolId: number, userId: number) { - return await delete$('/carpools/' + carpoolId + '/invite', { userId }); + await delete$('/carpools/' + carpoolId + '/invite', { userId }); } export async function leaveCarpool(carpoolId: number) { - return await post(`/carpools/${carpoolId}/leave`, {}); + await post(`/carpools/${carpoolId}/leave`, {}); } export async function sendCarpoolRequest(carpoolId: number) { - return await post('/carpools/' + carpoolId + '/request', {}); + await post('/carpools/' + carpoolId + '/request', {}); } export async function cancelCarpoolRequest(carpoolId: number) { - return await delete$('/carpools/' + carpoolId + '/request'); + await delete$('/carpools/' + carpoolId + '/request'); } -export async function getSentRequestsAndInvites() { - return (await get('/users/@me/sent_requests_and_invites')) as IInvitation[]; +export async function getSentRequestsAndInvites(): Promise { + return await get('/users/@me/sent_requests_and_invites'); } -export async function getActiveEvents() { - return (await get('/users/@me/active_events')) as IEvent[]; +export async function getActiveEvents(): Promise { + return await get('/users/@me/active_events'); } -export async function getActiveCarpools() { - return (await get('/users/@me/active_carpools')) as ICarpool[]; +export async function getActiveCarpools(): Promise { + return await get('/users/@me/active_carpools'); } export type PotentialInvitee = {