Skip to content
20 changes: 20 additions & 0 deletions _docs_integrate/data-model-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -430,6 +430,26 @@ A LocalAttributeListener is created when you accept an incoming Request with a [
| query | [`IdentityAttributeQuery`](#identityattributequery) \| [`ThirdPartyRelationshipAttributeQuery`](#thirdpartyrelationshipattributequery) | The query the Attribute that is listened to must match. Note that you cannot send a [`RelationshipAttributeQuery`](#relationshipattributequery) here, because it doesn't make sense: by definition, both parties know about a RelationshipAttribute right from the beginning, because one party requests its creation, and the other one accepts it. |
| peer | `string` | The address of the peer that requested the Attribute Listener. |

## AttributeTagCollection

The AttributeTagCollection is defined by the Backbone and specifies which `tags` are allowed for which [IdentityAttribute]({% link _docs_integrate/data-model-overview.md %}#identityattribute) `value.@type`.
It can be queried from the Backbone by using the [Get AttributeTagCollection]({% link _docs_use-cases/use-case-consumption-get-attributetagcollection.md %}) use case.
Apart from the Backbone-defined `tags`, only `tags` starting with the custom tag prefix `x+%+` or `X+%+` will be allowed to use when working with IdentityAttributes.

| Name | Type | Description |
| -------------------------- | ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| supportedLanguages | `string[]` | An array of all supported languages for which a translation must be specified within the `displayNames` mapping of any [AttributeTag](#attributetag) within the `tagsForAttributeValueTypes` mapping. |
| tagsForAttributeValueTypes | `Record<string, Record<string,` [`AttributeTag`](#attributetag)`>>` | A mapping of certain [IdentityAttribute]({% link _docs_integrate/data-model-overview.md %}#identityattribute) `value.@types` and allowed `tags`. These are represented by a mapping of their names and their specifications as [AttributeTags](#attributetag). If an IdentityAttribute `value.@type` does not occur in the mapping, IdentityAttributes of this `value.@type` will only be allowed to have `tags` that start with `x+%+` or `X+%+`. |

### AttributeTag

AttributeTags occur within the `tagsForAttributeValueTypes` mapping of the [AttributeTagCollection](#attributetagcollection).

| Name | Type | Description |
| ------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| displayNames | `Record<string, string>` | A mapping of all `supportedLanguages` of the associated [AttributeTagCollection](#attributetagcollection) and the corresponding display names of the AttributeTag. |
| children | `Record<string,` [`AttributeTag`](#attributetag)`>` \| `undefined` | A mapping of the names of sub-AttributeTags of the AttributeTag and their specifications. If an AttributeTag has children, the allowed [IdentityAttribute]({% link _docs_integrate/data-model-overview.md %}#identityattribute) `tags` will be the concatenations of the name of the AttributeTag itself with the name of any child separated by the tag separator `+%+`. |

# Content Types

Content Types can be seen as a data contract between Identities. The medium through which this data is exchanged are the [Transport types](#transport-types) (e.g. Messages, Tokens, ...). This chapter shows all the Content types and describes their intended usage.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
# Start automatic generation
permalink: use-case-consumption-get-attributetagcollection
published: true
title: "Get AttributeTagCollection"
type: use-case
toc: true
sidebar:
- title: "Integrate enmeshed"
nav: "docs_integrate"
properties:
- id: RA30
- component: Runtime
- layer: Consumption
- facade: AttributesFacade
- function: getAttributeTagCollection
- description: Get Backbone-defined `tags` for IdentityAttributes.
- feature category: Normalized Attributes
- tech category: Attributes
- status: DONE
- documentation status: DONE
- comments:
- actor: Identity
- trigger: REST API
- precondition:
- result:
- priority: n/a
- complexity: n/a
- size: n/a
- created_at:
- changed_at:
- api_route_regex: GET /api/v2/Attributes/TagCollection
- published: default
- link: use-case-consumption-get-attributetagcollection
require:
required_by:
api_route_regex: ^GET /api/v2/Attributes/TagCollection$
# End automatic generation
---

{{properties.description}}

{% include properties_list.html %}

This use case is intended to query the [AttributeTagCollection]({% link _docs_integrate/data-model-overview.md %}#attributetagcollection) from the Backbone.

## On Success

- Returns the [AttributeTagCollection]({% link _docs_integrate/data-model-overview.md %}#attributetagcollection).