resolveSafeErrorItem extracts from each validation error its public safe error code and message.
(err any)
| 204 | // resolveSafeErrorItem extracts from each validation error its |
| 205 | // public safe error code and message. |
| 206 | func resolveSafeErrorItem(err any) any { |
| 207 | data := map[string]any{} |
| 208 | |
| 209 | if obj, ok := err.(SafeErrorItem); ok { |
| 210 | // extract the specific error code and message |
| 211 | data["code"] = obj.Code() |
| 212 | data["message"] = inflector.Sentenize(obj.Error()) |
| 213 | } else { |
| 214 | // fallback to the default public safe values |
| 215 | data["code"] = "validation_invalid_value" |
| 216 | data["message"] = "Invalid value." |
| 217 | } |
| 218 | |
| 219 | if s, ok := err.(SafeErrorParamsResolver); ok { |
| 220 | params := s.Params() |
| 221 | if len(params) > 0 { |
| 222 | data["params"] = params |
| 223 | } |
| 224 | } |
| 225 | |
| 226 | if s, ok := err.(SafeErrorResolver); ok { |
| 227 | return s.Resolve(data) |
| 228 | } |
| 229 | |
| 230 | return data |
| 231 | } |