phoebe/pkg/app/app.go

49 lines
996 B
Go
Raw Permalink Normal View History

2021-05-09 22:07:23 +07:00
package app
import (
"io/fs"
2021-05-09 22:07:23 +07:00
"net/http"
2021-05-11 19:21:11 +07:00
"os"
2021-05-09 22:07:23 +07:00
2025-02-24 13:50:43 +00:00
"github.com/Damillora/phoebe/pkg/config"
"github.com/Damillora/phoebe/pkg/database"
"github.com/Damillora/phoebe/pkg/web"
2021-05-09 22:07:23 +07:00
"github.com/gin-contrib/cors"
"github.com/gin-gonic/gin"
)
func Initialize() {
config.InitializeConfig()
2021-05-11 19:21:11 +07:00
previewDir := config.CurrentConfig.DataDirectory + "/preview"
thumbnailDir := config.CurrentConfig.DataDirectory + "/thumbnail"
if _, err := os.Stat(previewDir); os.IsNotExist(err) {
os.Mkdir(previewDir, 0755)
}
if _, err := os.Stat(thumbnailDir); os.IsNotExist(err) {
os.Mkdir(thumbnailDir, 0755)
}
2021-05-09 22:07:23 +07:00
database.Initialize()
}
func Start() {
g := gin.Default()
webFS := web.WebAssets()
webAssets, _ := fs.Sub(webFS, "_app")
2025-02-23 19:56:39 +00:00
g.NoRoute(func(c *gin.Context) {
//c.String(http.StatusOK, "AAA")
c.FileFromFS("./app.html", http.FS(webFS))
})
g.StaticFS("/_app", http.FS(webAssets))
2021-05-09 22:07:23 +07:00
g.Static("/data", config.CurrentConfig.DataDirectory)
g.Use(cors.Default())
InitializeRoutes(g)
g.Run()
}