aboutsummaryrefslogtreecommitdiffstats
path: root/src/helpers/fetchSolution.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/helpers/fetchSolution.ts')
-rw-r--r--src/helpers/fetchSolution.ts32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/helpers/fetchSolution.ts b/src/helpers/fetchSolution.ts
index d877d8f..b7895bb 100644
--- a/src/helpers/fetchSolution.ts
+++ b/src/helpers/fetchSolution.ts
@@ -77,6 +77,20 @@ export async function getDailySolution(): Promise<DailySolution> {
};
}
+export async function getDailyMVSolution(): Promise<DailySolution> {
+ const solutionData = await fetch(`${API_URL}/todayMV`);
+ if (!solutionData.ok) {
+ throw new Error(`Failed to fetch MV solution: ${solutionData.statusText}`);
+ }
+ const { data, date, sessionToken, initialSig } = await solutionData.json();
+ return {
+ date,
+ sessionToken,
+ initialSig,
+ song: decryptResponse(data, date),
+ };
+}
+
export async function submitDailyGuess(
payload: SubmitDailyGuessRequest
): Promise<SubmitDailyGuessResponse> {
@@ -95,6 +109,24 @@ export async function submitDailyGuess(
return (await response.json()) as SubmitDailyGuessResponse;
}
+export async function submitDailyMVGuess(
+ payload: SubmitDailyGuessRequest
+): Promise<SubmitDailyGuessResponse> {
+ const response = await fetch(`${API_URL}/guessMV`, {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json",
+ },
+ body: JSON.stringify(payload),
+ });
+
+ if (!response.ok) {
+ throw new Error(`Failed to submit MV guess: ${response.statusText}`);
+ }
+
+ return (await response.json()) as SubmitDailyGuessResponse;
+}
+
export async function getSelectSolution(): Promise<Song> {
const solutionData = await fetch(`${API_URL}/select`);
if (!solutionData.ok) {
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage