Print status code
This commit is contained in:
parent
a1eae9b4bb
commit
6d073dc216
@ -1,10 +1,15 @@
|
|||||||
package app
|
package app
|
||||||
|
|
||||||
import "fmt"
|
import (
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"github.com/rxdn/gdl/rest/request"
|
||||||
|
)
|
||||||
|
|
||||||
type ApiError struct {
|
type ApiError struct {
|
||||||
InternalError error
|
InternalError error
|
||||||
ExternalMessage string
|
ExternalMessage string
|
||||||
|
stacktrace error
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ error = (*ApiError)(nil)
|
var _ error = (*ApiError)(nil)
|
||||||
@ -21,7 +26,13 @@ func NewServerError(internalError error) *ApiError {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (e *ApiError) Error() string {
|
func (e *ApiError) Error() string {
|
||||||
return fmt.Sprintf("internal error: %v, external message: %s", e.InternalError, e.ExternalMessage)
|
var restError request.RestError
|
||||||
|
if errors.As(e.InternalError, &restError) {
|
||||||
|
return fmt.Sprintf("internal error: %v, external message: %s, rest error: Discord returned HTTP %d: %s",
|
||||||
|
e.InternalError, e.ExternalMessage, restError.StatusCode, restError.ApiError.Message)
|
||||||
|
} else {
|
||||||
|
return fmt.Sprintf("internal error: %v, external message: %s", e.InternalError, e.ExternalMessage)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *ApiError) Unwrap() error {
|
func (e *ApiError) Unwrap() error {
|
||||||
|
@ -97,7 +97,6 @@ func DeletePanel(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
messageData := multiPanelIntoMessageData(multiPanel, premiumTier > premium.None)
|
messageData := multiPanelIntoMessageData(multiPanel, premiumTier > premium.None)
|
||||||
|
|
||||||
messageId, err := messageData.send(botContext, panels)
|
messageId, err := messageData.send(botContext, panels)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
var unwrapped request.RestError
|
var unwrapped request.RestError
|
||||||
@ -106,16 +105,16 @@ func DeletePanel(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
// TODO: nil message ID?
|
// TODO: nil message ID?
|
||||||
}
|
} else {
|
||||||
|
if err := database.Client.MultiPanels.UpdateMessageId(c, multiPanel.Id, messageId); err != nil {
|
||||||
|
_ = c.AbortWithError(http.StatusInternalServerError, app.NewServerError(err))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if err := database.Client.MultiPanels.UpdateMessageId(c, multiPanel.Id, messageId); err != nil {
|
// Delete old panel
|
||||||
_ = c.AbortWithError(http.StatusInternalServerError, app.NewServerError(err))
|
// TODO: Use proper context
|
||||||
return
|
_ = rest.DeleteMessage(c, botContext.Token, botContext.RateLimiter, multiPanel.ChannelId, multiPanel.MessageId)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete old panel
|
|
||||||
// TODO: Use proper context
|
|
||||||
_ = rest.DeleteMessage(c, botContext.Token, botContext.RateLimiter, multiPanel.ChannelId, multiPanel.MessageId)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
c.JSON(200, utils.SuccessResponse)
|
c.JSON(200, utils.SuccessResponse)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user