From c67f128f15eb026f363ca1165f43d02f9db4d0a7 Mon Sep 17 00:00:00 2001
From: Noah Hsu <i@nn.ci>
Date: Sun, 26 Jun 2022 19:10:14 +0800
Subject: [PATCH] chore: move server package to root

---
 cmd/alist.go                                  |  2 +-
 {internal/server => server}/common/auth.go    |  0
 {internal/server => server}/common/common.go  |  0
 {internal/server => server}/common/req.go     |  0
 {internal/server => server}/common/resp.go    |  0
 .../server => server}/controllers/login.go    | 18 ++++++------
 .../server => server}/controllers/meta.go     | 28 +++++++++----------
 .../server => server}/middlewares/auth.go     | 12 ++++----
 {internal/server => server}/router.go         | 18 ++++++------
 9 files changed, 39 insertions(+), 39 deletions(-)
 rename {internal/server => server}/common/auth.go (100%)
 rename {internal/server => server}/common/common.go (100%)
 rename {internal/server => server}/common/req.go (100%)
 rename {internal/server => server}/common/resp.go (100%)
 rename {internal/server => server}/controllers/login.go (70%)
 rename {internal/server => server}/controllers/meta.go (70%)
 rename {internal/server => server}/middlewares/auth.go (74%)
 rename {internal/server => server}/router.go (54%)

diff --git a/cmd/alist.go b/cmd/alist.go
index f7f6cc53..aa464084 100644
--- a/cmd/alist.go
+++ b/cmd/alist.go
@@ -4,7 +4,7 @@ import (
 	"flag"
 	"fmt"
 	"github.com/alist-org/alist/v3/internal/conf"
-	"github.com/alist-org/alist/v3/internal/server"
+	"github.com/alist-org/alist/v3/server"
 	"os"
 
 	"github.com/alist-org/alist/v3/bootstrap"
diff --git a/internal/server/common/auth.go b/server/common/auth.go
similarity index 100%
rename from internal/server/common/auth.go
rename to server/common/auth.go
diff --git a/internal/server/common/common.go b/server/common/common.go
similarity index 100%
rename from internal/server/common/common.go
rename to server/common/common.go
diff --git a/internal/server/common/req.go b/server/common/req.go
similarity index 100%
rename from internal/server/common/req.go
rename to server/common/req.go
diff --git a/internal/server/common/resp.go b/server/common/resp.go
similarity index 100%
rename from internal/server/common/resp.go
rename to server/common/resp.go
diff --git a/internal/server/controllers/login.go b/server/controllers/login.go
similarity index 70%
rename from internal/server/controllers/login.go
rename to server/controllers/login.go
index f59303a6..adc1c3d9 100644
--- a/internal/server/controllers/login.go
+++ b/server/controllers/login.go
@@ -4,7 +4,7 @@ import (
 	"github.com/Xhofe/go-cache"
 	"github.com/alist-org/alist/v3/internal/db"
 	"github.com/alist-org/alist/v3/internal/model"
-	"github.com/alist-org/alist/v3/internal/server/common"
+	common2 "github.com/alist-org/alist/v3/server/common"
 	"github.com/gin-gonic/gin"
 	"time"
 )
@@ -25,34 +25,34 @@ func Login(c *gin.Context) {
 	ip := c.ClientIP()
 	count, ok := loginCache.Get(ip)
 	if ok && count >= defaultTimes {
-		common.ErrorStrResp(c, "Too many unsuccessful sign-in attempts have been made using an incorrect password. Try again later.", 403)
+		common2.ErrorStrResp(c, "Too many unsuccessful sign-in attempts have been made using an incorrect password. Try again later.", 403)
 		loginCache.Expire(ip, defaultDuration)
 		return
 	}
 	// check username
 	var req LoginReq
 	if err := c.ShouldBind(&req); err != nil {
-		common.ErrorResp(c, err, 400)
+		common2.ErrorResp(c, err, 400)
 		return
 	}
 	user, err := db.GetUserByName(req.Username)
 	if err != nil {
-		common.ErrorResp(c, err, 400)
+		common2.ErrorResp(c, err, 400)
 		return
 	}
 	// validate password
 	if err := user.ValidatePassword(req.Password); err != nil {
-		common.ErrorResp(c, err, 400)
+		common2.ErrorResp(c, err, 400)
 		loginCache.Set(ip, count+1)
 		return
 	}
 	// generate token
-	token, err := common.GenerateToken(user.Username)
+	token, err := common2.GenerateToken(user.Username)
 	if err != nil {
-		common.ErrorResp(c, err, 400)
+		common2.ErrorResp(c, err, 400)
 		return
 	}
-	common.SuccessResp(c, gin.H{"token": token})
+	common2.SuccessResp(c, gin.H{"token": token})
 	loginCache.Del(ip)
 }
 
@@ -61,5 +61,5 @@ func Login(c *gin.Context) {
 func CurrentUser(c *gin.Context) {
 	user := c.MustGet("user").(*model.User)
 	user.Password = ""
-	common.SuccessResp(c, gin.H{"user": user})
+	common2.SuccessResp(c, gin.H{"user": user})
 }
diff --git a/internal/server/controllers/meta.go b/server/controllers/meta.go
similarity index 70%
rename from internal/server/controllers/meta.go
rename to server/controllers/meta.go
index 09e4fc45..b8a4c5b4 100644
--- a/internal/server/controllers/meta.go
+++ b/server/controllers/meta.go
@@ -3,26 +3,26 @@ package controllers
 import (
 	"github.com/alist-org/alist/v3/internal/db"
 	"github.com/alist-org/alist/v3/internal/model"
-	"github.com/alist-org/alist/v3/internal/server/common"
 	"github.com/alist-org/alist/v3/pkg/utils"
+	common2 "github.com/alist-org/alist/v3/server/common"
 	"github.com/gin-gonic/gin"
 	log "github.com/sirupsen/logrus"
 	"strconv"
 )
 
 func ListMetas(c *gin.Context) {
-	var req common.PageReq
+	var req common2.PageReq
 	if err := c.ShouldBind(&req); err != nil {
-		common.ErrorResp(c, err, 400)
+		common2.ErrorResp(c, err, 400)
 		return
 	}
 	log.Debugf("%+v", req)
 	metas, total, err := db.GetMetas(req.PageIndex, req.PageSize)
 	if err != nil {
-		common.ErrorResp(c, err, 500, true)
+		common2.ErrorResp(c, err, 500, true)
 		return
 	}
-	common.SuccessResp(c, common.PageResp{
+	common2.SuccessResp(c, common2.PageResp{
 		Content: metas,
 		Total:   total,
 	})
@@ -31,28 +31,28 @@ func ListMetas(c *gin.Context) {
 func CreateMeta(c *gin.Context) {
 	var req model.Meta
 	if err := c.ShouldBind(&req); err != nil {
-		common.ErrorResp(c, err, 400)
+		common2.ErrorResp(c, err, 400)
 		return
 	}
 	req.Path = utils.StandardizePath(req.Path)
 	if err := db.CreateMeta(&req); err != nil {
-		common.ErrorResp(c, err, 500)
+		common2.ErrorResp(c, err, 500)
 	} else {
-		common.SuccessResp(c)
+		common2.SuccessResp(c)
 	}
 }
 
 func UpdateMeta(c *gin.Context) {
 	var req model.Meta
 	if err := c.ShouldBind(&req); err != nil {
-		common.ErrorResp(c, err, 400)
+		common2.ErrorResp(c, err, 400)
 		return
 	}
 	req.Path = utils.StandardizePath(req.Path)
 	if err := db.UpdateMeta(&req); err != nil {
-		common.ErrorResp(c, err, 500)
+		common2.ErrorResp(c, err, 500)
 	} else {
-		common.SuccessResp(c)
+		common2.SuccessResp(c)
 	}
 }
 
@@ -60,12 +60,12 @@ func DeleteMeta(c *gin.Context) {
 	idStr := c.Query("id")
 	id, err := strconv.Atoi(idStr)
 	if err != nil {
-		common.ErrorResp(c, err, 400)
+		common2.ErrorResp(c, err, 400)
 		return
 	}
 	if err := db.DeleteMetaById(uint(id)); err != nil {
-		common.ErrorResp(c, err, 500)
+		common2.ErrorResp(c, err, 500)
 		return
 	}
-	common.SuccessResp(c)
+	common2.SuccessResp(c)
 }
diff --git a/internal/server/middlewares/auth.go b/server/middlewares/auth.go
similarity index 74%
rename from internal/server/middlewares/auth.go
rename to server/middlewares/auth.go
index 2f6cca29..a2ea8da3 100644
--- a/internal/server/middlewares/auth.go
+++ b/server/middlewares/auth.go
@@ -3,7 +3,7 @@ package middlewares
 import (
 	"github.com/alist-org/alist/v3/internal/db"
 	"github.com/alist-org/alist/v3/internal/model"
-	"github.com/alist-org/alist/v3/internal/server/common"
+	common2 "github.com/alist-org/alist/v3/server/common"
 	"github.com/gin-gonic/gin"
 )
 
@@ -14,7 +14,7 @@ func Auth(c *gin.Context) {
 	if token == "" {
 		guest, err := db.GetGuest()
 		if err != nil {
-			common.ErrorResp(c, err, 500, true)
+			common2.ErrorResp(c, err, 500, true)
 			c.Abort()
 			return
 		}
@@ -22,15 +22,15 @@ func Auth(c *gin.Context) {
 		c.Next()
 		return
 	}
-	userClaims, err := common.ParseToken(token)
+	userClaims, err := common2.ParseToken(token)
 	if err != nil {
-		common.ErrorResp(c, err, 401)
+		common2.ErrorResp(c, err, 401)
 		c.Abort()
 		return
 	}
 	user, err := db.GetUserByName(userClaims.Username)
 	if err != nil {
-		common.ErrorResp(c, err, 401)
+		common2.ErrorResp(c, err, 401)
 		c.Abort()
 		return
 	}
@@ -41,7 +41,7 @@ func Auth(c *gin.Context) {
 func AuthAdmin(c *gin.Context) {
 	user := c.MustGet("user").(*model.User)
 	if !user.IsAdmin() {
-		common.ErrorStrResp(c, "You are not an admin", 403)
+		common2.ErrorStrResp(c, "You are not an admin", 403)
 		c.Abort()
 	} else {
 		c.Next()
diff --git a/internal/server/router.go b/server/router.go
similarity index 54%
rename from internal/server/router.go
rename to server/router.go
index 4af2779a..52c12749 100644
--- a/internal/server/router.go
+++ b/server/router.go
@@ -2,9 +2,9 @@ package server
 
 import (
 	"github.com/alist-org/alist/v3/internal/conf"
-	"github.com/alist-org/alist/v3/internal/server/common"
-	"github.com/alist-org/alist/v3/internal/server/controllers"
-	"github.com/alist-org/alist/v3/internal/server/middlewares"
+	"github.com/alist-org/alist/v3/server/common"
+	controllers2 "github.com/alist-org/alist/v3/server/controllers"
+	"github.com/alist-org/alist/v3/server/middlewares"
 	"github.com/gin-contrib/cors"
 	"github.com/gin-gonic/gin"
 )
@@ -14,16 +14,16 @@ func Init(r *gin.Engine) {
 	Cors(r)
 
 	api := r.Group("/api", middlewares.Auth)
-	api.POST("/auth/login", controllers.Login)
-	api.GET("/auth/current", controllers.CurrentUser)
+	api.POST("/auth/login", controllers2.Login)
+	api.GET("/auth/current", controllers2.CurrentUser)
 
 	admin := api.Group("/admin", middlewares.AuthAdmin)
 
 	meta := admin.Group("/meta")
-	meta.GET("/list", controllers.ListMetas)
-	meta.POST("/create", controllers.CreateMeta)
-	meta.POST("/update", controllers.UpdateMeta)
-	meta.POST("/delete", controllers.DeleteMeta)
+	meta.GET("/list", controllers2.ListMetas)
+	meta.POST("/create", controllers2.CreateMeta)
+	meta.POST("/update", controllers2.UpdateMeta)
+	meta.POST("/delete", controllers2.DeleteMeta)
 }
 
 func Cors(r *gin.Engine) {