// Copyright (C) 2018 Marius Schellenberger package server import ( "errors" "strconv" "time" ) const ( day = time.Hour * 24 min = time.Second * 30 max = day * 90 ) func duration(duration, mode string) (d time.Duration, err error) { var m int m, _ = strconv.Atoi(mode) switch m { case 0: err = errors.New("invalid mode") return case 1: d, err = time.ParseDuration(duration) if err != nil { err = errors.New("could not parse duration") return } case 2: var t int t, err = strconv.Atoi(duration) if err != nil { err = errors.New("could not parse duration") return } d = time.Duration(int(day) * t) } if d < min { err = errors.New("minimum duration is 30 seconds") } if d > max { err = errors.New("maximum duration is 90 days") } return }