drone/types/enum/space.go
Johannes Batzill 8c2f900c80 Principals, ServiceAccounts, Tokens and auth.Sessions (#15)
This change introduces the concept of a principal (abstraction of call identity), and adds a new service account type principal. Also adds support for different tokens (session, PAT, SAT, OAuth2) and adds auth.Session which is being used to capture information about the caller and call method.
2022-09-25 23:44:51 -07:00

43 lines
972 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 enum
import "strings"
// SpaceAttr defines space attributes that can be used for sorting and filtering.
type SpaceAttr int
// Order enumeration.
const (
SpaceAttrNone SpaceAttr = iota
SpaceAttrID
SpaceAttrPathName
SpaceAttrPath
SpaceAttrName
SpaceAttrCreated
SpaceAttrUpdated
)
// ParseSpaceAttr parses the space attribute string
// and returns the equivalent enumeration.
func ParseSpaceAttr(s string) SpaceAttr {
switch strings.ToLower(s) {
case "id":
return SpaceAttrID
case "pathname", "path_name":
return SpaceAttrPathName
case "path":
return SpaceAttrPath
case "name":
return SpaceAttrName
case "created", "created_at":
return SpaceAttrCreated
case "updated", "updated_at":
return SpaceAttrUpdated
default:
return SpaceAttrNone
}
}