diff --git a/server.js b/server.js index 13bf151..c8c3ee2 100644 --- a/server.js +++ b/server.js @@ -3,11 +3,18 @@ import http from "http"; const host = '127.0.0.1'; const port = 8000; -const user = JSON.stringify({ - name: "Joe User", - stickers: [], - username: "joe", -}); +const users = { + "joe": { + name: "Joe User", + stickers: [], + username: "joe", + }, + "jen": { + name: "Jen User", + stickers: [], + username: "joe", + } +}; const stickers = { "88ae126f-b19a-4287-abe0-a8f5ac763cb7": { @@ -33,7 +40,7 @@ const requestListener = function (req, res) { switch (urlParts[1]) { case "login": res.writeHead(200); - res.end(user); + res.end(JSON.stringify(users[urlParts[2]])); break; case "sticker": if (!(urlParts[2] in stickers)) { @@ -46,6 +53,10 @@ const requestListener = function (req, res) { const response = JSON.stringify(sticker); res.end(response); break; + case "user": + res.writeHead(200); + res.end(JSON.stringify(users[urlParts[2]])); + break; default: res.writeHead(200); res.end(JSON.stringify({nothing: 'here'})); diff --git a/src/stores/userStore.ts b/src/stores/userStore.ts index 5a980a1..b03761b 100644 --- a/src/stores/userStore.ts +++ b/src/stores/userStore.ts @@ -13,7 +13,7 @@ export const useUserStore = defineStore('user', { }, async login(username: string, password: string) { const response = await fetch( - "/api/login", + `/api/login/${username}`, // TODO: Should not be in path. { method: 'POST', }, diff --git a/src/views/LoginView.vue b/src/views/LoginView.vue index bfce44f..9d8f95c 100644 --- a/src/views/LoginView.vue +++ b/src/views/LoginView.vue @@ -36,9 +36,11 @@ const resolver = ({ values }) => { if (!values.username) { errors.username = [{message: 'Username is required.'}]; } + username.value = values.username; if (!values.password) { errors.password = [{message: 'Password is required.'}]; } + password.value = values.password; return { errors } }; diff --git a/src/views/ProfileView.vue b/src/views/ProfileView.vue index ff48385..d447847 100644 --- a/src/views/ProfileView.vue +++ b/src/views/ProfileView.vue @@ -1,17 +1,33 @@