Skip to content
Snippets Groups Projects
Commit aa63fe56 authored by Gilgard's avatar Gilgard
Browse files

backend communication complete

parent 064b6115
No related branches found
No related tags found
1 merge request!13User profile view
Pipeline #175700 passed
...@@ -7,6 +7,7 @@ node_modules ...@@ -7,6 +7,7 @@ node_modules
.env .env
.env.local .env.local
.env.*.local .env.*.local
src/env
# Log files # Log files
npm-debug.log* npm-debug.log*
...@@ -22,3 +23,4 @@ pnpm-debug.log* ...@@ -22,3 +23,4 @@ pnpm-debug.log*
*.njsproj *.njsproj
*.sln *.sln
*.sw? *.sw?
...@@ -101,6 +101,8 @@ ...@@ -101,6 +101,8 @@
import useVuelidate from "@vuelidate/core"; import useVuelidate from "@vuelidate/core";
import { required, email, helpers } from "@vuelidate/validators"; import { required, email, helpers } from "@vuelidate/validators";
import { doLogin } from "@/utils/apiutil"; import { doLogin } from "@/utils/apiutil";
import store from "@/store";
import { parseUserFromToken } from "@/utils/token-utils";
export default { export default {
name: "LoginForm.vue", name: "LoginForm.vue",
...@@ -159,6 +161,11 @@ export default { ...@@ -159,6 +161,11 @@ export default {
} else { } else {
this.$store.commit("saveToken", loginResponse); this.$store.commit("saveToken", loginResponse);
} }
let user = parseUserFromToken(store.state.user.token);
console.log(user);
let id = user.account_id;
this.$router.push("/profile/" + id);
}, },
validate() { validate() {
......
...@@ -4,8 +4,9 @@ ...@@ -4,8 +4,9 @@
> >
<div v-show="isCurrentUser" class="flex justify-end px-4 pt-4"> <div v-show="isCurrentUser" class="flex justify-end px-4 pt-4">
<button <button
id="dropdownButton" id="dropdownDefault"
data-dropdown-toggle="dropdown" data-dropdown-toggle="dropdown"
@click="dropdown = !dropdown"
class="hidden sm:inline-block text-gray-500 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg text-sm p-1.5" class="hidden sm:inline-block text-gray-500 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg text-sm p-1.5"
type="button" type="button"
> >
...@@ -23,18 +24,11 @@ ...@@ -23,18 +24,11 @@
<div <div
id="dropdown" id="dropdown"
class="hidden z-10 w-44 text-base list-none bg-white rounded divide-y divide-gray-100 shadow dark:bg-gray-700" v-show="dropdown"
data-popper-reference-hidden="" zindex="2"
data-popper-escaped="" class="z-10 w-44 text-base list-none bg-white rounded divide-y divide-gray-100 shadow dark:bg-gray-700"
data-popper-placement="top"
style="
position: absolute;
inset: auto auto 0px 0px;
margin: 0px;
transform: translate3d(653.6px, 2976.8px, 0px);
"
> >
<ul class="py-1" aria-labelledby="dropdownButton"> <ul class="py-1" aria-labelledby="dropdownDefault">
<li> <li>
<router-link <router-link
to="" to=""
...@@ -58,7 +52,7 @@ ...@@ -58,7 +52,7 @@
</li> </li>
<li> <li>
<router-link <router-link
to="" to="/newPassword"
class="block py-2 px-4 text-sm text-gray-700 hover:bg-gray-100 dark:hover:bg-gray-600 dark:text-gray-200 dark:hover:text-white" class="block py-2 px-4 text-sm text-gray-700 hover:bg-gray-100 dark:hover:bg-gray-600 dark:text-gray-200 dark:hover:text-white"
>Endre passord</router-link >Endre passord</router-link
> >
...@@ -76,11 +70,11 @@ ...@@ -76,11 +70,11 @@
<div class="flex flex-col items-center pb-10"> <div class="flex flex-col items-center pb-10">
<img <img
class="mb-3 w-24 h-24 rounded-full shadow-lg" class="mb-3 w-24 h-24 rounded-full shadow-lg"
:src="getProfilePicture()" src="../../assets/defaultUserProfileImage.jpg"
alt="Profile picture" alt="Profile picture"
/> />
<h5 class="mb-1 text-xl font-medium text-gray-900 dark:text-white"> <h5 class="mb-1 text-xl font-medium text-gray-900 dark:text-white">
{{ user.firstName }} {{ user.lastName }} {{ user.first_name }} {{ user.last_name }}
</h5> </h5>
<div> <div>
<rating-component :rating="renterRating" :ratingType="'Leietaker'" /> <rating-component :rating="renterRating" :ratingType="'Leietaker'" />
...@@ -111,6 +105,7 @@ export default { ...@@ -111,6 +105,7 @@ export default {
user: this.getUser(), user: this.getUser(),
renterRating: 3, //getRenterRating(this.userID), renterRating: 3, //getRenterRating(this.userID),
ownerRating: 5, //getOwnerRating(this.userID), ownerRating: 5, //getOwnerRating(this.userID),
dropdown: false,
}; };
}, },
computed: { computed: {
...@@ -125,16 +120,18 @@ export default { ...@@ -125,16 +120,18 @@ export default {
methods: { methods: {
getUser() { getUser() {
let id = router.currentRoute.value.params.id; let id = router.currentRoute.value.params.id;
if (this.isCurrentUser) { let currentUser = parseUserFromToken();
return parseUserFromToken(); console.log(currentUser);
} if ((id = currentUser.account_id)) return currentUser;
return getUser(id); let user = getUser(id);
console.log(user);
return user;
}, },
getProfilePicture() { getProfilePicture() {
if (this.user.picture == "") { /* if (this.user.picture == "") {
return "../assets/defaultUserProfileImage.jpg"; return this.user.picture;
} } */
return this.user.picture; return "../assets/defaultUserProfileImage.jpg";
}, },
}, },
}; };
......
...@@ -8,7 +8,9 @@ ...@@ -8,7 +8,9 @@
</router-link> </router-link>
</div> </div>
<div class="flex-1 pl-1"> <div class="flex-1 pl-1">
<div class="font-medium dark:text-white">{{ user.firstName }} {{ user.lastName }} </div> <div class="font-medium dark:text-white">
{{ user.firstName }} {{ user.lastName }}
</div>
</div> </div>
<div class="flex flex-row justify-center"> <div class="flex flex-row justify-center">
<button class="w-10 text-right flex justify-end">Åpne chat</button> <button class="w-10 text-right flex justify-end">Åpne chat</button>
......
import axios from "axios"; import axios from "axios";
import { tokenHeader } from "./token-utils"; import { tokenHeader } from "./token-utils";
const VUE_APP_BASEURL = "http://65.108.62.223:3000/api/";
export function doLogin(loginRequest) { export function doLogin(loginRequest) {
return axios return axios
.post(process.env.VUE_APP_BASEURL + "login/authentication", loginRequest) .post(VUE_APP_BASEURL + "login/authentication", loginRequest)
.then((response) => { .then((response) => {
return response.data; return response.data;
}) })
...@@ -15,7 +17,7 @@ export function doLogin(loginRequest) { ...@@ -15,7 +17,7 @@ export function doLogin(loginRequest) {
export function getUser(userid) { export function getUser(userid) {
return axios return axios
.get(`http://65.108.62.223:3000/api/user/` + userid, { .get(VUE_APP_BASEURL + "users/" + userid + "/profile", {
headers: tokenHeader(), headers: tokenHeader(),
}) })
.then((response) => { .then((response) => {
...@@ -28,7 +30,7 @@ export function getUser(userid) { ...@@ -28,7 +30,7 @@ export function getUser(userid) {
export function getRenterRating(userid) { export function getRenterRating(userid) {
return axios return axios
.get(`http://65.108.62.223:3000/api/user/renter-rating/` + userid, { .get(VUE_APP_BASEURL + "users/" + userid + "", {
headers: tokenHeader(), headers: tokenHeader(),
}) })
.then((response) => { .then((response) => {
...@@ -41,7 +43,7 @@ export function getRenterRating(userid) { ...@@ -41,7 +43,7 @@ export function getRenterRating(userid) {
export function getOwnerRating(userid) { export function getOwnerRating(userid) {
return axios return axios
.get(`http://65.108.62.223:3000/api/user/owner-rating/` + userid, { .get(VUE_APP_BASEURL + "users/" + userid + "", {
headers: tokenHeader(), headers: tokenHeader(),
}) })
.then((response) => { .then((response) => {
......
...@@ -8,6 +8,5 @@ export function tokenHeader() { ...@@ -8,6 +8,5 @@ export function tokenHeader() {
export function parseUserFromToken() { export function parseUserFromToken() {
let token = store.state.user.token; let token = store.state.user.token;
console.log(token); return jwt_decode(token);
return jwt_decode();
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment