Feat: OneDrive OAuth callback / edit policy

This commit is contained in:
HFO4
2020-03-02 16:20:33 +08:00
parent 2471dacec1
commit be8aa7b01d
5 changed files with 109 additions and 6 deletions

View File

@@ -205,3 +205,25 @@ func AdminOneDriveOAuth(c *gin.Context) {
c.JSON(200, ErrorResponse(err))
}
}
// AdminGetPolicy 获取存储策略详情
func AdminGetPolicy(c *gin.Context) {
var service admin.PolicyService
if err := c.ShouldBindUri(&service); err == nil {
res := service.Get()
c.JSON(200, res)
} else {
c.JSON(200, ErrorResponse(err))
}
}
// AdminDeletePolicy 删除存储策略
func AdminDeletePolicy(c *gin.Context) {
var service admin.PolicyService
if err := c.ShouldBindUri(&service); err == nil {
res := service.Delete()
c.JSON(200, res)
} else {
c.JSON(200, ErrorResponse(err))
}
}

View File

@@ -5,6 +5,8 @@ import (
"github.com/HFO4/cloudreve/pkg/util"
"github.com/HFO4/cloudreve/service/callback"
"github.com/gin-gonic/gin"
"net/url"
"strconv"
)
// RemoteCallback 远程上传回调
@@ -82,7 +84,13 @@ func OneDriveOAuth(c *gin.Context) {
var callbackBody callback.OneDriveOauthService
if err := c.ShouldBindQuery(&callbackBody); err == nil {
res := callbackBody.Auth(c)
c.JSON(200, res)
redirect, _ := url.Parse("/admin/policy")
queries := redirect.Query()
queries.Add("code", strconv.Itoa(res.Code))
queries.Add("msg", res.Msg)
queries.Add("err", res.Error)
redirect.RawQuery = queries.Encode()
c.Redirect(301, "/#"+redirect.String())
} else {
c.JSON(200, ErrorResponse(err))
}