ids: remove emoji ID prefix

This commit is contained in:
Tulir Asokan
2024-08-27 16:45:55 +03:00
parent 6b092026c3
commit 1e39877af3
+17 -11
View File
@@ -173,21 +173,27 @@ func MakeAvatarID(photoID int64) networkid.AvatarID {
} }
func MakeEmojiIDFromDocumentID(documentID int64) networkid.EmojiID { func MakeEmojiIDFromDocumentID(documentID int64) networkid.EmojiID {
return networkid.EmojiID(fmt.Sprintf("d%d", documentID)) return networkid.EmojiID(strconv.FormatInt(documentID, 10))
} }
func MakeEmojiIDFromEmoticon(emoticon string) networkid.EmojiID { func MakeEmojiIDFromEmoticon(emoji string) networkid.EmojiID {
return networkid.EmojiID(fmt.Sprintf("e%s", emoticon)) return networkid.EmojiID(emoji)
} }
func ParseEmojiID(emojiID networkid.EmojiID) (documentID int64, emoticon string, err error) { func isNumbers(s string) bool {
switch emojiID[0] { for _, r := range s {
case 'd': if r < '0' || r > '9' {
documentID, err = strconv.ParseInt(string(emojiID[1:]), 10, 64) return false
case 'e': }
emoticon = string(emojiID[1:]) }
default: return true
err = fmt.Errorf("invalid emoji ID type %s", string(emojiID[0])) }
func ParseEmojiID(emojiID networkid.EmojiID) (documentID int64, emoji string, err error) {
if isNumbers(string(emojiID)) {
documentID, err = strconv.ParseInt(string(emojiID), 10, 64)
} else {
emoji = string(emojiID)
} }
return return
} }