Documentation
¶
Index ¶
Constants ¶
View Source
const ModelVersion int = 1
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ArrowPermission ¶
type ExclusionPermission ¶
type Model ¶
type Model struct {
Version int `json:"version"`
Objects map[ObjectName]*Object `json:"types"`
}
type Object ¶
type Object struct {
Relations map[RelationName][]*Relation `json:"relations,omitempty"`
Permissions map[PermissionName]*Permission `json:"permissions,omitempty"`
}
type ObjectName ¶
type ObjectName string
type Permission ¶
type Permission struct {
Union []string `json:"union,omitempty"`
Intersection []string `json:"intersection,omitempty"`
Exclusion *ExclusionPermission `json:"exclusion,omitempty"`
Arrow *ArrowPermission `json:"arrow,omitempty"`
}
type PermissionName ¶
type PermissionName string
type Relation ¶
type Relation struct {
Direct ObjectName `json:"direct,omitempty"`
Subject *SubjectRelation `json:"subject,omitempty"`
Wildcard ObjectName `json:"wildcard,omitempty"`
}
type RelationName ¶
type RelationName string
type SubjectRelation ¶
type SubjectRelation struct {
Object ObjectName `json:"object,omitempty"`
Relation RelationName `json:"relation,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.