mirror of
https://github.com/warmbly/warmbly.git
synced 2026-08-20 00:01:21 +00:00
60 lines
1.1 KiB
Go
60 lines
1.1 KiB
Go
package validate
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/warmbly/warmbly/internal/bitmask"
|
|
"github.com/warmbly/warmbly/internal/errx"
|
|
)
|
|
|
|
func CampaignName(name string) *errx.Error {
|
|
l := len(name)
|
|
if l < 3 || l > 50 {
|
|
return errx.ErrCampaignName
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func CampaignDescription(description string) *errx.Error {
|
|
if len(description) > 300 {
|
|
return errx.ErrCampaignDescription
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func CampaignDailyLimit(val int) *errx.Error {
|
|
if val < 3 || val > 100 {
|
|
return errx.ErrCampaignDailyLimit
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func CampaignStartDate(date time.Time) *errx.Error {
|
|
if !date.After(time.Now()) {
|
|
return errx.ErrCampaignStartDate
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func CampaignEndDate(date time.Time) *errx.Error {
|
|
if !date.After(time.Now()) {
|
|
return errx.ErrCampaignEndDate
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func CampaignDays(days uint8) *errx.Error {
|
|
if err := bitmask.ValidateDaysMask(days); err != nil {
|
|
return errx.ErrBitmask
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func CampaignTime(input string) *errx.Error {
|
|
_, err := time.Parse("15:04", input)
|
|
if err != nil {
|
|
return errx.ErrTime
|
|
}
|
|
return nil
|
|
}
|