Files
mattermost/server/public/model/slack_compatibility.go
T
2b40a0bdae MM-67868: Remove deprecated Slack compatibility type aliases (#37163)
Remove the deprecated backward-compatibility aliases introduced in #35445:
SlackAttachment, SlackAttachmentField, ParseSlackAttachment, and
StringifySlackFieldValue. Plugins should now use the MessageAttachment
equivalents directly.

SlackCompatibleBool is retained as it is still actively used.


Claude-Session: https://claude.ai/code/session_01KnMUsaSbm4HQsNEEtH5zp8

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2026-08-17 10:11:17 +00:00

32 lines
785 B
Go

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
package model
import (
"fmt"
"strings"
)
// SlackCompatibleBool is an alias for bool that implements json.Unmarshaler
type SlackCompatibleBool bool
// UnmarshalJSON implements json.Unmarshaler
//
// Slack allows bool values to be represented as strings ("true"/"false") or
// literals (true/false). To maintain compatibility, we define an Unmarshaler
// that supports both.
func (b *SlackCompatibleBool) UnmarshalJSON(data []byte) error {
value := strings.ToLower(string(data))
switch value {
case "true", `"true"`:
*b = true
case "false", `"false"`:
*b = false
default:
return fmt.Errorf("unmarshal: unable to convert %s to bool", data)
}
return nil
}