alist/server/router.go

100 lines
3.5 KiB
Go
Raw Normal View History

2022-06-06 14:08:39 +00:00
package server
2022-06-25 12:38:02 +00:00
import (
2022-06-25 13:34:44 +00:00
"github.com/alist-org/alist/v3/internal/conf"
2022-07-01 08:53:01 +00:00
"github.com/alist-org/alist/v3/internal/message"
2022-06-26 11:10:14 +00:00
"github.com/alist-org/alist/v3/server/common"
2022-06-26 11:20:19 +00:00
"github.com/alist-org/alist/v3/server/controllers"
2022-06-26 11:10:14 +00:00
"github.com/alist-org/alist/v3/server/middlewares"
2022-06-25 12:38:02 +00:00
"github.com/gin-contrib/cors"
"github.com/gin-gonic/gin"
)
func Init(r *gin.Engine) {
2022-06-25 13:34:44 +00:00
common.SecretKey = []byte(conf.Conf.JwtSecret)
2022-06-25 12:38:02 +00:00
Cors(r)
2022-06-30 14:41:55 +00:00
WebDav(r)
2022-06-25 13:34:44 +00:00
2022-06-28 13:58:46 +00:00
r.GET("/d/*path", middlewares.Down, controllers.Down)
r.GET("/p/*path", middlewares.Down, controllers.Proxy)
2022-06-28 10:00:11 +00:00
2022-06-26 08:39:02 +00:00
api := r.Group("/api", middlewares.Auth)
2022-06-26 11:20:19 +00:00
api.POST("/auth/login", controllers.Login)
api.GET("/auth/current", controllers.CurrentUser)
2022-06-26 11:09:28 +00:00
admin := api.Group("/admin", middlewares.AuthAdmin)
meta := admin.Group("/meta")
2022-06-26 11:20:19 +00:00
meta.GET("/list", controllers.ListMetas)
meta.POST("/create", controllers.CreateMeta)
meta.POST("/update", controllers.UpdateMeta)
meta.POST("/delete", controllers.DeleteMeta)
2022-06-26 11:36:27 +00:00
user := admin.Group("/user")
user.GET("/list", controllers.ListUsers)
user.POST("/create", controllers.CreateUser)
user.POST("/update", controllers.UpdateUser)
user.POST("/delete", controllers.DeleteUser)
2022-06-26 12:00:36 +00:00
account := admin.Group("/account")
account.GET("/list", controllers.ListAccounts)
account.POST("/create", controllers.CreateAccount)
account.POST("/update", controllers.UpdateAccount)
account.POST("/delete", controllers.DeleteAccount)
2022-06-26 12:25:02 +00:00
driver := admin.Group("/driver")
driver.GET("/list", controllers.ListDriverItems)
driver.GET("/names", controllers.ListDriverNames)
driver.GET("/items", controllers.GetDriverItems)
2022-06-27 09:06:10 +00:00
setting := admin.Group("/setting")
2022-06-28 06:18:10 +00:00
setting.GET("/get", controllers.GetSetting)
2022-06-27 09:06:10 +00:00
setting.GET("/list", controllers.ListSettings)
setting.POST("/save", controllers.SaveSettings)
setting.POST("/delete", controllers.DeleteSetting)
2022-06-28 06:18:10 +00:00
setting.POST("/reset_token", controllers.ResetToken)
2022-06-29 10:03:12 +00:00
setting.POST("/set_aria2", controllers.SetAria2)
2022-06-27 09:06:10 +00:00
2022-06-29 10:36:14 +00:00
task := admin.Group("/task")
task.GET("/down/undone", controllers.UndoneDownTask)
task.GET("/down/done", controllers.DoneDownTask)
task.POST("/down/cancel", controllers.CancelDownTask)
2022-06-29 10:56:31 +00:00
task.GET("/transfer/undone", controllers.UndoneTransferTask)
task.GET("/transfer/done", controllers.DoneTransferTask)
2022-06-29 10:36:14 +00:00
task.POST("/transfer/cancel", controllers.CancelTransferTask)
2022-06-29 10:56:31 +00:00
task.GET("/upload/undone", controllers.UndoneUploadTask)
task.GET("/upload/done", controllers.DoneUploadTask)
2022-06-29 10:36:14 +00:00
task.POST("/upload/cancel", controllers.CancelUploadTask)
2022-06-29 10:56:31 +00:00
task.GET("/copy/undone", controllers.UndoneCopyTask)
task.GET("/copy/done", controllers.DoneCopyTask)
2022-06-29 10:36:14 +00:00
task.POST("/copy/cancel", controllers.CancelCopyTask)
2022-07-01 08:53:01 +00:00
ms := admin.Group("/message")
ms.GET("/get", message.PostInstance.GetHandle)
ms.POST("/send", message.PostInstance.SendHandle)
2022-06-29 10:03:12 +00:00
// guest can
2022-06-27 09:06:10 +00:00
public := api.Group("/public")
public.GET("/settings", controllers.PublicSettings)
2022-06-28 06:18:10 +00:00
public.Any("/list", controllers.FsList)
2022-06-28 07:12:40 +00:00
public.Any("/get", controllers.FsGet)
2022-06-29 08:08:55 +00:00
2022-06-29 10:03:12 +00:00
// gust can't
2022-06-29 09:08:31 +00:00
fs := api.Group("/fs")
2022-06-29 08:08:55 +00:00
fs.POST("/mkdir", controllers.FsMkdir)
2022-06-29 10:03:12 +00:00
fs.POST("/rename", controllers.FsRename)
fs.POST("/move", controllers.FsMove)
fs.POST("/copy", controllers.FsCopy)
fs.POST("/remove", controllers.FsRemove)
2022-06-29 08:08:55 +00:00
fs.POST("/put", controllers.FsPut)
2022-06-29 09:08:31 +00:00
fs.POST("/link", middlewares.AuthAdmin, controllers.Link)
2022-06-29 10:03:12 +00:00
fs.POST("/add_aria2", controllers.AddAria2)
2022-06-25 12:38:02 +00:00
}
func Cors(r *gin.Engine) {
config := cors.DefaultConfig()
config.AllowAllOrigins = true
2022-07-01 09:11:22 +00:00
config.AllowHeaders = append(config.AllowHeaders, "Authorization", "range", "File-Path", "As-Task")
2022-06-25 12:38:02 +00:00
r.Use(cors.New(config))
}