Returned full error to browser. (#897)

This is first step of new error handling. UI rework will be done

Co-authored-by: Benjamin Perez <benjamin@bexsoft.net>
This commit is contained in:
Alex
2021-07-26 18:25:55 -05:00
committed by GitHub
parent b84b80742c
commit a2cde72347
9 changed files with 48 additions and 6 deletions

View File

@@ -39,6 +39,10 @@ type Error struct {
// code // code
Code int32 `json:"code,omitempty"` Code int32 `json:"code,omitempty"`
// detailed message
// Required: true
DetailedMessage *string `json:"detailedMessage"`
// message // message
// Required: true // Required: true
Message *string `json:"message"` Message *string `json:"message"`
@@ -48,6 +52,10 @@ type Error struct {
func (m *Error) Validate(formats strfmt.Registry) error { func (m *Error) Validate(formats strfmt.Registry) error {
var res []error var res []error
if err := m.validateDetailedMessage(formats); err != nil {
res = append(res, err)
}
if err := m.validateMessage(formats); err != nil { if err := m.validateMessage(formats); err != nil {
res = append(res, err) res = append(res, err)
} }
@@ -58,6 +66,15 @@ func (m *Error) Validate(formats strfmt.Registry) error {
return nil return nil
} }
func (m *Error) validateDetailedMessage(formats strfmt.Registry) error {
if err := validate.Required("detailedMessage", "body", m.DetailedMessage); err != nil {
return err
}
return nil
}
func (m *Error) validateMessage(formats strfmt.Registry) error { func (m *Error) validateMessage(formats strfmt.Registry) error {
if err := validate.Required("message", "body", m.Message); err != nil { if err := validate.Required("message", "body", m.Message); err != nil {

View File

@@ -2220,13 +2220,17 @@ func init() {
"error": { "error": {
"type": "object", "type": "object",
"required": [ "required": [
"message" "message",
"detailedMessage"
], ],
"properties": { "properties": {
"code": { "code": {
"type": "integer", "type": "integer",
"format": "int32" "format": "int32"
}, },
"detailedMessage": {
"type": "string"
},
"message": { "message": {
"type": "string" "type": "string"
} }
@@ -7800,13 +7804,17 @@ func init() {
"error": { "error": {
"type": "object", "type": "object",
"required": [ "required": [
"message" "message",
"detailedMessage"
], ],
"properties": { "properties": {
"code": { "code": {
"type": "integer", "type": "integer",
"format": "int32" "format": "int32"
}, },
"detailedMessage": {
"type": "string"
},
"message": { "message": {
"type": "string" "type": "string"
} }

View File

@@ -157,7 +157,7 @@ func prepareError(err ...error) *models.Error {
errorMessage = err[0].Error() errorMessage = err[0].Error()
} }
} }
return &models.Error{Code: errorCode, Message: swag.String(errorMessage)} return &models.Error{Code: errorCode, Message: swag.String(errorMessage), DetailedMessage: swag.String(err[0].Error())}
} }
func getFrame(skipFrames int) runtime.Frame { func getFrame(skipFrames int) runtime.Frame {

View File

@@ -42,10 +42,12 @@ const initialState: SystemState = {
loadingProgress: 100, loadingProgress: 100,
snackBar: { snackBar: {
message: "", message: "",
detailedErrorMsg: "",
type: "message", type: "message",
}, },
modalSnackBar: { modalSnackBar: {
message: "", message: "",
detailedErrorMsg: "",
type: "message", type: "message",
}, },
serverDiagnosticStatus: "", serverDiagnosticStatus: "",

View File

@@ -15,6 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>. // along with this program. If not, see <http://www.gnu.org/licenses/>.
export interface snackBarMessage { export interface snackBarMessage {
message: string; message: string;
detailedErrorMsg?: string;
type: "message" | "error"; type: "message" | "error";
} }

View File

@@ -3786,13 +3786,17 @@ func init() {
"error": { "error": {
"type": "object", "type": "object",
"required": [ "required": [
"message" "message",
"detailedMessage"
], ],
"properties": { "properties": {
"code": { "code": {
"type": "integer", "type": "integer",
"format": "int32" "format": "int32"
}, },
"detailedMessage": {
"type": "string"
},
"message": { "message": {
"type": "string" "type": "string"
} }
@@ -9292,13 +9296,17 @@ func init() {
"error": { "error": {
"type": "object", "type": "object",
"required": [ "required": [
"message" "message",
"detailedMessage"
], ],
"properties": { "properties": {
"code": { "code": {
"type": "integer", "type": "integer",
"format": "int32" "format": "int32"
}, },
"detailedMessage": {
"type": "string"
},
"message": { "message": {
"type": "string" "type": "string"
} }

View File

@@ -166,7 +166,7 @@ func prepareError(err ...error) *models.Error {
errorMessage = err[0].Error() errorMessage = err[0].Error()
} }
} }
return &models.Error{Code: errorCode, Message: swag.String(errorMessage)} return &models.Error{Code: errorCode, Message: swag.String(errorMessage), DetailedMessage: swag.String(err[0].Error())}
} }
func getFrame(skipFrames int) runtime.Frame { func getFrame(skipFrames int) runtime.Frame {

View File

@@ -2294,12 +2294,15 @@ definitions:
type: object type: object
required: required:
- message - message
- detailedMessage
properties: properties:
code: code:
type: integer type: integer
format: int32 format: int32
message: message:
type: string type: string
detailedMessage:
type: string
user: user:
type: object type: object
properties: properties:

View File

@@ -1079,12 +1079,15 @@ definitions:
type: object type: object
required: required:
- message - message
- detailedMessage
properties: properties:
code: code:
type: integer type: integer
format: int32 format: int32
message: message:
type: string type: string
detailedMessage:
type: string
user: user:
type: object type: object
properties: properties: