2021-10-26 14:28:37 +00:00
|
|
|
package server
|
|
|
|
|
2021-10-28 04:37:31 +00:00
|
|
|
import (
|
2021-11-13 07:53:26 +00:00
|
|
|
"github.com/gin-contrib/cors"
|
|
|
|
"github.com/gin-gonic/gin"
|
2021-10-28 04:37:31 +00:00
|
|
|
)
|
2021-10-26 14:28:37 +00:00
|
|
|
|
2021-11-13 07:53:26 +00:00
|
|
|
func InitApiRouter(r *gin.Engine) {
|
2021-10-26 14:28:37 +00:00
|
|
|
|
2021-10-28 04:37:31 +00:00
|
|
|
// TODO from settings
|
2021-11-13 07:53:26 +00:00
|
|
|
Cors(r)
|
|
|
|
r.GET("/d/*path", Down)
|
|
|
|
r.GET("/p/*path", Proxy)
|
2021-10-26 14:28:37 +00:00
|
|
|
|
2021-11-13 07:53:26 +00:00
|
|
|
api := r.Group("/api")
|
2021-10-29 16:35:29 +00:00
|
|
|
public := api.Group("/public")
|
2021-10-26 14:28:37 +00:00
|
|
|
{
|
2021-11-13 07:53:26 +00:00
|
|
|
public.POST("/path", CheckAccount, Path)
|
|
|
|
public.POST("/preview", CheckAccount, Preview)
|
|
|
|
public.GET("/settings", GetSettingsPublic)
|
|
|
|
public.POST("/link", CheckAccount, Link)
|
2021-10-26 14:28:37 +00:00
|
|
|
}
|
|
|
|
|
2021-10-29 16:35:29 +00:00
|
|
|
admin := api.Group("/admin")
|
2021-10-26 14:28:37 +00:00
|
|
|
{
|
2021-10-27 14:45:36 +00:00
|
|
|
admin.Use(Auth)
|
2021-11-13 07:53:26 +00:00
|
|
|
admin.GET("/login", Login)
|
|
|
|
admin.GET("/settings", GetSettings)
|
|
|
|
admin.POST("/settings", SaveSettings)
|
2021-11-13 08:49:03 +00:00
|
|
|
admin.POST("/account/create", CreateAccount)
|
|
|
|
admin.POST("/account/save", SaveAccount)
|
2021-11-13 07:53:26 +00:00
|
|
|
admin.GET("/accounts", GetAccounts)
|
|
|
|
admin.DELETE("/account", DeleteAccount)
|
|
|
|
admin.GET("/drivers", GetDrivers)
|
|
|
|
admin.GET("/clear_cache", ClearCache)
|
2021-11-02 11:25:54 +00:00
|
|
|
|
2021-11-13 07:53:26 +00:00
|
|
|
admin.GET("/metas", GetMetas)
|
2021-11-13 08:49:03 +00:00
|
|
|
admin.POST("/meta/create", CreateMeta)
|
|
|
|
admin.POST("/meta/save", SaveMeta)
|
2021-11-13 07:53:26 +00:00
|
|
|
admin.DELETE("/meta", DeleteMeta)
|
2021-10-26 14:28:37 +00:00
|
|
|
}
|
2021-11-13 07:53:26 +00:00
|
|
|
Static(r)
|
2021-11-27 16:12:04 +00:00
|
|
|
WebDav(r)
|
2021-11-13 07:53:26 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func Cors(r *gin.Engine) {
|
|
|
|
config := cors.DefaultConfig()
|
|
|
|
config.AllowAllOrigins = true
|
|
|
|
config.AllowHeaders = append(config.AllowHeaders, "Authorization")
|
|
|
|
r.Use(cors.New(config))
|
2021-10-26 14:28:37 +00:00
|
|
|
}
|