mattermost/server/public/model/slack_compatibility.go
Ben Schumacher b6e5264731
[MM-67739] Rename SlackAttachment to MessageAttachment across the codebase (#35445)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2026-03-10 16:37:21 +01:00

47 lines
1.3 KiB
Go

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
package model
import (
"fmt"
"strings"
)
// Deprecated: Use MessageAttachment instead.
type SlackAttachment = MessageAttachment
// Deprecated: Use MessageAttachmentField instead.
type SlackAttachmentField = MessageAttachmentField
// Deprecated: Use ParseMessageAttachment instead.
func ParseSlackAttachment(post *Post, attachments []*MessageAttachment) {
ParseMessageAttachment(post, attachments)
}
// Deprecated: Use StringifyMessageAttachmentFieldValue instead.
func StringifySlackFieldValue(a []*MessageAttachment) []*MessageAttachment {
return StringifyMessageAttachmentFieldValue(a)
}
// 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
}