diff --git a/controller/tokenController.go b/controller/tokenController.go index a19e42c..e446d88 100644 --- a/controller/tokenController.go +++ b/controller/tokenController.go @@ -26,6 +26,11 @@ func CreateTokenHandler(c *gin.Context) { c.JSON(http.StatusBadRequest, gin.H{"error": "参数不能为空 " + err.Error()}) return } + //检查Token是否存在 + if db.CheckToken(input.Token) { + c.JSON(http.StatusBadRequest, gin.H{"error": "创建Token失败,Token已经存在"}) + return + } //创建Token err := db.CreateToken(input.Token, input.DedupObject, input.DataFormat, input.Notes) @@ -49,6 +54,11 @@ func UpdateTokenHandler(c *gin.Context) { c.JSON(http.StatusBadRequest, gin.H{"error": "参数不能为空 " + err.Error()}) return } + //检查Token是否存在 + if !db.CheckToken(input.Token) { + c.JSON(http.StatusBadRequest, gin.H{"error": "更改失败,Token不存在"}) + return + } err := db.UpdateToken(input.Token, input.DedupObject, input.DataFormat, input.Notes) if err != nil { @@ -67,6 +77,11 @@ func DeleteTokenHandler(c *gin.Context) { c.JSON(http.StatusBadRequest, gin.H{"error": "参数不能为空 " + err.Error()}) return } + //检查Token是否存在 + if !db.CheckToken(input.Token) { + c.JSON(http.StatusBadRequest, gin.H{"error": "删除Token失败,Token不存在"}) + return + } err := db.DeleteToken(input.Token) if err != nil { @@ -85,6 +100,11 @@ func GetTokenInfoHandler(c *gin.Context) { c.JSON(http.StatusBadRequest, gin.H{"error": "Token不能为空"}) return } + //检查Token是否存在 + if !db.CheckToken(input.Token) { + c.JSON(http.StatusBadRequest, gin.H{"error": "获取信息失败,Token不存在"}) + return + } dedupObject, err := db.GetDedupObject(input.Token) if err != nil { @@ -125,6 +145,11 @@ func DeleteTokenInfoHandler(c *gin.Context) { c.JSON(http.StatusBadRequest, gin.H{"error": "Token不能为空"}) return } + //检查Token是否存在 + if !db.CheckToken(input.Token) { + c.JSON(http.StatusBadRequest, gin.H{"error": "删除Token失败,Token不存在"}) + return + } //检查token是否存在 _, err := db.GetDedupObject(input.Token) diff --git a/db/local.go b/db/local.go index da68857..ba39150 100644 --- a/db/local.go +++ b/db/local.go @@ -32,6 +32,16 @@ start: } } +func CheckToken(token string) bool { + InitLocalDB() + for _, t := range localDB { + if t.Token == token { + return true + } + } + return false +} + func ListToken() []Token { InitLocalDB() return localDB