mirror of
https://github.com/AlistGo/alist.git
synced 2025-12-24 06:21:34 +08:00
feat(settings): Add SetToken endpoint for updating token settings
- Introduced `SetToken` handler to allow manual token updates via API - Added `SetTokenReq` struct for request validation
This commit is contained in:
parent
b4d9beb49c
commit
998022e38b
@ -29,9 +29,13 @@ func getRoleOptions() string {
|
||||
return strings.Join(names, ",")
|
||||
}
|
||||
|
||||
type SetTokenReq struct {
|
||||
Token string `json:"token" form:"token" binding:"required"`
|
||||
}
|
||||
|
||||
func ResetToken(c *gin.Context) {
|
||||
token := random.Token()
|
||||
item := model.SettingItem{Key: "token", Value: token, Type: conf.TypeString, Group: model.SINGLE, Flag: model.PRIVATE}
|
||||
item := model.SettingItem{Key: conf.Token, Value: token, Type: conf.TypeString, Group: model.SINGLE, Flag: model.PRIVATE}
|
||||
if err := op.SaveSettingItem(&item); err != nil {
|
||||
common.ErrorResp(c, err, 500)
|
||||
return
|
||||
@ -40,6 +44,21 @@ func ResetToken(c *gin.Context) {
|
||||
common.SuccessResp(c, token)
|
||||
}
|
||||
|
||||
func SetToken(c *gin.Context) {
|
||||
var req SetTokenReq
|
||||
if err := c.ShouldBind(&req); err != nil {
|
||||
common.ErrorResp(c, err, 400)
|
||||
return
|
||||
}
|
||||
item := model.SettingItem{Key: conf.Token, Value: req.Token, Type: conf.TypeString, Group: model.SINGLE, Flag: model.PRIVATE}
|
||||
if err := op.SaveSettingItem(&item); err != nil {
|
||||
common.ErrorResp(c, err, 500)
|
||||
return
|
||||
}
|
||||
sign.Instance()
|
||||
common.SuccessResp(c, req.Token)
|
||||
}
|
||||
|
||||
func GetSetting(c *gin.Context) {
|
||||
key := c.Query("key")
|
||||
keys := c.Query("keys")
|
||||
|
||||
@ -154,6 +154,7 @@ func admin(g *gin.RouterGroup) {
|
||||
setting.POST("/save", handles.SaveSettings)
|
||||
setting.POST("/delete", handles.DeleteSetting)
|
||||
setting.POST("/reset_token", handles.ResetToken)
|
||||
setting.POST("/set_token", handles.SetToken)
|
||||
setting.POST("/set_aria2", handles.SetAria2)
|
||||
setting.POST("/set_qbit", handles.SetQbittorrent)
|
||||
setting.POST("/set_transmission", handles.SetTransmission)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user