package domain import ( "fmt" "github.com/google/uuid" ) type Post struct { ID uuid.UUID ChannelID uuid.UUID MessageID int Text string Link string Views int } func NewPost(channel Channel, messageID int, text string, views int) Post { link := "" if channel.Username != "" { link = fmt.Sprintf("https://t.me/%s/%d", channel.Username, messageID) } else if channel.TelegramID != 0 { link = fmt.Sprintf("https://t.me/c/%d/%d", ChannelIDFromChatID(channel.TelegramID), messageID) } return Post{ ID: uuid.New(), ChannelID: channel.ID, MessageID: messageID, Text: text, Link: link, Views: views, } }