(raw pqtype.NullRawMessage)
| 1701 | const fallbackChatLastErrorMessage = "The chat request failed unexpectedly." |
| 1702 | |
| 1703 | func decodeChatLastError(raw pqtype.NullRawMessage) *codersdk.ChatError { |
| 1704 | if !raw.Valid { |
| 1705 | return nil |
| 1706 | } |
| 1707 | |
| 1708 | var payload codersdk.ChatError |
| 1709 | if err := json.Unmarshal(raw.RawMessage, &payload); err != nil { |
| 1710 | return &codersdk.ChatError{ |
| 1711 | Message: fallbackChatLastErrorMessage, |
| 1712 | Kind: codersdk.ChatErrorKindGeneric, |
| 1713 | } |
| 1714 | } |
| 1715 | |
| 1716 | payload.Message = strings.TrimSpace(payload.Message) |
| 1717 | payload.Detail = strings.TrimSpace(payload.Detail) |
| 1718 | payload.Kind = codersdk.ChatErrorKind(strings.TrimSpace(string(payload.Kind))) |
| 1719 | payload.Provider = strings.TrimSpace(payload.Provider) |
| 1720 | if payload.Kind == "" { |
| 1721 | payload.Kind = codersdk.ChatErrorKindGeneric |
| 1722 | } |
| 1723 | if payload.Message == "" { |
| 1724 | payload.Message = fallbackChatLastErrorMessage |
| 1725 | } |
| 1726 | return &payload |
| 1727 | } |
| 1728 | |
| 1729 | // Chat converts a database.Chat to a codersdk.Chat. It coalesces |
| 1730 | // nil slices and maps to empty values for JSON serialization and |
no test coverage detected