Files
trufflehog/pkg/analyzer/analyzers/dockerhub/permissions.go
Kashif Khan b10342e5da dockerhub analyzer (#3861)
* dockerhub analyzer

* fixed linter

* added test cases

* resolved comments
2025-02-11 09:31:29 -08:00

77 lines
1.9 KiB
Go

// Code generated by go generate; DO NOT EDIT.
package dockerhub
import "errors"
type Permission int
const (
Invalid Permission = iota
RepoRead Permission = iota
RepoWrite Permission = iota
RepoAdmin Permission = iota
RepoPublicRead Permission = iota
)
var (
PermissionStrings = map[Permission]string{
RepoRead: "repo:read",
RepoWrite: "repo:write",
RepoAdmin: "repo:admin",
RepoPublicRead: "repo:public_read",
}
StringToPermission = map[string]Permission{
"repo:read": RepoRead,
"repo:write": RepoWrite,
"repo:admin": RepoAdmin,
"repo:public_read": RepoPublicRead,
}
PermissionIDs = map[Permission]int{
RepoRead: 1,
RepoWrite: 2,
RepoAdmin: 3,
RepoPublicRead: 4,
}
IdToPermission = map[int]Permission{
1: RepoRead,
2: RepoWrite,
3: RepoAdmin,
4: RepoPublicRead,
}
)
// ToString converts a Permission enum to its string representation
func (p Permission) ToString() (string, error) {
if str, ok := PermissionStrings[p]; ok {
return str, nil
}
return "", errors.New("invalid permission")
}
// ToID converts a Permission enum to its ID
func (p Permission) ToID() (int, error) {
if id, ok := PermissionIDs[p]; ok {
return id, nil
}
return 0, errors.New("invalid permission")
}
// PermissionFromString converts a string representation to its Permission enum
func PermissionFromString(s string) (Permission, error) {
if p, ok := StringToPermission[s]; ok {
return p, nil
}
return 0, errors.New("invalid permission string")
}
// PermissionFromID converts an ID to its Permission enum
func PermissionFromID(id int) (Permission, error) {
if p, ok := IdToPermission[id]; ok {
return p, nil
}
return 0, errors.New("invalid permission ID")
}