diff --git a/server/api/user/loadInfo.ts b/server/api/user/loadInfo.ts index 71188b0..7d0f1f1 100644 --- a/server/api/user/loadInfo.ts +++ b/server/api/user/loadInfo.ts @@ -1,7 +1,6 @@ -// Fixed data for testing +/*// Fixed data for testing export default defineEventHandler(async (event) => { return { - langPref: "en", doNotShowLangPrefPopUp: false, email: "test@yuanhau.com", name: "Howard", @@ -13,3 +12,49 @@ export default defineEventHandler(async (event) => { }, }; }); +*/ +import sql from "~/server/components/postgres"; +import getUserTokenMinusSQLInjection from "~/server/components/getUserToken"; +export default defineEventHandler(async (event) => { + try { + const token = await getUserTokenMinusSQLInjection(event); + if (token.error.length !== 0) { + return { + error: token.error, + }; + } + const fetchMainData = await sql` + SELECT * FROM users + WHERE username = ${token.user} + `; + const fetchOtherUserData = await sql` + SELECT * FROM user_other_data + WHERE username = ${token.user} + `; + + if (fetchMainData.length === 0 || fetchOtherUserData.length === 0) { + return { + error: "ERR_USER_DOESNT_EXIST", + }; + } + return { + doNotShowLangPrefPopUp: + fetchOtherUserData[0].remove_translate_popup || false, + email: fetchMainData[0].email || "", + name: fetchMainData[0].firstname || "", + useCustomGroqKey: + fetchOtherUserData[0].groq_api_key.length !== 0 || false, + translate: { + enabled: fetchOtherUserData[0].translate_enabled || false, + lang: "en", + provider: fetchOtherUserData[0].translate_provider || "google", + }, + }; + } catch (e) { + console.log(e); + return { + error: "ERR_SERVER_SIDE", + e: e.message, + }; + } +}); diff --git a/server/api/user/validateUserToken.ts b/server/api/user/validateUserToken.ts index 76a0fa3..f147a86 100644 --- a/server/api/user/validateUserToken.ts +++ b/server/api/user/validateUserToken.ts @@ -43,7 +43,7 @@ export default defineEventHandler(async (event) => { } return { userAccount: fetchViaSQL[0].username, - firstName: fetchViaSQL[0].firstName, + firstName: "", requested_action: "CONTINUE", current_spot: "KEEP_LOGIN", email: fetchViaSQL[0].email,