Skip to main content

CkTypeAttributeDto

Namespace: Meshmakers.Octo.ConstructionKit.Contracts.DataTransferObjects

Defines an assignment of a CK type to a CK attribute.

public class CkTypeAttributeDto

Inheritance Object → CkTypeAttributeDto

Properties​

CkAttributeId​

Gets or sets the CK attribute id.

public CkId<CkAttributeId> CkAttributeId { get; set; }

Property Value​

CkId<CkAttributeId>

AttributeName​

Gets or sets the name of the attribute.

public string AttributeName { get; set; }

Property Value​

String

AutoCompleteValues​

Gets or sets a list of values that are used for auto-completion.

public List<object> AutoCompleteValues { get; set; }

Property Value​

List<Object>

AutoIncrementReference​

If auto-completion is enabled, this property defines the attribute that is used as a reference for the auto-completion values.

public string AutoIncrementReference { get; set; }

Property Value​

String

IsOptional​

If true, the attribute is optional, that means it can be null

public bool IsOptional { get; set; }

Property Value​

Boolean

Ownership​

Optional per-assignment override of the attribute definition's CkAttributeDto.Ownership. null (omitted) means "inherit from the definition" — which is what every assignment authored before AB#5187 declares, so existing models are untouched.

public Nullable<AttributeOwnershipDto> Ownership { get; set; }

Property Value​

Nullable<AttributeOwnershipDto>

Remarks:

The override exists because ownership sits on the attribute DEFINITION and one definition is shared by many types: a single ClientId is assigned by FinApiConfiguration, MicrosoftGraphConfiguration and ServiceAccountConfiguration. Marking the definition AttributeOwnershipDto.Secret would also freeze the service account's client id against a blueprint rename. With the override the definition carries the common case and the outlier states its own answer, on the assignment, next to the type it belongs to (AB#5187, product decision 3). Applies to type attributes, record attributes and association-role attributes alike — they all use this DTO.

Constructors​

CkTypeAttributeDto()​

public CkTypeAttributeDto()