diff --git a/backend/handlers/handle_user.go b/backend/handlers/handle_user.go index 66032cb..a92d3af 100644 --- a/backend/handlers/handle_user.go +++ b/backend/handlers/handle_user.go @@ -135,6 +135,28 @@ func (store *Store) DeleteUser(ctx *gin.Context) { return } - store.DB.Delete(&user) + tx := store.DB.Delete(&user) + if tx.Error != nil { + ctx.JSON(http.StatusInternalServerError, tx.Error.Error()) + return + } + + ctx.SetCookie( + "access_token", + "", + -1, + store.Auth.Config.Endpoint, + store.Auth.Config.Domain, + true, true, + ) + ctx.SetCookie( + "refresh_token", + "", + -1, + store.Auth.Config.Endpoint, + store.Auth.Config.Domain, + true, true, + ) + ctx.JSON(http.StatusOK, user) } diff --git a/backend/models/post.go b/backend/models/post.go index fad427e..ec805f1 100644 --- a/backend/models/post.go +++ b/backend/models/post.go @@ -4,8 +4,8 @@ import "gorm.io/gorm" type Post struct { gorm.Model // includes ID, CreatedAt, UpdatedAt, DeletedAt - Title string `gorm:"not null"` - AuthorID uint - Author User `gorm:"foreignKey:AuthorID"` - Content string + Title string `gorm:"not null" json:"title"` + AuthorID uint `json:"-"` + Author User `gorm:"foreignKey:AuthorID" json:"author"` + Content string `json:"content"` } diff --git a/backend/models/user.go b/backend/models/user.go index a098ed3..a450125 100644 --- a/backend/models/user.go +++ b/backend/models/user.go @@ -4,7 +4,7 @@ import "gorm.io/gorm" type User struct { gorm.Model // includes ID, CreatedAt, UpdatedAt, DeletedAt - Username string `gorm:"uniqueIndex"` + Username string `gorm:"uniqueIndex" json:"username"` Password []byte `json:"-"` - Admin bool + Admin bool `json:"admin"` } diff --git a/nginx/vue/src/components/admin/Login.vue b/nginx/vue/src/components/admin/Login.vue index 01a2021..a7c01bc 100644 --- a/nginx/vue/src/components/admin/Login.vue +++ b/nginx/vue/src/components/admin/Login.vue @@ -1,13 +1,26 @@ diff --git a/nginx/vue/src/components/home/Favorites.vue b/nginx/vue/src/components/home/Favorites.vue index a1c80d0..1b38b11 100644 --- a/nginx/vue/src/components/home/Favorites.vue +++ b/nginx/vue/src/components/home/Favorites.vue @@ -1,3 +1,11 @@ + + diff --git a/nginx/vue/src/components/home/Feed.vue b/nginx/vue/src/components/home/Feed.vue index d54414e..cd5404b 100644 --- a/nginx/vue/src/components/home/Feed.vue +++ b/nginx/vue/src/components/home/Feed.vue @@ -18,5 +18,13 @@ onMounted(() => { + + diff --git a/nginx/vue/src/components/home/Gym.vue b/nginx/vue/src/components/home/Gym.vue index a1c80d0..1b38b11 100644 --- a/nginx/vue/src/components/home/Gym.vue +++ b/nginx/vue/src/components/home/Gym.vue @@ -1,3 +1,11 @@ + + diff --git a/nginx/vue/src/components/home/Intro.vue b/nginx/vue/src/components/home/Intro.vue index aa6373a..23940f8 100644 --- a/nginx/vue/src/components/home/Intro.vue +++ b/nginx/vue/src/components/home/Intro.vue @@ -6,6 +6,14 @@

Hello

Hello

Hello

+

Hello

+

Hello

+

Hello

+

Hello

+

Hello

+

Hello

+

Hello

+

Hello

diff --git a/nginx/vue/src/components/home/Links.vue b/nginx/vue/src/components/home/Links.vue index c6a4f82..d090a21 100644 --- a/nginx/vue/src/components/home/Links.vue +++ b/nginx/vue/src/components/home/Links.vue @@ -3,19 +3,19 @@ - + - + - + - + - + diff --git a/nginx/vue/src/components/home/Listening.vue b/nginx/vue/src/components/home/Listening.vue index 946a11c..aa0f428 100644 --- a/nginx/vue/src/components/home/Listening.vue +++ b/nginx/vue/src/components/home/Listening.vue @@ -10,9 +10,7 @@ let idx = 0; async function fetchRecent() { try { - const res = await axios.get( - "https://adam-french.co.uk/api/spotify/recent", - ); + const res = await axios.get("/api/spotify/recent"); songs = res.data; fetched.value = true; song.value = songs[0]; diff --git a/nginx/vue/src/components/home/Watching.vue b/nginx/vue/src/components/home/Watching.vue index a1c80d0..1b38b11 100644 --- a/nginx/vue/src/components/home/Watching.vue +++ b/nginx/vue/src/components/home/Watching.vue @@ -1,3 +1,11 @@ + + diff --git a/nginx/vue/src/stores/auth.js b/nginx/vue/src/stores/auth.js index a3bcd32..e921952 100644 --- a/nginx/vue/src/stores/auth.js +++ b/nginx/vue/src/stores/auth.js @@ -4,6 +4,7 @@ import axios from "axios"; export const useAuthStore = defineStore("auth", () => { const user = ref({}); + checkToken(); function logOut() { user.value = {}; @@ -15,6 +16,7 @@ export const useAuthStore = defineStore("auth", () => { username, password, }); + user.value = res.data; } catch (err) { console.error(err); } @@ -34,7 +36,9 @@ export const useAuthStore = defineStore("auth", () => { const res = await axios.get("/api/auth/check"); user.value = res.data; } catch (err) { - console.log(err); + user.value = {}; } } + + return { user, checkToken, logIn, refreshToken, logOut }; }); diff --git a/nginx/vue/src/views/Home.vue b/nginx/vue/src/views/Home.vue index 1a87bad..c9c288f 100644 --- a/nginx/vue/src/views/Home.vue +++ b/nginx/vue/src/views/Home.vue @@ -13,15 +13,15 @@ import Watching from "@/components/home/Watching.vue";