2026-04-29 23:07:50 +08:00

35 lines
741 B
Go

// Package roomid defines the room identifier format shared by gateway and room-service.
package roomid
const (
// MaxStringIDLength keeps room_id within both Tencent IM GroupID and RTC strRoomId limits.
MaxStringIDLength = 48
)
// ValidStringID reports whether value can be used as the internal room_id and Tencent room identifier.
func ValidStringID(value string) bool {
if len(value) == 0 || len(value) > MaxStringIDLength {
return false
}
for i := 0; i < len(value); i++ {
char := value[i]
if char >= 'a' && char <= 'z' {
continue
}
if char >= 'A' && char <= 'Z' {
continue
}
if char >= '0' && char <= '9' {
continue
}
if char == '_' || char == '-' {
continue
}
return false
}
return true
}