relationship

package
v0.0.0-...-fa17801 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 26, 2024 License: Apache-2.0 Imports: 10 Imported by: 4

Documentation

Overview

Package relationship provides primitives to interact with the openapi HTTP API.

Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.3.0 DO NOT EDIT.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type MatchSelector

type MatchSelector struct {
	Refs *[][]string          `json:"refs,omitempty" yaml:"refs,omitempty"`
	From *[]MatchSelectorItem `json:"from,omitempty" yaml:"from,omitempty"`
	To   *[]MatchSelectorItem `json:"to,omitempty" yaml:"to,omitempty"`
}

type MatchSelectorItem

type MatchSelectorItem struct {
	Id         *uuid.UUID  `json:"id" yaml:"id"`
	Kind       string      `json:"kind" yaml:"kind"`
	MutatorRef *[][]string `json:"mutatorRef,omitempty" yaml:"mutatorRef,omitempty"`
	MutatedRef *[][]string `json:"mutatedRef,omitempty" yaml:"mutatedRef,omitempty"`
}

type RelationshipDefinition

type RelationshipDefinition struct {
	// Id Uniquely identifies the entity
	Id uuid.UUID `json:"id" yaml:"id"`

	// Capabilities Capabilities associated with the relationship.
	Capabilities *[]capability.Capability `json:"capabilities,omitempty" yaml:"capabilities" gorm:"type:bytes;serializer:json"`

	// EvaluationQuery Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the future, this property is either to be removed or to it is to be an array of optional policy $refs.
	EvaluationQuery *string `json:"evaluationQuery" yaml:"evaluationQuery"`

	// Kind Kind of the Relationship. Learn more about relationships - https://docs-meshplay.khulnasoft.com/concepts/logical/relationships.
	Kind RelationshipDefinitionKind `json:"kind" yaml:"kind"`

	// Metadata Metadata contains additional information associated with the Relationship.
	Metadata *Relationship_Metadata `json:"metadata,omitempty" yaml:"metadata" gorm:"type:bytes;serializer:json"`

	// Model Name of the model in which this relationship is packaged.
	Model model.ModelDefinition `json:"model" yaml:"model" gorm:"foreignKey:ModelId;references:Id"`

	ModelId uuid.UUID `json:"-" gorm:"index:idx_relationship_definition_dbs_model_id,column:model_id"`

	// SchemaVersion Specifies the version of the schema used for the relationship definition.
	SchemaVersion string `json:"schemaVersion" yaml:"schemaVersion"`

	// Selectors Selectors are organized as an array, with each item containing a distinct set of selectors that share a common functionality. This structure allows for flexibility in defining relationships, even when different components are involved.
	Selectors *SelectorSet `json:"selectors,omitempty" yaml:"selectors,omitempty" gorm:"type:bytes;serializer:json"`

	// SubType Most granular unit of relationship classification. The combination of Kind, Type and SubType together uniquely identify a Relationship.
	SubType string `json:"subType" yaml:"subType"`

	// Status of the relationship.
	Status *RelationshipDefinitionStatus `json:"status" yaml:"status"`

	// Type Classification of relationships. Used to group relationships similar in nature.
	RelationshipType string `json:"type" yaml:"type" gorm:"column:type"`

	// Version Specifies the version of the relationship definition.
	Version string `json:"version" yaml:"version"`
}

RelationshipDefinition Relationships define the nature of interaction between interconnected components in Meshplay. The combination of relationship properties kind, type, and subtype characterize various genealogical relations among and between components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at https://docs-meshplay.khulnasoft.com/concepts/logical/relationships.

func (*RelationshipDefinition) Create

func (r *RelationshipDefinition) Create(db *database.Handler, hostID uuid.UUID) (uuid.UUID, error)

func (*RelationshipDefinition) GenerateID

func (r *RelationshipDefinition) GenerateID() (uuid.UUID, error)

func (*RelationshipDefinition) GetDefaultEvaluationQuery

func (r *RelationshipDefinition) GetDefaultEvaluationQuery() string

func (*RelationshipDefinition) GetEntityDetail

func (r *RelationshipDefinition) GetEntityDetail() string

func (RelationshipDefinition) GetID

func (r RelationshipDefinition) GetID() uuid.UUID

func (RelationshipDefinition) TableName

func (r RelationshipDefinition) TableName() string

func (RelationshipDefinition) Type

func (*RelationshipDefinition) UpdateStatus

func (r *RelationshipDefinition) UpdateStatus(db *database.Handler, status entity.EntityStatus) error

func (RelationshipDefinition) WriteComponentDefinition

func (r RelationshipDefinition) WriteComponentDefinition(relDirPath string) error

type RelationshipDefinitionCapabilitiesEntityState

type RelationshipDefinitionCapabilitiesEntityState string

RelationshipDefinitionCapabilitiesEntityState defines model for RelationshipDefinition.Capabilities.EntityState.

type RelationshipDefinitionCapabilitiesStatus

type RelationshipDefinitionCapabilitiesStatus string

RelationshipDefinitionCapabilitiesStatus Status of the capability

type RelationshipDefinitionKind

type RelationshipDefinitionKind string

RelationshipDefinitionKind Kind of the Relationship. Learn more about relationships - https://docs-meshplay.khulnasoft.com/concepts/logical/relationships.

const (
	Edge         RelationshipDefinitionKind = "edge"
	Hierarchical RelationshipDefinitionKind = "hierarchical"
	Sibling      RelationshipDefinitionKind = "sibling"
)

Defines values for RelationshipDefinitionKind.

type RelationshipDefinitionMetadataStyles

type RelationshipDefinitionMetadataStyles struct {
	// ArrowScale Scaling for the arrow size.
	ArrowScale *float32 `json:"arrow-scale,omitempty" yaml:"arrow-scale,omitempty"`

	// Color The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. #ff0000 or #f00), RGB (e.g. rgb(255, 0, 0)), or HSL (e.g. hsl(0, 100%, 50%)).
	Color *string `json:"color,omitempty" yaml:"color,omitempty"`

	// CurveStyle The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.
	CurveStyle *RelationshipDefinitionMetadataStylesCurveStyle `json:"curve-style,omitempty" yaml:"curve-style,omitempty"`

	// EdgeAnimation The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .
	EdgeAnimation *string `json:"edge-animation,omitempty" yaml:"edge-animation,omitempty"`

	// FontFamily A comma-separated list of font names to use on the label text.
	FontFamily *string `json:"font-family,omitempty" yaml:"font-family,omitempty"`

	// FontSize The size of the label text.
	FontSize *string `json:"font-size,omitempty" yaml:"font-size,omitempty"`

	// FontStyle A CSS font style to be applied to the label text.
	FontStyle *string `json:"font-style,omitempty" yaml:"font-style,omitempty"`

	// FontWeight A CSS font weight to be applied to the label text.
	FontWeight *string `json:"font-weight,omitempty" yaml:"font-weight,omitempty"`

	// Label The text to display for an element’s label. Can give a path, e.g. data(id) will label with the elements id
	Label *string `json:"label,omitempty" yaml:"label,omitempty"`

	// LineCap The cap style of the edge’s line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.
	LineCap *RelationshipDefinitionMetadataStylesLineCap `json:"line-cap,omitempty" yaml:"line-cap,omitempty"`

	// LineColor The colour of the edge’s line. Colours may be specified by name (e.g. red), hex (e.g. #ff0000 or #f00), RGB (e.g. rgb(255, 0, 0)), or HSL (e.g. hsl(0, 100%, 50%)).
	LineColor *string `json:"line-color,omitempty" yaml:"line-color,omitempty"`

	// LineOpacity The opacity of the edge’s line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.
	LineOpacity *float32 `json:"line-opacity,omitempty" yaml:"line-opacity,omitempty"`

	// LineStyle The style of the edge’s line.
	LineStyle *RelationshipDefinitionMetadataStylesLineStyle `json:"line-style,omitempty" yaml:"line-style,omitempty"`

	// MidTargetArrowColor The colour of the edge’s source arrow. Colours may be specified by name (e.g. red), hex (e.g. #ff0000 or #f00), RGB (e.g. rgb(255, 0, 0)), or HSL (e.g. hsl(0, 100%, 50%)).
	MidTargetArrowColor *string `json:"mid-target-arrow-color,omitempty" yaml:"mid-target-arrow-color,omitempty"`

	// MidTargetArrowFill The fill state of the edge’s source arrow
	MidTargetArrowFill *RelationshipDefinitionMetadataStylesMidTargetArrowFill `json:"mid-target-arrow-fill,omitempty" yaml:"mid-target-arrow-fill,omitempty"`

	// MidTargetArrowShape The shape of the edge’s source arrow
	MidTargetArrowShape *RelationshipDefinitionMetadataStylesMidTargetArrowShape `json:"mid-target-arrow-shape,omitempty" yaml:"mid-target-arrow-shape,omitempty"`

	// Opacity The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility
	Opacity *float32 `json:"opacity,omitempty" yaml:"opacity,omitempty"`

	// PrimaryColor Primary color of the component used for UI representation.
	PrimaryColor string `json:"primaryColor" yaml:"primaryColor"`

	// SecondaryColor Secondary color of the entity used for UI representation.
	SecondaryColor *string `json:"secondaryColor,omitempty" yaml:"secondaryColor,omitempty"`

	// SourceLabel The text to display for an edge’s source label. Can give a path, e.g. data(id) will label with the elements id
	SourceLabel *string `json:"source-label,omitempty" yaml:"source-label,omitempty"`

	// SvgColor Colored SVG of the entity used for UI representation on light background.
	SvgColor string `json:"svgColor" yaml:"svgColor"`

	// SvgComplete Complete SVG of the entity used for UI representation, often inclusive of background.
	SvgComplete *string `json:"svgComplete,omitempty" yaml:"svgComplete,omitempty"`

	// SvgWhite White SVG of the entity used for UI representation on dark background.
	SvgWhite string `json:"svgWhite" yaml:"svgWhite"`

	// TargetArrowColor The colour of the edge’s source arrow. Colours may be specified by name (e.g. red), hex (e.g. #ff0000 or #f00), RGB (e.g. rgb(255, 0, 0)), or HSL (e.g. hsl(0, 100%, 50%)).
	TargetArrowColor *string `json:"target-arrow-color,omitempty" yaml:"target-arrow-color,omitempty"`

	// TargetArrowFill The fill state of the edge’s source arrow
	TargetArrowFill *RelationshipDefinitionMetadataStyles0TargetArrowFill `json:"target-arrow-fill,omitempty" yaml:"target-arrow-fill,omitempty"`

	// TargetArrowShape The shape of the edge’s source arrow
	TargetArrowShape *RelationshipDefinitionMetadataStylesTargetArrowShape `json:"target-arrow-shape,omitempty" yaml:"target-arrow-shape,omitempty"`

	// TargetLabel The text to display for an edge’s target label. Can give a path, e.g. data(id) will label with the elements id
	TargetLabel *string `json:"target-label,omitempty" yaml:"target-label,omitempty"`

	// TextOpacity The opacity of the label text, including its outline.
	TextOpacity *float32 `json:"text-opacity,omitempty" yaml:"text-opacity,omitempty"`

	// TextTransform A transformation to apply to the label text
	TextTransform *RelationshipDefinitionMetadataStylesTextTransform `json:"text-transform,omitempty" yaml:"text-transform,omitempty"`

	// ZIndex An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.
	ZIndex *int `json:"z-index,omitempty" yaml:"z-index,omitempty"`
}

RelationshipDefinitionMetadataStyles0 defines model for .

type RelationshipDefinitionMetadataStyles0TargetArrowFill

type RelationshipDefinitionMetadataStyles0TargetArrowFill string
const (
	RelationshipDefinitionMetadataStyles0TargetArrowFillFilled RelationshipDefinitionMetadataStyles0TargetArrowFill = "filled"
	RelationshipDefinitionMetadataStyles0TargetArrowFillHollow RelationshipDefinitionMetadataStyles0TargetArrowFill = "hollow"
)

Defines values for RelationshipDefinitionMetadataStyles0TargetArrowFill.

type RelationshipDefinitionMetadataStylesCurveStyle

type RelationshipDefinitionMetadataStylesCurveStyle string

RelationshipDefinitionMetadataStylesCurveStyle The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.

Defines values for RelationshipDefinitionMetadataStylesCurveStyle.

type RelationshipDefinitionMetadataStylesLineCap

type RelationshipDefinitionMetadataStylesLineCap string

RelationshipDefinitionMetadataStylesLineCap The cap style of the edge’s line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.

const (
	RelationshipDefinitionMetadataStylesLineCapButt   RelationshipDefinitionMetadataStylesLineCap = "butt"
	RelationshipDefinitionMetadataStylesLineCapRound  RelationshipDefinitionMetadataStylesLineCap = "round"
	RelationshipDefinitionMetadataStylesLineCapSquare RelationshipDefinitionMetadataStylesLineCap = "square"
)

Defines values for RelationshipDefinitionMetadataStylesLineCap.

type RelationshipDefinitionMetadataStylesLineStyle

type RelationshipDefinitionMetadataStylesLineStyle string

Defines values for RelationshipDefinitionMetadataStyles0LineStyle.

type RelationshipDefinitionMetadataStylesMidTargetArrowFill

type RelationshipDefinitionMetadataStylesMidTargetArrowFill string
const (
	RelationshipDefinitionMetadataStylesMidTargetArrowFillFilled RelationshipDefinitionMetadataStylesMidTargetArrowFill = "filled"
	RelationshipDefinitionMetadataStylesMidTargetArrowFillHollow RelationshipDefinitionMetadataStylesMidTargetArrowFill = "hollow"
)

Defines values for RelationshipDefinitionMetadataStylesMidTargetArrowFill.

type RelationshipDefinitionMetadataStylesMidTargetArrowShape

type RelationshipDefinitionMetadataStylesMidTargetArrowShape string
const (
	RelationshipDefinitionMetadataStylesMidTargetArrowShapeChevron           RelationshipDefinitionMetadataStylesMidTargetArrowShape = "chevron"
	RelationshipDefinitionMetadataStylesMidTargetArrowShapeCircle            RelationshipDefinitionMetadataStylesMidTargetArrowShape = "circle"
	RelationshipDefinitionMetadataStylesMidTargetArrowShapeCircleTriangle    RelationshipDefinitionMetadataStylesMidTargetArrowShape = "circle-triangle"
	RelationshipDefinitionMetadataStylesMidTargetArrowShapeDiamond           RelationshipDefinitionMetadataStylesMidTargetArrowShape = "diamond"
	RelationshipDefinitionMetadataStylesMidTargetArrowShapeNone              RelationshipDefinitionMetadataStylesMidTargetArrowShape = "none"
	RelationshipDefinitionMetadataStylesMidTargetArrowShapeSquare            RelationshipDefinitionMetadataStylesMidTargetArrowShape = "square"
	RelationshipDefinitionMetadataStylesMidTargetArrowShapeTee               RelationshipDefinitionMetadataStylesMidTargetArrowShape = "tee"
	RelationshipDefinitionMetadataStylesMidTargetArrowShapeTriangle          RelationshipDefinitionMetadataStylesMidTargetArrowShape = "triangle"
	RelationshipDefinitionMetadataStylesMidTargetArrowShapeTriangleBackcurve RelationshipDefinitionMetadataStylesMidTargetArrowShape = "triangle-backcurve"
	RelationshipDefinitionMetadataStylesMidTargetArrowShapeTriangleCross     RelationshipDefinitionMetadataStylesMidTargetArrowShape = "triangle-cross"
	RelationshipDefinitionMetadataStylesMidTargetArrowShapeTriangleTee       RelationshipDefinitionMetadataStylesMidTargetArrowShape = "triangle-tee"
	RelationshipDefinitionMetadataStylesMidTargetArrowShapeVee               RelationshipDefinitionMetadataStylesMidTargetArrowShape = "vee"
)

Defines values for RelationshipDefinitionMetadataStylesMidTargetArrowShape.

type RelationshipDefinitionMetadataStylesTargetArrowShape

type RelationshipDefinitionMetadataStylesTargetArrowShape string

RelationshipDefinitionMetadataStylesTargetArrowShape The shape of the edge’s source arrow

const (
	RelationshipDefinitionMetadataStylesTargetArrowShapeChevron           RelationshipDefinitionMetadataStylesTargetArrowShape = "chevron"
	RelationshipDefinitionMetadataStylesTargetArrowShapeCircle            RelationshipDefinitionMetadataStylesTargetArrowShape = "circle"
	RelationshipDefinitionMetadataStylesTargetArrowShapeCircleTriangle    RelationshipDefinitionMetadataStylesTargetArrowShape = "circle-triangle"
	RelationshipDefinitionMetadataStylesTargetArrowShapeDiamond           RelationshipDefinitionMetadataStylesTargetArrowShape = "diamond"
	RelationshipDefinitionMetadataStylesTargetArrowShapeNone              RelationshipDefinitionMetadataStylesTargetArrowShape = "none"
	RelationshipDefinitionMetadataStylesTargetArrowShapeSquare            RelationshipDefinitionMetadataStylesTargetArrowShape = "square"
	RelationshipDefinitionMetadataStylesTargetArrowShapeTee               RelationshipDefinitionMetadataStylesTargetArrowShape = "tee"
	RelationshipDefinitionMetadataStylesTargetArrowShapeTriangle          RelationshipDefinitionMetadataStylesTargetArrowShape = "triangle"
	RelationshipDefinitionMetadataStylesTargetArrowShapeTriangleBackcurve RelationshipDefinitionMetadataStylesTargetArrowShape = "triangle-backcurve"
	RelationshipDefinitionMetadataStylesTargetArrowShapeTriangleCross     RelationshipDefinitionMetadataStylesTargetArrowShape = "triangle-cross"
	RelationshipDefinitionMetadataStylesTargetArrowShapeTriangleTee       RelationshipDefinitionMetadataStylesTargetArrowShape = "triangle-tee"
	RelationshipDefinitionMetadataStylesTargetArrowShapeVee               RelationshipDefinitionMetadataStylesTargetArrowShape = "vee"
)

type RelationshipDefinitionMetadataStylesTextTransform

type RelationshipDefinitionMetadataStylesTextTransform string

RelationshipDefinitionMetadataStylesTextTransform A transformation to apply to the label text

const (
	RelationshipDefinitionMetadataStylesTextTransformLowercase RelationshipDefinitionMetadataStylesTextTransform = "lowercase"
	RelationshipDefinitionMetadataStylesTextTransformNone      RelationshipDefinitionMetadataStylesTextTransform = "none"
	RelationshipDefinitionMetadataStylesTextTransformUppercase RelationshipDefinitionMetadataStylesTextTransform = "uppercase"
)

Defines values for RelationshipDefinitionMetadataStylesTextTransform.

type RelationshipDefinitionSelectorsPatchStrategy

type RelationshipDefinitionSelectorsPatchStrategy string

RelationshipDefinitionSelectorsPatchStrategy patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).

add: Inserts a value into an array or adds a member to an object. replace: Replaces a value. merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created. strategic:specific to Kubernetes and understands the structure of Kubernetes objects. It can handle complex changes like updating lists and maps, as well as preserving default values. However, it's not supported for custom resources. For custom resources, only JSON Patch and Merge Patch are typically supported. remove: Removes a value. copy: Copies a value from one location to another. move: Moves a value from one location to another. test: Tests that a value at the target location is equal to a specified value.

const (
	RelationshipDefinitionSelectorsPatchStrategyAdd       RelationshipDefinitionSelectorsPatchStrategy = "add"
	RelationshipDefinitionSelectorsPatchStrategyCopy      RelationshipDefinitionSelectorsPatchStrategy = "copy"
	RelationshipDefinitionSelectorsPatchStrategyMerge     RelationshipDefinitionSelectorsPatchStrategy = "merge"
	RelationshipDefinitionSelectorsPatchStrategyMove      RelationshipDefinitionSelectorsPatchStrategy = "move"
	RelationshipDefinitionSelectorsPatchStrategyRemove    RelationshipDefinitionSelectorsPatchStrategy = "remove"
	RelationshipDefinitionSelectorsPatchStrategyStrategic RelationshipDefinitionSelectorsPatchStrategy = "strategic"
	RelationshipDefinitionSelectorsPatchStrategyTest      RelationshipDefinitionSelectorsPatchStrategy = "test"
)

Defines values for RelationshipDefinitionSelectorsPatchStrategy.

type RelationshipDefinitionStatus

type RelationshipDefinitionStatus string

Status of the relationship.

const (
	Deleted RelationshipDefinitionStatus = "deleted"
	Enabled RelationshipDefinitionStatus = "enabled"
	Ignored RelationshipDefinitionStatus = "ignored"
)

Defines values for RelationshipDefinitionStatus.

type RelationshipDefinition_Selectors_Patch

type RelationshipDefinition_Selectors_Patch struct {
	// PatchStrategy patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
	//
	// add: Inserts a value into an array or adds a member to an object.
	// replace: Replaces a value.
	// merge: Combines the values of the target location with the values from the patch. If the target location doesn't exist, it is created.
	// strategic:specific to Kubernetes and understands the structure of Kubernetes objects. It can handle complex changes like updating lists and maps, as well as preserving default values. However, it's not supported for custom resources. For custom resources, only JSON Patch and Merge Patch are typically supported.
	// remove: Removes a value.
	// copy: Copies a value from one location to another.
	// move: Moves a value from one location to another.
	// test: Tests that a value at the target location is equal to a specified value.
	PatchStrategy *RelationshipDefinitionSelectorsPatchStrategy `json:"patchStrategy,omitempty" yaml:"patchStrategy,omitempty"`
	MutatorRef    *[][]string                                   `json:"mutatorRef,omitempty" yaml:"mutatorRef,omitempty"`
	MutatedRef    *[][]string                                   `json:"mutatedRef,omitempty" yaml:"mutatedRef,omitempty"`
}

RelationshipDefinition_Selectors_Patch defines model for RelationshipDefinition.Selectors.Allow.To.Patch.

type Relationship_Metadata

type Relationship_Metadata struct {
	// Description Characterization of the meaning of the relationship and its relevance to both Meshplay and entities under management.
	Description *string                               `json:"description" yaml:"description"`
	Styles      *RelationshipDefinitionMetadataStyles `json:"styles" yaml:"styles"`
}

type Selector

type Selector struct {
	// From Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.
	From []SelectorItem `json:"from" yaml:"from"`

	// To Describes the component(s) which are involved in the relationship along with a set of actions to perform upon selection match.
	To []SelectorItem `json:"to" yaml:"to"`
}

type SelectorItem

type SelectorItem struct {
	// Id A Universally Unique Identifier used to uniquely identify entites in Meshplay. The UUID core defintion is used across different schemas.
	Id    *uuid.UUID    `json:"id" yaml:"id"`
	Kind  *string       `json:"kind" yaml:"kind"`
	Match MatchSelector `json:"match,omitempty" yaml:"match,omitempty"`

	// Model Name of the model implicated by this selector. Learn more at https://docs-meshplay.khulnasoft.com/concepts/models
	Model *model.ModelDefinition                  `json:"model,omitempty" yaml:"model"`
	Patch *RelationshipDefinition_Selectors_Patch `json:"patch" yaml:"patch"`
}

type SelectorSet

type SelectorSet []struct {
	// Allow Selectors used to define relationships which are allowed.
	Allow Selector `json:"allow" yaml:"allow"`

	// Deny Optional selectors used to define relationships which should not be created / is restricted.
	Deny *Selector `json:"deny,omitempty" yaml:"deny,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL