2023-03-28 20:12:41 +00:00
|
|
|
// Copyright (c) HashiCorp, Inc.
|
|
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
|
2022-06-17 09:24:43 +00:00
|
|
|
package resolver
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/hashicorp/consul/acl"
|
|
|
|
"github.com/hashicorp/consul/agent/structs"
|
|
|
|
)
|
|
|
|
|
|
|
|
type Result struct {
|
|
|
|
acl.Authorizer
|
|
|
|
// TODO: likely we can reduce this interface
|
|
|
|
ACLIdentity structs.ACLIdentity
|
|
|
|
}
|
|
|
|
|
|
|
|
func (a Result) AccessorID() string {
|
|
|
|
if a.ACLIdentity == nil {
|
|
|
|
return ""
|
|
|
|
}
|
|
|
|
return a.ACLIdentity.ID()
|
|
|
|
}
|
|
|
|
|
|
|
|
func (a Result) Identity() structs.ACLIdentity {
|
|
|
|
return a.ACLIdentity
|
|
|
|
}
|
|
|
|
|
|
|
|
func (a Result) ToAllowAuthorizer() acl.AllowAuthorizer {
|
|
|
|
return acl.AllowAuthorizer{Authorizer: a, AccessorID: a.AccessorID()}
|
|
|
|
}
|