diff --git a/account/src/lib/couch-db.ts b/account/src/lib/couch-db.ts index 89c7b71..5b147fa 100644 --- a/account/src/lib/couch-db.ts +++ b/account/src/lib/couch-db.ts @@ -110,9 +110,10 @@ export async function updateLingdocsUser(uuid: T.UUID, toUpdate: const user = await getLingdocsUser("userId", uuid); if (!user) throw new Error("unable to update - user not found " + uuid); if ("tests" in toUpdate) { + const newTests = toUpdate.tests.filter((t) => !user.tests.some(x => x.time === t.time)); return await insertLingdocsUser({ ...user, - tests: [...user.tests, ...toUpdate.tests], + tests: [...user.tests, ...newTests], }); } if ("password" in toUpdate) { diff --git a/package.json b/package.json index 1e38b8b..abb6d8f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@lingdocs/lingdocs-main", - "version": "0.1.4", + "version": "0.1.5", "description": "types and functions for lingdocs stuff", "main": "dist/library.js", "module": "dist/library.js", diff --git a/website/src/lib/backend-calls.ts b/website/src/lib/backend-calls.ts index 2fa7645..d15f269 100644 --- a/website/src/lib/backend-calls.ts +++ b/website/src/lib/backend-calls.ts @@ -36,6 +36,7 @@ export async function updateUserTextOptionsRecord(userTextOptionsRecord: AT.User } export async function postTestResults(tests: AT.TestResult[]): Promise { + console.log("inside post test results, gonna call myfetch"); const response = await myFetch("account", "user/tests", "PUT", { tests }) as AT.PostTestResultsResponse; console.log("response from posting test results", response); return response; @@ -72,6 +73,7 @@ export async function myFetch( // better typing and safety of all this body?: FT.SubmissionsRequest | { password: string } | AT.UpdateUserTextOptionsRecordBody | AT.PostTestResultsBody, ): Promise { + console.log("inside my fetch") const response = await fetch(baseUrl[service] + url, { method, credentials: "include", @@ -82,7 +84,9 @@ export async function myFetch( body: JSON.stringify(body), } : {}, }); + console.log("response from my fetch", response); const text = await response.text(); + console.log("as text", text); try { return JSON.parse(text); } catch (e) {