aboutsummaryrefslogtreecommitdiffstats
path: root/frontend/src/utils/scoreUpload.ts
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/utils/scoreUpload.ts')
-rw-r--r--frontend/src/utils/scoreUpload.ts39
1 files changed, 39 insertions, 0 deletions
diff --git a/frontend/src/utils/scoreUpload.ts b/frontend/src/utils/scoreUpload.ts
new file mode 100644
index 0000000..7fa7c86
--- /dev/null
+++ b/frontend/src/utils/scoreUpload.ts
@@ -0,0 +1,39 @@
+interface UploadScoreData {
+ meta: {
+ game: string;
+ service: string;
+ playtype: string;
+ };
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ scores: any[];
+}
+
+interface UploadScoreResponse {
+ scoreCount: number;
+ message?: string;
+}
+
+export async function uploadScore(data: UploadScoreData): Promise<UploadScoreResponse> {
+ const response = await fetch(`${import.meta.env.VITE_API_URL}/uploadScore`, {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ credentials: 'include',
+ body: JSON.stringify({
+ meta: {
+ game: data.meta.game,
+ service: data.meta.service,
+ playtype: data.meta.playtype
+ },
+ scores: data.scores
+ })
+ });
+
+ if (!response.ok) {
+ const errorData = await response.json();
+ throw new Error(errorData.error || 'Failed to upload scores');
+ }
+
+ return response.json();
+}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage