diff --git a/push_type.go b/push_type.go new file mode 100644 index 0000000..322ac3d --- /dev/null +++ b/push_type.go @@ -0,0 +1,43 @@ +package push_common + +import "strings" + +type PushType uint8 + +const ( + PushType_User PushType = 1 + PushType_Auto PushType = 2 +) + +func PushTypeToString(pt PushType) string { + switch pt { + case PushType_User: + return "user" + case PushType_Auto: + return "auto" + } + return "error" +} + +const AutoPushInfoPrefix = "#" + +// Автоматическое пуш-оповещение - пуш-оповещение, +// которое было создано автоматически (а не пользователем инсайдера). +func IsAutoPush(pushInfo string) bool { + return strings.HasPrefix(pushInfo, AutoPushInfoPrefix) +} + +// Пользовательское пуш-оповещение - пуш-оповещение, +// которое было создано пользователем инсайдера (а не автоматически). +func IsUserPush(pushInfo string) bool { + isAuto := IsAutoPush(pushInfo) + return !isAuto +} + +func ConvertPushInfoToType(pushInfo string) PushType { + if IsAutoPush(pushInfo) { + return PushType_Auto + } else { + return PushType_User + } +}