drone/types/check/token.go
Johannes Batzill fad6e18898 Introduce Controller for Repo, Space, User, and ServiceAccount (#25)
Preparing the support for harness specific API router + http handler, which allows us to have complete control over the rest api naming and functionality, without having to do complex path rewrites or request / reponse rewrites inline.
2022-10-03 18:56:49 -07:00

30 lines
710 B
Go

// Copyright 2021 Harness Inc. All rights reserved.
// Use of this source code is governed by the Polyform Free Trial License
// that can be found in the LICENSE.md file for this repository.
package check
import (
"time"
)
const (
minTokenLifeTime = 24 * time.Hour // 1 day
maxTokenLifeTime = 365 * 24 * time.Hour // 1 year
)
var (
ErrTokenLifeTimeOutOfBounds = &ValidationError{
"The life time of a token has to be between 1 second and 365 days.",
}
)
// TokenLifetime returns true if the lifetime is valid for a token.
func TokenLifetime(lifetime time.Duration) error {
if lifetime < minTokenLifeTime || lifetime > maxTokenLifeTime {
return ErrTokenLifeTimeOutOfBounds
}
return nil
}