From 92447e02e5fc3977c9cfbca7a8de4132cbb4f13b Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Wed, 16 Oct 2024 21:13:54 +0300 Subject: refactor: upload run logic improvement --- frontend/src/api/Api.tsx | 4 +++- frontend/src/api/Maps.tsx | 26 +++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) (limited to 'frontend/src/api') diff --git a/frontend/src/api/Api.tsx b/frontend/src/api/Api.tsx index 6731cb3..0f0c4d3 100644 --- a/frontend/src/api/Api.tsx +++ b/frontend/src/api/Api.tsx @@ -3,8 +3,9 @@ import { delete_token, get_token } from './Auth'; import { get_user, get_profile, post_profile } from './User'; import { get_games, get_chapters, get_games_chapters, get_game_maps, get_search } from './Games'; import { get_official_rankings, get_unofficial_rankings } from './Rankings'; -import { get_map_summary, get_map_leaderboard, get_map_discussions, get_map_discussion, post_map_discussion, post_map_discussion_comment, delete_map_discussion } from './Maps'; +import { get_map_summary, get_map_leaderboard, get_map_discussions, get_map_discussion, post_map_discussion, post_map_discussion_comment, delete_map_discussion, post_record } from './Maps'; import { delete_map_summary, post_map_summary, put_map_image, put_map_summary } from './Mod'; +import { UploadRunContent } from '../types/Content'; // add new api call function entries here // example usage: API.get_games(); @@ -34,6 +35,7 @@ export const API = { post_map_discussion: (token: string, map_id: string, content: MapDiscussionContent) => post_map_discussion(token, map_id, content), post_map_discussion_comment: (token: string, map_id: string, discussion_id: number, comment: string) => post_map_discussion_comment(token, map_id, discussion_id, comment), + post_record: (token: string, run: UploadRunContent) => post_record(token, run), delete_map_discussion: (token: string, map_id: string, discussion_id: number) => delete_map_discussion(token, map_id, discussion_id), // Mod diff --git a/frontend/src/api/Maps.tsx b/frontend/src/api/Maps.tsx index fbad78c..6bdc3e6 100644 --- a/frontend/src/api/Maps.tsx +++ b/frontend/src/api/Maps.tsx @@ -1,6 +1,6 @@ import axios from "axios"; import { url } from "./Api"; -import { MapDiscussionContent } from "../types/Content"; +import { MapDiscussionContent, UploadRunContent } from "../types/Content"; import { MapSummary, MapLeaderboard, MapDiscussions, MapDiscussion } from "../types/Map"; export const get_map_summary = async (map_id: string): Promise => { @@ -74,3 +74,27 @@ export const delete_map_discussion = async (token: string, map_id: string, discu }); return response.data.success; }; + +export const post_record = async (token: string, run: UploadRunContent): Promise<[string]> => { + if (run.partner_demo && run.partner_id) { + const response = await axios.postForm(url(`maps/${run.map_id}/record`), { + "host_demo": run.host_demo, + "partner_demo": run.partner_demo, + "partner_id": run.partner_id, + }, { + headers: { + "Authorization": token, + } + }); + return response.data.message; + } else { + const response = await axios.postForm(url(`maps/${run.map_id}/record`), { + "host_demo": run.host_demo, + }, { + headers: { + "Authorization": token, + } + }); + return response.data.message; + } +}; -- cgit v1.2.3