Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Queries all available fields of an object type

SDK-

...

Method

Code Block
languagec#
Task<IFieldDefinition[]> IApiV2Endpoint.GetFields(
  int? maxDepth = null, 
  CancellationToken cancellationToken = default
)

REST-Equivalent

Code Block
GET /apiv2/servicedmcore/CoreIdentity/fields

...

Example-Code

Code Block
languagec#
public async Task GetCoreIdentityById()
{
    var api = GetService<IApiV2Client>();
    var endpoint = api.DmcoreService.Servicedmcore.CoreIdentity;
    var fields = await endpoint.GetFields();
}

...

Answer DataContracts

Code Block
languagec#
public interface IFieldDefinition
{
	/// <summary>
	/// Parts to be used as DisplayName, for chained properties there are multiple entries
	/// </summary>
	IFieldDefinitionDisplayNamePart[] DisplayNameParts { get; set; }

	/// <summary>The name of the field, used to filter and query</summary>
	string Name { get; set; }

	/// <summary>The SystemName, use this for API-Calls</summary>
	string SystemName { get; set; }

	/// <summary>The short TypeName of the field (i.E: String)</summary>
	string TypeName { get; set; }

	/// <summary>The Full TypeName of the field (i.E: System.String)</summary>
	string TypeFullName { get; set; }

	/// <summary>
	/// The category, for FieldDefinitionKind "Property" it's always "Entity", for
	/// FieldDefinitionKind AttributeValue its the name of the AttributeGroup
	/// </summary>
	string Category { get; set; }

	/// <summary>Kind of the field (Property or AttributeValue)</summary>
	FieldDefinitionKind Kind { get; set; }

	/// <summary>ToDo</summary>
	IFieldValidationInformation[] ValidationInformations { get; set; }

	/// <summary>Defines if the field is Updateable</summary>
	bool Updateable { get; set; }
}
public interface IFieldDefinitionDisplayNamePart
{
    /// <summary>
    /// The value itself
    /// </summary>
    string Value { get; set; }
    /// <summary>
    /// A plain value if kind is NameKey
    /// </summary>
    string AltValue { get; set; }
    /// <summary>
    /// Defines if it is a plain value of a nameKey
    /// </summary>
    FieldDefinitionDisplayNamePartKind Kind { get; }
}

...