The resource type method is used to automatically create refresh tokens from a resource when that resource is the last item returned in a page. This also renames the iam domain ResourceType method to GetResourceType to align with the new method.
44 lines
1.2 KiB
Go
44 lines
1.2 KiB
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: BUSL-1.1
|
|
|
|
// Package boundary contains global interfaces and other definitions that
|
|
// define the Boundary domain.
|
|
package boundary
|
|
|
|
import (
|
|
"github.com/hashicorp/boundary/internal/db/timestamp"
|
|
"github.com/hashicorp/boundary/internal/types/resource"
|
|
)
|
|
|
|
// An Entity is an object distinguished by its identity, rather than its
|
|
// attributes. It can contain value objects and other entities.
|
|
type Entity interface {
|
|
GetPublicId() string
|
|
}
|
|
|
|
// An Aggregate is an entity that is the root of a transactional
|
|
// consistency boundary.
|
|
type Aggregate interface {
|
|
Entity
|
|
GetVersion() uint32
|
|
GetCreateTime() *timestamp.Timestamp
|
|
GetUpdateTime() *timestamp.Timestamp
|
|
}
|
|
|
|
// A Resource is an aggregate with a name, description, and resource type.
|
|
type Resource interface {
|
|
Aggregate
|
|
GetName() string
|
|
GetDescription() string
|
|
GetResourceType() resource.Type
|
|
}
|
|
|
|
// AuthzProtectedEntity is used by some functions (primarily
|
|
// scopeids.AuthzProtectedEntityProvider-conforming implementations) to deliver
|
|
// some common information necessary for calculating authz.
|
|
type AuthzProtectedEntity interface {
|
|
Entity
|
|
GetProjectId() string
|
|
GetUserId() string
|
|
}
|