This commit is contained in:
hexlocation 2025-06-08 21:13:32 +02:00
parent 57137a08d3
commit c5aa21b75e
6 changed files with 23 additions and 9 deletions

View file

@ -2,6 +2,8 @@ IMAGE_PATH=/tmp
REDIRECT_URI=http://localhost:8081/api/auth/callback
CLIENT_ID=
CLIENT_SECRET=
FRONTEND_URI=
DOMAIN=localhost
# can be either postgres or sqlite
DATABASE_TYPE=

View file

@ -38,10 +38,13 @@ func RegisterAuthRoutes(cfg *types.StereoConfig, api *gin.RouterGroup) {
}
// TODO: redirect to dashboard
c.JSON(http.StatusOK, gin.H{
/*c.JSON(http.StatusOK, gin.H{
"jwt": jwt,
"known": res.RowsAffected == 0,
})
*/
c.SetCookie("jwt", jwt, int(t.ExpiresIn), "", cfg.Domain, true, true)
c.Redirect(http.StatusTemporaryRedirect, cfg.FrontendUri)
})
api.GET("/auth/me", auth.JwtMiddleware(cfg.JWTSecret), func(c *gin.Context) {

View file

@ -48,7 +48,6 @@ func RegisterFileRoutes(cfg *types.StereoConfig, api *gin.RouterGroup) {
fileMeta := types.File{
ID: uid + "_" + file.Filename,
Path: filePath,
Owner: uid,
CreatedAt: time.Now(),
Size: file.Size,

View file

@ -15,16 +15,17 @@ type Route struct {
}
type StereoConfig struct {
ImagePath string
Router *gin.Engine
Client client.Client
Database *gorm.DB
JWTSecret string
ImagePath string
Router *gin.Engine
Client client.Client
Database *gorm.DB
JWTSecret string
FrontendUri string
Domain string
}
type File struct {
ID string `gorm:"primaryKey"`
Path string `gorm:"not null;index"`
Owner string `gorm:"not null;index"`
Size int64 `gorm:"not null;type:bigint"`
CreatedAt time.Time `gorm:"autoCreateTime"`

View file

@ -54,9 +54,14 @@ func main() {
requireEnv("CLIENT_ID"),
requireEnv("CLIENT_SECRET"),
),
FrontendUri: requireEnv("FRONTEND_URI"),
Domain: requireEnv("DOMAIN"),
JWTSecret: requireEnv("JWT_SECRET"),
}
log.Println(c.Domain)
log.Println(c.FrontendUri)
switch databaseType {
case "sqlite":
db, err := gorm.Open(sqlite.Open(sqliteFile), &gorm.Config{})
@ -86,6 +91,6 @@ func main() {
c.Database.AutoMigrate(&auth.User{}, &types.File{})
api.Register(&c)
fmt.Printf("Running on port %s\n", getEnv("PORT", "8080"))
fmt.Printf("Running on port %s\n", getEnv("PORT", "8081"))
c.Router.Run()
}

4
testing.md Normal file
View file

@ -0,0 +1,4 @@
## curl
### uploading
curl -F "file=@(path_to_test_img)" "http://localhost:8081/api/upload" -H "Authorization: Bearer (jwt here)"