diff --git a/_docs_integrate/create-attributes-for-yourself.md b/_docs_integrate/create-attributes-for-yourself.md index 40511d82c..5e2a42908 100644 --- a/_docs_integrate/create-attributes-for-yourself.md +++ b/_docs_integrate/create-attributes-for-yourself.md @@ -41,8 +41,6 @@ To create a RepositoryAttribute, proceed as described in the [Create a Repositor ```jsonc { "content": { - "validFrom": "", - "validTo": "", "value": { // IdentityAttribute value ... @@ -53,7 +51,7 @@ To create a RepositoryAttribute, proceed as described in the [Create a Repositor ``` You need to replace the placeholders marked with `<...>` appropriately. -Note that the properties `validFrom`, `validTo` and `tags` are optional, so you can omit them. +Note that the property `tags` is optional, so you can omit it. It is necessary that you insert one of the available [IdentityAttributeValues]({% link _docs_integrate/attribute-values.md %}#identity-attributes) into the `value` property. If there is already an existing RepositoryAttribute with an undefined `succeededBy` property and which therefore represents the latest version, whose `content.value` exactly matches the specified `value` in the payload for creating a new RepositoryAttribute, an error with [error code]({% link _docs_integrate/error-codes.md %}) `error.runtime.attributes.cannotCreateDuplicateRepositoryAttribute` is thrown. This is to prevent several latest RepositoryAttributes with the same `content.value` from existing in parallel. diff --git a/_docs_integrate/data-model-overview.md b/_docs_integrate/data-model-overview.md index a4b0d0a50..0264a92b3 100644 --- a/_docs_integrate/data-model-overview.md +++ b/_docs_integrate/data-model-overview.md @@ -814,14 +814,12 @@ An Attribute is some piece of information about an Identity itself (e.g. its nam IdentityAttributes describe an Identity itself. Their values are strongly normalized. There is a list of available values [here]({% link _docs_integrate/attribute-values.md %}). -| Name | Type | Description | -| --------- | ---------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | -| @type | `"IdentityAttribute"` | | -| owner | `string` | The Identity that owns this Attribute. Only the owner of an Attribute is allowed to change it after its creation. | -| validFrom | `string` \| `undefined` | The date from which on the Attribute is valid. Could be in the future if the Attribute is not yet valid. | -| validTo | `string` \| `undefined` | The date until this Attribute is valid. Could be in the past if the Attribute is already expired. | -| value | [`IdentityAttributeValue`]({% link _docs_integrate/attribute-values.md %}#identity-attributes) | The Attribute's value. | -| tags | `string[]` \| `undefined` | To specify additional information. | +| Name | Type | Description | +| ----- | ---------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| @type | `"IdentityAttribute"` | | +| owner | `string` | The Identity that owns this Attribute. Only the owner of an Attribute is allowed to change it after its creation. | +| value | [`IdentityAttributeValue`]({% link _docs_integrate/attribute-values.md %}#identity-attributes) | The Attribute's value. | +| tags | `string[]` \| `undefined` | To specify additional information. | ### RelationshipAttribute @@ -831,8 +829,6 @@ RelationshipAttributes describe an Identity in the context of a Relationship. Wh | --------------- | ------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | | @type | `"RelationshipAttribute"` | | | owner | `string` | The Identity that owns this Attribute. Only the owner of an Attribute is allowed to change it after its creation. | -| validFrom | `string` \| `undefined` | The date from which on the Attribute is valid. Could be in the future if the Attribute is not yet valid. | -| validTo | `string` \| `undefined` | The date until this Attribute is valid. Could be in the past if the Attribute is already expired. | | key | `string` | An arbitrary key that is set by the creator of this Attribute. It is used to identify the Attribute in a query, especially by a third party. Example: you could set something like `customerId` in case of a customer id. | | isTechnical | `boolean` \| `undefined` | Defines whether the RelationshipAttribute contains data that is actually relevant for the user (`isTechnical=false`) or whether it should be hidden in the UI (`isTechnical=true`). | | value | [`RelationshipAttributeValue`]({% link _docs_integrate/attribute-values.md %}#relationship-attributes) | The Attribute's value. | @@ -849,8 +845,6 @@ An `IdentityAttributeQuery` is used to query for IdentityAttributes. For that, i | Name | Type | Description | | --------- | -------------------------- | --------------------------------------------------------------------------------------------------- | | @type | `"IdentityAttributeQuery"` | | -| validFrom | `string` \| `undefined` | The start date of the time frame the returned Attribute should be valid in. | -| validTo | `string` \| `undefined` | The end date of the time frame the returned Attribute should be valid in. | | valueType | `string` | The type of value that should be queried, e.g. `"StreetAddress"`, `"BirthDate"` or `"Nationality"`. | | tags | `string[]` \| `undefined` | To specify additional information. | @@ -863,8 +857,6 @@ There are cases in which you want to query some data from your peer that is not | Name | Type | Description | | ---------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | | @type | `"RelationshipAttributeQuery"` | | -| validFrom | `string` \| `undefined` | The start date of the time frame the returned Attribute should be valid in. | -| validTo | `string` \| `undefined` | The end date of the time frame the returned Attribute should be valid in. | | key | `string` | The key of the RelationshipAttribute that should be queried. | | owner | `string` | The owner of the queried RelationshipAttribute. | | attributeCreationHints | [`RelationshipAttributeCreationHints`](#relationshipattributecreationhints) | Contains information about the value that will be created, like the value type or its confidentiality. | @@ -910,8 +902,6 @@ If you want to query RelationshipAttributes the Recipient has in the context of | Name | Type | Description | | ---------- | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | @type | `"ThirdPartyRelationshipAttributeQuery"` | | -| validFrom | `string` \| `undefined` | The start date of the time frame the returned RelationshipAttribute should be valid in. | -| validTo | `string` \| `undefined` | The end date of the time frame the returned RelationshipAttribute should be valid in. | | key | `string` | The `key` of the RelationshipAttribute that should be queried. | | owner | `"recipient"` \| `"thirdParty"` \| `""` | The `owner` of the queried RelationshipAttribute. Specify the string `"recipient"` if the Recipient should be the `owner` of the queried RelationshipAttribute. Use the string `"thirdParty"` if any of the third parties specified in the array string `thirdParty` should be the `owner`. If both the Recipient and each of the given third parties may be the `owner`, an empty string `""` must be specified. Using this option is useful if the `owner` of the queried RelationshipAttribute is not known in advance. | | thirdParty | `string[]` | The third parties the RelationshipAttribute should be queried from. An `address` from this array will match the `shareInfo.thirdPartyAddress` property of a [ThirdPartyRelationshipAttribute](#localattribute). | diff --git a/_docs_integrate/exchange-files-using-attributes.md b/_docs_integrate/exchange-files-using-attributes.md index 8c6263b23..3ad2f4471 100644 --- a/_docs_integrate/exchange-files-using-attributes.md +++ b/_docs_integrate/exchange-files-using-attributes.md @@ -55,13 +55,11 @@ By [sending a suitable Request]({% link _docs_integrate/share-attributes-with-pe ## Create an IdentityFileReference After [uploading the File](#upload-a-file), an [IdentityAttribute]({% link _docs_integrate/data-model-overview.md %}#identityattribute) with an [IdentityFileReference]({% link _docs_integrate/attribute-values.md %}#identityfilereference) as its `value.@type` and the `truncatedReference` of the uploaded [File]({% link _docs_integrate/data-model-overview.md %}#file) as its `value.value` can be created by proceeding as described in the documentation on how to [create an IdentityAttribute for yourself]({% link _docs_integrate/create-attributes-for-yourself.md %}#create-an-identityattribute-for-yourself). -The following `content` can be used during the creation process, with its properties `validFrom`, `validTo` and `tags` being optional: +The following `content` can be used during the creation process, with its property `tags` being optional: ```jsonc { "content": { - "validFrom": "", - "validTo": "", "value": { "@type": "IdentityFileReference", "value": "" diff --git a/_docs_integrate/request-and-response-introduction.md b/_docs_integrate/request-and-response-introduction.md index 716c0ce29..7d637dce4 100644 --- a/_docs_integrate/request-and-response-introduction.md +++ b/_docs_integrate/request-and-response-introduction.md @@ -229,9 +229,7 @@ This section gives an example of a [Request]({% link _docs_integrate/data-model- "@type": "Surname", "value": "" }, - "tags": [""], - "validFrom": "", - "validTo": "" + "tags": [""] } }, { @@ -253,9 +251,7 @@ This section gives an example of a [Request]({% link _docs_integrate/data-model- "@type": "GivenName", "value": "" }, - "tags": [""], - "validFrom": "", - "validTo": "" + "tags": [""] }, "query": { "@type": "IdentityAttributeQuery", @@ -270,9 +266,7 @@ This section gives an example of a [Request]({% link _docs_integrate/data-model- "query": { "@type": "IdentityAttributeQuery", "valueType": "BirthDate", - "tags": [""], - "validFrom": "", - "validTo": "" + "tags": [""] } }, { @@ -283,9 +277,7 @@ This section gives an example of a [Request]({% link _docs_integrate/data-model- "query": { "@type": "IdentityAttributeQuery", "valueType": "StreetAddress", - "tags": [""], - "validFrom": "", - "validTo": "" + "tags": [""] } }, { @@ -300,9 +292,7 @@ This section gives an example of a [Request]({% link _docs_integrate/data-model- "@type": "DisplayName", "value": "" }, - "tags": [""], - "validFrom": "", - "validTo": "" + "tags": [""] }, "sourceAttributeId": "" } diff --git a/_docs_use-cases/use-case-consumption-get-attributes.md b/_docs_use-cases/use-case-consumption-get-attributes.md index a95cd6064..48fbbeb22 100644 --- a/_docs_use-cases/use-case-consumption-get-attributes.md +++ b/_docs_use-cases/use-case-consumption-get-attributes.md @@ -57,7 +57,6 @@ This use case is intended to query [LocalAttributes]({% link _docs_integrate/dat - The fields of the `shareInfo` describe if the LocalAttribute is shared with a peer and specify its [LocalAttributeShareInfo]({% link _docs_integrate/data-model-overview.md %}#localattributeshareinfo). - The fields of the `deletionInfo` describe the [LocalAttributeDeletionInfo]({% link _docs_integrate/data-model-overview.md %}#localattributedeletioninfo) of a shared LocalAttribute. - `isDefault` states whether a RepositoryAttribute is the default for its value type. -- If `onlyValid` is set to `true`, LocalAttributes that exceed their validity frame defined by `validFrom` and `validTo` will not be returned. - If `hideTechnical` is set to `true`, RelationshipAttributes with `isTechnical` `true` will not be returned. ## On Success diff --git a/_docs_use-cases/use-case-consumption-get-own-shared-attributes.md b/_docs_use-cases/use-case-consumption-get-own-shared-attributes.md index dfaf9f34e..9b6adec5f 100644 --- a/_docs_use-cases/use-case-consumption-get-own-shared-attributes.md +++ b/_docs_use-cases/use-case-consumption-get-own-shared-attributes.md @@ -55,7 +55,6 @@ This use case is intended to retrieve Attributes that the current Identity share or a [RelationshipAttribute]({% link _docs_integrate/data-model-overview.md %}#relationshipattribute)). - The fields of the `shareInfo` describe if the LocalAttribute is shared with a peer and specify its [LocalAttributeShareInfo]({% link _docs_integrate/data-model-overview.md %}#localattributeshareinfo). - The fields of the `deletionInfo` describe the [LocalAttributeDeletionInfo]({% link _docs_integrate/data-model-overview.md %}#localattributedeletioninfo) of a shared LocalAttribute. -- If `onlyValid` is set to `true`, LocalAttributes that exceed their validity frame defined by `validFrom` and `validTo` will not be returned. - If `hideTechnical` is set to `true`, RelationshipAttributes with `isTechnical` `true` will not be returned. - Optionally, `onlyLatestVersions` can be disabled, such that in case of [Attribute succession]({% link _docs_integrate/update-attributes-by-succession.md %}) all versions will be returned. diff --git a/_docs_use-cases/use-case-consumption-get-peer-shared-attributes.md b/_docs_use-cases/use-case-consumption-get-peer-shared-attributes.md index dabf1af6e..cca532b07 100644 --- a/_docs_use-cases/use-case-consumption-get-peer-shared-attributes.md +++ b/_docs_use-cases/use-case-consumption-get-peer-shared-attributes.md @@ -55,7 +55,6 @@ This use case is intended to retrieve Attributes that a peer has shared with the or a [RelationshipAttribute]({% link _docs_integrate/data-model-overview.md %}#relationshipattribute)). - The fields of the `shareInfo` describe if the LocalAttribute is shared with a peer and specify its [LocalAttributeShareInfo]({% link _docs_integrate/data-model-overview.md %}#localattributeshareinfo). - The fields of the `deletionInfo` describe the [LocalAttributeDeletionInfo]({% link _docs_integrate/data-model-overview.md %}#localattributedeletioninfo) of a shared LocalAttribute. -- If `onlyValid` is set to `true`, LocalAttributes that exceed their validity frame defined by `validFrom` and `validTo` will not be returned. - If `hideTechnical` is set to `true`, RelationshipAttributes with `isTechnical` `true` will not be returned. - Optionally, `onlyLatestVersions` can be disabled, such that in case of [Attribute succession]({% link _docs_integrate/update-attributes-by-succession.md %}) all versions will be returned. diff --git a/_docs_use-cases/use-case-consumption-succeed-a-relationshipattribute-and-notify-peer.md b/_docs_use-cases/use-case-consumption-succeed-a-relationshipattribute-and-notify-peer.md index f64bac91a..89a885861 100644 --- a/_docs_use-cases/use-case-consumption-succeed-a-relationshipattribute-and-notify-peer.md +++ b/_docs_use-cases/use-case-consumption-succeed-a-relationshipattribute-and-notify-peer.md @@ -52,7 +52,7 @@ It triggers the succession of their peer shared RelationshipAttribute in the sam ## Parameters - `predecessorId`: the `id` of the LocalAttribute with the RelationshipAttribute `content` you want to succeed -- The updated `successorContent` limited to the `value`, `validFrom` and `validTo` properties of a [RelationshipAttribute]({% link _docs_integrate/data-model-overview.md %}#relationshipattribute) that may be changed by a succession +- The updated `successorContent` limited to the `value` property of a [RelationshipAttribute]({% link _docs_integrate/data-model-overview.md %}#relationshipattribute) that may be changed by a succession ## On Success diff --git a/assets/js/iql-demo.js b/assets/js/iql-demo.js index 1426565cf..1cc70d8e3 100644 --- a/assets/js/iql-demo.js +++ b/assets/js/iql-demo.js @@ -4,11 +4,11 @@ "use strict"; r.r(t), r.d(t, { attributes: () => n }); const n = [ - { value: { "@type": "PhoneNumber", value: "06221/215221" }, validFrom: "2011-01-01T00:00:00", validTo: "2013-01-01T00:00:00" }, - { value: { "@type": "PhoneNumber", value: "06221/553132" }, tags: ["emergency"], validFrom: "2021-02-03T00:00:00", validTo: "2024-01-01T00:00:00" }, + { value: { "@type": "PhoneNumber", value: "06221/215221" } }, + { value: { "@type": "PhoneNumber", value: "06221/553132" }, tags: ["emergency"] }, { value: { "@type": "Website", value: "https://enmeshed.eu" } }, - { value: { "@type": "GivenName", value: "Steven-Nicholas" }, validFrom: "2020-01-01T00:00:00", validTo: "2023-11-01T00:00:00" }, - { value: { "@type": "LastName", value: "O'Malley" }, validFrom: "2021-01-01T00:00:00", validTo: "2023-12-01T00:00:00" }, + { value: { "@type": "GivenName", value: "Steven-Nicholas" } }, + { value: { "@type": "LastName", value: "O'Malley" } }, { value: { "@type": "StreetAddress", @@ -43,9 +43,7 @@ "urn:xbildung-de:unesco:codeliste:isced2011=647", "content:edu.de.higher.certOfEnrolment", "language:es" - ], - validFrom: "2021-01-01T00:00:00", - validTo: "2023-01-01T00:00:00" + ] } ]; },