Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Port string `env:"PORT" envDefault:"8080"`
BaseURL string `env:"BASE_URL,required"`
Whoop Whoop `envPrefix:"WHOOP_"`
RateLimit RateLimit `envPrefix:"RATE_"`
WhoopRateLimit WhoopRateLimit `envPrefix:"WHOOP_RATE_LIMIT_"`
Redis Redis `envPrefix:"REDIS_"`
Database Database `envPrefix:"DATABASE_"`
}
func ReadConfig ¶
func (Config) GetClientID ¶
func (Config) GetClientSecret ¶
func (Config) GetRedirectURL ¶
type WhoopRateLimit ¶
type WhoopRateLimit struct {
// max 10 users as unapproved app, assumes ~5 concurrent
PerUserMinuteLimit int `env:"PER_USER_MINUTE_LIMIT" envDefault:"20"`
PerUserDayLimit int `env:"PER_USER_DAY_LIMIT" envDefault:"2000"`
// w/ safety buffers from WHOOP's 100/min, 10k/day
GlobalMinuteLimit int `env:"GLOBAL_MINUTE_LIMIT" envDefault:"95"`
GlobalDayLimit int `env:"GLOBAL_DAY_LIMIT" envDefault:"9950"`
}
Click to show internal directories.
Click to hide internal directories.