119 lines
2.8 KiB
Go
119 lines
2.8 KiB
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
"net/http"
|
|
"personalwebsite/routewde"
|
|
"personalwebsite/websiteapp"
|
|
"personalwebsite/websiteapp/finder"
|
|
"personalwebsite/websiteapp/personalprops"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// func main() {
|
|
// router := gin.Default()
|
|
// router.LoadHTMLGlob("templates/**/*")
|
|
// router.GET("/posts/index", func(c *gin.Context) {
|
|
// c.HTML(http.StatusOK, "posts/index.tmpl", gin.H{
|
|
// "title": "Posts",
|
|
// })
|
|
// })
|
|
// router.GET("/users/index", func(c *gin.Context) {
|
|
// c.HTML(http.StatusOK, "users/index.tmpl", gin.H{
|
|
// "title": "Users",
|
|
// })
|
|
// })
|
|
// router.Run(":8080")
|
|
// }
|
|
|
|
func main() {
|
|
router := gin.New()
|
|
|
|
router.LoadHTMLGlob("templates/**/*")
|
|
router.Static("/res", "resources")
|
|
|
|
router.GET("/", func(ctx *gin.Context) {
|
|
ctx.HTML(http.StatusOK, "index.tmpl", gin.H{})
|
|
})
|
|
|
|
persPropsApp := personalprops.NewPersPropsApp()
|
|
finderApp := finder.FinerApplication{}
|
|
appsStorage := websiteapp.ApplicationsStorage{
|
|
Apps: map[string]websiteapp.WebDEApplication{},
|
|
}
|
|
appsStorage.Apps["personal-properties"] = &persPropsApp
|
|
appsStorage.Apps["finder"] = &finderApp
|
|
system := router.Group("system")
|
|
{
|
|
|
|
wde := system.Group("wde")
|
|
{
|
|
routewde.Route(wde)
|
|
}
|
|
apps := system.Group("applications")
|
|
{
|
|
apps.GET("/:appid/:method", func(ctx *gin.Context) {
|
|
appId := ctx.Param("appid")
|
|
method := ctx.Param("method")
|
|
|
|
app, isExist := appsStorage.Apps[appId]
|
|
if !isExist {
|
|
ctx.Status(http.StatusNoContent)
|
|
return
|
|
}
|
|
switch method {
|
|
case "getmanifest":
|
|
ctx.JSON(http.StatusOK, app.GetManifest())
|
|
case "app.js":
|
|
ctx.File("resources/sys/" + appId + "/" + appId + ".js")
|
|
case "app.css":
|
|
ctx.File("resources/sys/" + appId + "/" + appId + ".css")
|
|
default:
|
|
ctx.Status(http.StatusBadRequest)
|
|
}
|
|
})
|
|
}
|
|
|
|
websiteapp.Route(apps.Group("/storage"), &appsStorage)
|
|
// personalpropsroute.Route(apps.Group("/personalproperties"))
|
|
}
|
|
|
|
app := router.Group("application")
|
|
{
|
|
app.GET("test", func(ctx *gin.Context) {
|
|
ctx.Status(http.StatusOK)
|
|
})
|
|
persPropApp := app.Group("personal-properties")
|
|
{
|
|
persPropApp.GET("render", func(ctx *gin.Context) {
|
|
ctx.HTML(http.StatusOK, "personal-properties/app.tmpl", persPropsApp.Render())
|
|
})
|
|
}
|
|
finderAppRoute := app.Group("finder")
|
|
{
|
|
finderAppRoute.GET("render", func(ctx *gin.Context) {
|
|
ctx.HTML(http.StatusOK, "finder/app.tmpl", finderApp.Render())
|
|
})
|
|
}
|
|
}
|
|
router.GET("/test", func(ctx *gin.Context) {
|
|
ctx.HTML(200, "kek/kek.tmpl", gin.H{})
|
|
})
|
|
// router.GET("/room/:roomid", roomGET)
|
|
// router.POST("/room-post/:roomid", roomPOST)
|
|
// router.GET("/stream/:roomid", streamRoom)
|
|
|
|
// port := os.Getenv("PORT")
|
|
// if port == "" {
|
|
// port = "8080"
|
|
// }
|
|
if err := router.Run(":8080"); err != nil {
|
|
log.Panicf("error: %s", err)
|
|
}
|
|
}
|
|
|
|
func index(c *gin.Context) {
|
|
c.HTML(http.StatusOK, "base.html", nil)
|
|
}
|