add ErrorResponse struct
This commit is contained in:
parent
8983640ab2
commit
87777dc95b
15
src/error.go
Normal file
15
src/error.go
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
)
|
||||||
|
|
||||||
|
type ErrorResponse struct {
|
||||||
|
Error string `json:"error"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func BadRequest(error string) (int, interface{}) {
|
||||||
|
return http.StatusBadRequest, ErrorResponse{
|
||||||
|
Error: getLocalizedMessage(error),
|
||||||
|
}
|
||||||
|
}
|
@ -33,13 +33,13 @@ func addBotHandler(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if cl.ID != 0 {
|
if cl.ID != 0 {
|
||||||
c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": getLocalizedMessage("bot_already_created")})
|
c.AbortWithStatusJSON(BadRequest("bot_already_created"))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
bot, err := tgbotapi.NewBotAPI(b.Token)
|
bot, err := tgbotapi.NewBotAPI(b.Token)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": getLocalizedMessage("incorrect_token")})
|
c.AbortWithStatusJSON(BadRequest("incorrect_token"))
|
||||||
logger.Error(b.Token, err.Error())
|
logger.Error(b.Token, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -48,7 +48,7 @@ func addBotHandler(c *gin.Context) {
|
|||||||
|
|
||||||
wr, err := bot.SetWebhook(tgbotapi.NewWebhook("https://" + config.HTTPServer.Host + "/telegram/" + bot.Token))
|
wr, err := bot.SetWebhook(tgbotapi.NewWebhook("https://" + config.HTTPServer.Host + "/telegram/" + bot.Token))
|
||||||
if err != nil || !wr.Ok {
|
if err != nil || !wr.Ok {
|
||||||
c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": getLocalizedMessage("error_creating_webhook")})
|
c.AbortWithStatusJSON(BadRequest("error_creating_webhook"))
|
||||||
logger.Error(b.Token, err.Error(), wr)
|
logger.Error(b.Token, err.Error(), wr)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -60,14 +60,14 @@ func addBotHandler(c *gin.Context) {
|
|||||||
Settings: v1.ChannelSettings{
|
Settings: v1.ChannelSettings{
|
||||||
SpamAllowed: false,
|
SpamAllowed: false,
|
||||||
Status: v1.Status{
|
Status: v1.Status{
|
||||||
Delivered: v1.ChannelFeatureNone,
|
Delivered: v1.ChannelFeatureSend,
|
||||||
Read: v1.ChannelFeatureNone,
|
Read: v1.ChannelFeatureNone,
|
||||||
},
|
},
|
||||||
Text: v1.ChannelSettingsText{
|
Text: v1.ChannelSettingsText{
|
||||||
Creating: v1.ChannelFeatureBoth,
|
Creating: v1.ChannelFeatureBoth,
|
||||||
Editing: v1.ChannelFeatureBoth,
|
Editing: v1.ChannelFeatureBoth,
|
||||||
Quoting: v1.ChannelFeatureBoth,
|
Quoting: v1.ChannelFeatureBoth,
|
||||||
Deleting: v1.ChannelFeatureSend,
|
Deleting: v1.ChannelFeatureReceive,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@ -77,7 +77,7 @@ func addBotHandler(c *gin.Context) {
|
|||||||
var client = v1.New(conn.MGURL, conn.MGToken)
|
var client = v1.New(conn.MGURL, conn.MGToken)
|
||||||
data, status, err := client.ActivateTransportChannel(ch)
|
data, status, err := client.ActivateTransportChannel(ch)
|
||||||
if status != http.StatusCreated {
|
if status != http.StatusCreated {
|
||||||
c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": getLocalizedMessage("error_activating_channel")})
|
c.AbortWithStatusJSON(BadRequest("error_activating_channel"))
|
||||||
logger.Error(conn.APIURL, status, err.Error(), data)
|
logger.Error(conn.APIURL, status, err.Error(), data)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -97,7 +97,7 @@ func deleteBotHandler(c *gin.Context) {
|
|||||||
b := c.MustGet("bot").(Bot)
|
b := c.MustGet("bot").(Bot)
|
||||||
conn := getConnectionById(b.ConnectionID)
|
conn := getConnectionById(b.ConnectionID)
|
||||||
if conn.MGURL == "" || conn.MGToken == "" {
|
if conn.MGURL == "" || conn.MGToken == "" {
|
||||||
c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": getLocalizedMessage("not_found_account")})
|
c.AbortWithStatusJSON(BadRequest("not_found_account"))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -105,7 +105,7 @@ func deleteBotHandler(c *gin.Context) {
|
|||||||
|
|
||||||
data, status, err := client.DeactivateTransportChannel(getBotChannelByToken(b.Token))
|
data, status, err := client.DeactivateTransportChannel(getBotChannelByToken(b.Token))
|
||||||
if status > http.StatusOK {
|
if status > http.StatusOK {
|
||||||
c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": getLocalizedMessage("error_deactivating_channel")})
|
c.AbortWithStatusJSON(BadRequest("error_deactivating_channel"))
|
||||||
logger.Error(b.ID, status, err.Error(), data)
|
logger.Error(b.ID, status, err.Error(), data)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -147,7 +147,11 @@ func saveHandler(c *gin.Context) {
|
|||||||
conn := c.MustGet("connection").(Connection)
|
conn := c.MustGet("connection").(Connection)
|
||||||
_, err, code := getAPIClient(conn.APIURL, conn.APIKEY)
|
_, err, code := getAPIClient(conn.APIURL, conn.APIKEY)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.AbortWithStatusJSON(code, gin.H{"error": err.Error()})
|
if code == http.StatusInternalServerError {
|
||||||
|
c.Error(err)
|
||||||
|
} else {
|
||||||
|
c.AbortWithStatusJSON(BadRequest(err.Error()))
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -165,7 +169,7 @@ func createHandler(c *gin.Context) {
|
|||||||
|
|
||||||
cl := getConnectionByURL(conn.APIURL)
|
cl := getConnectionByURL(conn.APIURL)
|
||||||
if cl.ID != 0 {
|
if cl.ID != 0 {
|
||||||
c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": getLocalizedMessage("connection_already_created")})
|
c.AbortWithStatusJSON(BadRequest("connection_already_created"))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -187,7 +191,7 @@ func createHandler(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if status >= http.StatusBadRequest {
|
if status >= http.StatusBadRequest {
|
||||||
c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": getLocalizedMessage("error_activity_mg")})
|
c.AbortWithStatusJSON(BadRequest("error_activity_mg"))
|
||||||
logger.Error(conn.APIURL, status, errr.ApiErr, data)
|
logger.Error(conn.APIURL, status, errr.ApiErr, data)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -61,14 +61,14 @@ func TestRouting_addBotHandler(t *testing.T) {
|
|||||||
Settings: v1.ChannelSettings{
|
Settings: v1.ChannelSettings{
|
||||||
SpamAllowed: false,
|
SpamAllowed: false,
|
||||||
Status: v1.Status{
|
Status: v1.Status{
|
||||||
Delivered: v1.ChannelFeatureNone,
|
Delivered: v1.ChannelFeatureSend,
|
||||||
Read: v1.ChannelFeatureNone,
|
Read: v1.ChannelFeatureNone,
|
||||||
},
|
},
|
||||||
Text: v1.ChannelSettingsText{
|
Text: v1.ChannelSettingsText{
|
||||||
Creating: v1.ChannelFeatureBoth,
|
Creating: v1.ChannelFeatureBoth,
|
||||||
Editing: v1.ChannelFeatureBoth,
|
Editing: v1.ChannelFeatureBoth,
|
||||||
Quoting: v1.ChannelFeatureBoth,
|
Quoting: v1.ChannelFeatureBoth,
|
||||||
Deleting: v1.ChannelFeatureSend,
|
Deleting: v1.ChannelFeatureReceive,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"net/http"
|
|
||||||
"os"
|
"os"
|
||||||
"os/signal"
|
"os/signal"
|
||||||
"regexp"
|
"regexp"
|
||||||
@ -127,7 +126,7 @@ func checkBotForRequest() gin.HandlerFunc {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if b.Token == "" {
|
if b.Token == "" {
|
||||||
c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": getLocalizedMessage("no_bot_token")})
|
c.AbortWithStatusJSON(BadRequest("no_bot_token"))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -140,7 +139,7 @@ func checkConnectionForRequest() gin.HandlerFunc {
|
|||||||
var conn Connection
|
var conn Connection
|
||||||
|
|
||||||
if err := c.ShouldBindJSON(&conn); err != nil {
|
if err := c.ShouldBindJSON(&conn); err != nil {
|
||||||
c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": getLocalizedMessage("incorrect_url_key")})
|
c.AbortWithStatusJSON(BadRequest("incorrect_url_key"))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user