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 REDIRECT_URI=http://localhost:8081/api/auth/callback
CLIENT_ID= CLIENT_ID=
CLIENT_SECRET= CLIENT_SECRET=
FRONTEND_URI=
DOMAIN=localhost
# can be either postgres or sqlite # can be either postgres or sqlite
DATABASE_TYPE= DATABASE_TYPE=

View file

@ -38,10 +38,13 @@ func RegisterAuthRoutes(cfg *types.StereoConfig, api *gin.RouterGroup) {
} }
// TODO: redirect to dashboard // TODO: redirect to dashboard
c.JSON(http.StatusOK, gin.H{ /*c.JSON(http.StatusOK, gin.H{
"jwt": jwt, "jwt": jwt,
"known": res.RowsAffected == 0, "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) { 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{ fileMeta := types.File{
ID: uid + "_" + file.Filename, ID: uid + "_" + file.Filename,
Path: filePath,
Owner: uid, Owner: uid,
CreatedAt: time.Now(), CreatedAt: time.Now(),
Size: file.Size, Size: file.Size,

View file

@ -20,11 +20,12 @@ type StereoConfig struct {
Client client.Client Client client.Client
Database *gorm.DB Database *gorm.DB
JWTSecret string JWTSecret string
FrontendUri string
Domain string
} }
type File struct { type File struct {
ID string `gorm:"primaryKey"` ID string `gorm:"primaryKey"`
Path string `gorm:"not null;index"`
Owner string `gorm:"not null;index"` Owner string `gorm:"not null;index"`
Size int64 `gorm:"not null;type:bigint"` Size int64 `gorm:"not null;type:bigint"`
CreatedAt time.Time `gorm:"autoCreateTime"` CreatedAt time.Time `gorm:"autoCreateTime"`

View file

@ -54,9 +54,14 @@ func main() {
requireEnv("CLIENT_ID"), requireEnv("CLIENT_ID"),
requireEnv("CLIENT_SECRET"), requireEnv("CLIENT_SECRET"),
), ),
FrontendUri: requireEnv("FRONTEND_URI"),
Domain: requireEnv("DOMAIN"),
JWTSecret: requireEnv("JWT_SECRET"), JWTSecret: requireEnv("JWT_SECRET"),
} }
log.Println(c.Domain)
log.Println(c.FrontendUri)
switch databaseType { switch databaseType {
case "sqlite": case "sqlite":
db, err := gorm.Open(sqlite.Open(sqliteFile), &gorm.Config{}) db, err := gorm.Open(sqlite.Open(sqliteFile), &gorm.Config{})
@ -86,6 +91,6 @@ func main() {
c.Database.AutoMigrate(&auth.User{}, &types.File{}) c.Database.AutoMigrate(&auth.User{}, &types.File{})
api.Register(&c) 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() 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)"