feat: sync monoforum and collectible emoji status
Sync telesrv bd15657 (feat(account): implement collectible emoji status). Skipped telesrv docs changes per public sync rules.
This commit is contained in:
parent
edb7057757
commit
0c99ae0a9d
91 changed files with 4061 additions and 693 deletions
|
|
@ -85,9 +85,35 @@ func tgUserEmojiStatus(u domain.User, now int64) tg.EmojiStatusClass {
|
|||
if !u.EmojiStatusActiveAt(now) {
|
||||
return &tg.EmojiStatusEmpty{}
|
||||
}
|
||||
status := &tg.EmojiStatus{DocumentID: u.EmojiStatusDocumentID}
|
||||
if u.EmojiStatusUntil > 0 {
|
||||
status.SetUntil(u.EmojiStatusUntil)
|
||||
return tgUserEmojiStatusValue(u.EmojiStatus())
|
||||
}
|
||||
|
||||
// tgUserEmojiStatusValue converts an already validated absolute snapshot. It
|
||||
// is shared by inline user projections and durable updateUserEmojiStatus.
|
||||
func tgUserEmojiStatusValue(value domain.UserEmojiStatus) tg.EmojiStatusClass {
|
||||
if !value.Valid() || value.Empty() {
|
||||
return &tg.EmojiStatusEmpty{}
|
||||
}
|
||||
if collectible := value.Collectible; !collectible.Empty() {
|
||||
status := &tg.EmojiStatusCollectible{
|
||||
CollectibleID: collectible.CollectibleID,
|
||||
DocumentID: collectible.DocumentID,
|
||||
Title: collectible.Title,
|
||||
Slug: collectible.Slug,
|
||||
PatternDocumentID: collectible.PatternDocumentID,
|
||||
CenterColor: collectible.CenterColor,
|
||||
EdgeColor: collectible.EdgeColor,
|
||||
PatternColor: collectible.PatternColor,
|
||||
TextColor: collectible.TextColor,
|
||||
}
|
||||
if value.Until > 0 {
|
||||
status.SetUntil(value.Until)
|
||||
}
|
||||
return status
|
||||
}
|
||||
status := &tg.EmojiStatus{DocumentID: value.DocumentID}
|
||||
if value.Until > 0 {
|
||||
status.SetUntil(value.Until)
|
||||
}
|
||||
return status
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue