Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Delta ¶
type Delta struct { // Type is the type of this delta. Type DeltaType // RelationName is the name of the relation to which this delta applies, if any. RelationName string // AllowedType is the allowed relation type added or removed, if any. AllowedType *core.AllowedRelation }
Delta holds a single change of a namespace.
type DeltaType ¶
type DeltaType string
DeltaType defines the type of namespace deltas.
const ( // NamespaceAdded indicates that the namespace was newly added/created. NamespaceAdded DeltaType = "namespace-added" // NamespaceRemoved indicates that the namespace was removed. NamespaceRemoved DeltaType = "namespace-removed" // NamespaceCommentsChanged indicates that the comment(s) on the namespace were changed. NamespaceCommentsChanged DeltaType = "namespace-comments-changed" // AddedRelation indicates that the relation was added to the namespace. AddedRelation DeltaType = "added-relation" // RemovedRelation indicates that the relation was removed from the namespace. RemovedRelation DeltaType = "removed-relation" // AddedPermission indicates that the permission was added to the namespace. AddedPermission DeltaType = "added-permission" // RemovedPermission indicates that the permission was removed from the namespace. RemovedPermission DeltaType = "removed-permission" // ChangedPermissionImpl indicates that the implementation of the permission has changed in some // way. ChangedPermissionImpl DeltaType = "changed-permission-implementation" // ChangedPermissionComment indicates that the comment of the permission has changed in some way. ChangedPermissionComment DeltaType = "changed-permission-comment" // LegacyChangedRelationImpl indicates that the implementation of the relation has changed in some // way. This is for legacy checks and should not apply to any modern namespaces created // via schema. LegacyChangedRelationImpl DeltaType = "legacy-changed-relation-implementation" // RelationAllowedTypeAdded indicates that an allowed relation type has been added to // the relation. RelationAllowedTypeAdded DeltaType = "relation-allowed-type-added" // RelationAllowedTypeRemoved indicates that an allowed relation type has been removed from // the relation. RelationAllowedTypeRemoved DeltaType = "relation-allowed-type-removed" // ChangedRelationComment indicates that the comment of the relation has changed in some way. ChangedRelationComment DeltaType = "changed-relation-comment" )
type Diff ¶
type Diff struct {
// contains filtered or unexported fields
}
Diff holds the diff between two namespaces.
func DiffNamespaces ¶
func DiffNamespaces(existing *core.NamespaceDefinition, updated *core.NamespaceDefinition) (*Diff, error)
DiffNamespaces performs a diff between two namespace definitions. One or both of the definitions can be `nil`, which will be treated as an add/remove as applicable.
Click to show internal directories.
Click to hide internal directories.