fix context problems

This commit is contained in:
u80864958
2025-05-05 09:00:15 +02:00
parent 14b57b57e8
commit a06444c4df
6 changed files with 29 additions and 13 deletions

17
.vscode/launch.json vendored Normal file
View File

@ -0,0 +1,17 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch Package",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}/backend/cmd/",
"args": ["serve"]
}
]
}

Binary file not shown.

View File

@ -10,7 +10,7 @@ type authkey int
const keyClaims = iota const keyClaims = iota
func writeToContext(r *http.Request, claims *Claims) *http.Request { func writeToContext(r *http.Request, claims *Claims) *http.Request {
ctx := context.WithValue(r.Context(), claims, claims) ctx := context.WithValue(r.Context(), keyClaims, claims)
return r.WithContext(ctx) return r.WithContext(ctx)
} }

View File

@ -28,6 +28,7 @@ func (s *Service) Authenticated(next http.HandlerFunc, roles ...model.Role) http
w.WriteHeader(http.StatusForbidden) w.WriteHeader(http.StatusForbidden)
return return
} }
r = writeToContext(r, &claims) r = writeToContext(r, &claims)
next(w, r) next(w, r)
}) })

View File

@ -2,6 +2,7 @@ package model
import ( import (
"log" "log"
"os"
"gorm.io/driver/sqlite" "gorm.io/driver/sqlite"
"gorm.io/gorm" "gorm.io/gorm"
@ -9,17 +10,19 @@ import (
// Init initializes the database connection, auto-migrates models, and seeds a default post. // Init initializes the database connection, auto-migrates models, and seeds a default post.
func Init() *gorm.DB { func Init() *gorm.DB {
_, filerr := os.Open("./blog.db")
db, err := gorm.Open(sqlite.Open("./blog.db")) db, err := gorm.Open(sqlite.Open("./blog.db"))
if err != nil { if err != nil {
log.Panic(err) log.Panic(err)
} }
db.AutoMigrate(&Post{}, &Comment{}, &User{}, &InvalidJWT{}) db.AutoMigrate(&Post{}, &Comment{}, &User{}, &InvalidJWT{})
db.Save(&Post{ if filerr != nil {
ID: 1, db.Save(&Post{
Title: "Hello World", ID: 1,
TLDR: "introduction to ng-blog", Title: "Hello World",
Content: ` TLDR: "introduction to ng-blog",
Content: `
## Welcome ## Welcome
This is ng-blog, your simple blog written in Angular and Golang. This is ng-blog, your simple blog written in Angular and Golang.
@ -31,7 +34,8 @@ The default login is:
> >
> Password: admin > Password: admin
`, `,
}) })
}
return db return db
} }

View File

@ -19,12 +19,6 @@ export class CreatePostComponent {
content: '', content: '',
}); });
constructor() {
setTimeout(() => {
this.post.set({ ...this.post(), title: 'adf' });
}, 1000);
}
publish() { publish() {
this.postsService.createPost(this.post()); this.postsService.createPost(this.post());
this.location.back(); this.location.back();