Skip to content

Commit

Permalink
feat: incorporate review comments
Browse files Browse the repository at this point in the history
  • Loading branch information
britsta committed Dec 16, 2024
1 parent 76ebff6 commit 015e5c5
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 9 deletions.
12 changes: 8 additions & 4 deletions _docs_integrate/delete-attributes.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,8 +111,10 @@ Moreover, if the peer shared Attribute had a successor, its `succeeds` property
Then, a [Notification]({% link _docs_integrate/data-model-overview.md %}#notification) with a [PeerSharedAttributeDeletedByPeerNotificationItem]({% link _docs_integrate/data-model-overview.md %}#peersharedattributedeletedbypeernotificationitem) is generated and sent to the owner of the peer shared Attribute, informing them that you deleted the Attribute they shared with you.
Consequently, the `deletionInfo` of their corresponding own shared Attribute and of all potential predecessors is updated with `deletionStatus` `"DeletedByPeer"` and the time of receiving the Notification as `deletionDate`.
In case the owner already [deleted their own shared Attribute](#delete-own-shared-attributes), nothing happens.
Please further note that the Notification is queued if the [Relationship is currently terminated]({% link _docs_integrate/terminate-relationships.md %}#terminate-an-active-relationship).
It can then only be received and processed once the [Relationship has been reactivated]({% link _docs_integrate/terminate-relationships.md %}#reactivate-a-terminated-relationship).
Please further note that the Notification is queued if the [Relationship is currently terminated]({% link _docs_integrate/terminate-relationships.md %}#terminate-an-active-relationship) but not yet decomposed.
It can then only be received and processed if the [Relationship has been reactivated]({% link _docs_integrate/terminate-relationships.md %}#reactivate-a-terminated-relationship).
The Notification is also queued if the [peer is currently in deletion]({% link _docs_integrate/delete-identities.md %}#effects-of-identity-deletion-on-relationships) but not yet deleted.
It can then only be received and processed if the peer has [cancelled its deletion]({% link _docs_use-cases/use-case-transport-cancel-identitydeletionprocess.md %}).

<div style="width: 640px; height: 480px; margin: 10px; position: relative;"><iframe allowfullscreen frameborder="0" style="width:640px; height:480px" src="https://lucid.app/documents/embedded/2385af4a-4bfa-43f4-a119-afb51273194d" id="HNEl2zIWWLxc"></iframe></div>

Expand All @@ -134,8 +136,10 @@ Then, a Notification with an [OwnSharedAttributeDeletedByOwnerNotificationItem](
If they already deleted their corresponding peer shared Attribute or marked it for deletion, nothing will change.
However, if the `deletionInfo` of their peer shared Attribute was undefined before, since you didn't send a Request for Attribute deletion or the Request was rejected, a `deletionInfo` will be set.
Its `deletionStatus` will be set to `"DeletedByOwner"` and the `deletionDate` will be the time of receiving the Notification.
Please note that the Notification is queued if the [Relationship is currently terminated]({% link _docs_integrate/terminate-relationships.md %}#terminate-an-active-relationship).
It can then only be received and processed once the [Relationship has been reactivated]({% link _docs_integrate/terminate-relationships.md %}#reactivate-a-terminated-relationship).
Please note that the Notification is queued if the [Relationship is currently terminated]({% link _docs_integrate/terminate-relationships.md %}#terminate-an-active-relationship) but not yet decomposed.
It can then only be received and processed if the [Relationship has been reactivated]({% link _docs_integrate/terminate-relationships.md %}#reactivate-a-terminated-relationship).
Furthermore, the Notification is also queued if the [peer is currently in deletion]({% link _docs_integrate/delete-identities.md %}#effects-of-identity-deletion-on-relationships) but not yet deleted.
It can then only be received and processed if the peer has [cancelled its deletion]({% link _docs_use-cases/use-case-transport-cancel-identitydeletionprocess.md %}).

<div style="width: 640px; height: 480px; margin: 10px; position: relative;"><iframe allowfullscreen frameborder="0" style="width:640px; height:480px" src="https://lucid.app/documents/embedded/9aaf5a91-803b-4180-b0c7-4adb7bc5ced6" id="xQEl1j.jqJxq"></iframe></div>

Expand Down
10 changes: 9 additions & 1 deletion _docs_integrate/terminate-relationships.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,15 @@ It is then no longer possible to reactivate the Relationship.

## Terminate an active Relationship

An active Relationship can be terminated by executing the use case [Terminate Relationship]({% link _docs_use-cases/use-case-transport-terminate-relationship.md %}) providing the `relationshipId` as input. The peer cannot prevent the termination of the Relationship. After the Relationship has been terminated, its `status` is changed to `"Terminated"`. You receive a `transport.relationshipChanged` [event]({% link _docs_integrate/connector-events.md %}), and the peer as well if they use a Connector. Then no [Messages]({% link _docs_integrate/data-model-overview.md %}#message) can be sent from either side, this includes [sending or responding to Requests]({% link _docs_integrate/requests-via-messages.md %}) and [exchanging Attributes]({% link _docs_integrate/attribute-introduction.md %}#attribute-management-options). However, please note that Messages whose `content` is a [Notification]({% link _docs_integrate/data-model-overview.md %}#notification) can still be sent on terminated Relationships. Such Notifications cannot be received directly, but they are queued in case the Relationship is [reactivated](#reactivate-a-terminated-relationship). For example, if certain [Attributes were deleted]({% link _docs_integrate/attribute-introduction.md %}#delete-attributes) or [Attributes were updated by succession]({% link _docs_integrate/attribute-introduction.md %}#update-attributes-by-succession) while the Relationship was terminated, the associated Notifications are transmitted after the reactivation. Therefore, the loss of relevant information is prevented.
An active Relationship can be terminated by executing the use case [Terminate Relationship]({% link _docs_use-cases/use-case-transport-terminate-relationship.md %}) providing the `relationshipId` as input.
The termination of the Relationship does not require the permission of the peer.
After the Relationship has been terminated, its `status` changes to `"Terminated"`.
The Identity which terminated the Relationship and its peer receive a `transport.relationshipChanged` [event]({% link _docs_integrate/connector-events.md %}).
Then no [Messages]({% link _docs_integrate/data-model-overview.md %}#message) can be sent from either side. This includes [sending or responding to Requests]({% link _docs_integrate/requests-via-messages.md %}) and [exchanging Attributes]({% link _docs_integrate/attribute-introduction.md %}#attribute-management-options).
However, please note that Messages whose `content` is a [Notification]({% link _docs_integrate/data-model-overview.md %}#notification) are still sent on terminated Relationships.
Such Notifications cannot be received directly, but they are queued in case the Relationship is [reactivated](#reactivate-a-terminated-relationship).
For example, if certain [Attributes were deleted]({% link _docs_integrate/attribute-introduction.md %}#delete-attributes) or [Attributes were updated by succession]({% link _docs_integrate/attribute-introduction.md %}#update-attributes-by-succession) while the Relationship was terminated, the associated Notifications are transmitted after the reactivation.
Therefore, the loss of relevant information is prevented.

## Reactivate a terminated Relationship

Expand Down
12 changes: 8 additions & 4 deletions _docs_integrate/update-attributes-by-succession.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,10 @@ After succeeding a RepositoryAttribute, you can check [with which of your peers
Your own shared IdentityAttributes associated with the peers chosen will be succeeded in the same manner as your RepositoryAttribute before.
Then, a [Notification]({% link _docs_integrate/data-model-overview.md %}#notification) is sent to the peers, containing a [PeerSharedAttributeSucceededNotificationItem]({% link _docs_integrate/data-model-overview.md %}#peersharedattributesucceedednotificationitem).
In the `successorContent` property of the latter the updated IdentityAttribute is transmitted and automatically a likewise succession at the peers' side will be triggered, such that their LocalAttribute versions replicate the succession chain at your side.
Please note that the Notification is queued if the [Relationship is currently terminated]({% link _docs_integrate/terminate-relationships.md %}#terminate-an-active-relationship).
It can then only be received and processed once the [Relationship has been reactivated]({% link _docs_integrate/terminate-relationships.md %}#reactivate-a-terminated-relationship).
Please note that the Notification is queued if the [Relationship is currently terminated]({% link _docs_integrate/terminate-relationships.md %}#terminate-an-active-relationship) but not yet decomposed.
It can then only be received and processed if the [Relationship has been reactivated]({% link _docs_integrate/terminate-relationships.md %}#reactivate-a-terminated-relationship).
The Notification is also queued if the [peer is currently in deletion]({% link _docs_integrate/delete-identities.md %}#effects-of-identity-deletion-on-relationships) but not yet deleted.
It can then only be received and processed if the peer has [cancelled its deletion]({% link _docs_use-cases/use-case-transport-cancel-identitydeletionprocess.md %}).

<div style="width: 640px; height: 480px; margin: 10px; position: relative;"><iframe allowfullscreen frameborder="0" style="width:640px; height:480px" src="https://lucid.app/documents/embedded/079d7602-95af-4ddf-8fd5-cca5294038d9" id="Fv0-x9lenepV"></iframe></div>

Expand All @@ -112,8 +114,10 @@ Equally to IdentityAttributes, again only the `owner` can [succeed a Relationshi
Doing so, a new version of the own shared RelationshipAttribute will be created at your side.
The `succeeds` property of this LocalAttribute links to the old version, whose `succeededBy` property in turn is updated to the `id` of the newly created successor.
Then, a Notification is sent automatically to the peer, which triggers the creation of a new peer shared RelationshipAttribute at their side, such that their LocalAttribute versions replicate the succession chain at your side.
Please note that the Notification is queued if the [Relationship is currently terminated]({% link _docs_integrate/terminate-relationships.md %}#terminate-an-active-relationship).
It can then only be received and processed once the [Relationship has been reactivated]({% link _docs_integrate/terminate-relationships.md %}#reactivate-a-terminated-relationship).
Please note that the Notification is queued if the [Relationship is currently terminated]({% link _docs_integrate/terminate-relationships.md %}#terminate-an-active-relationship) but not yet decomposed.
It can then only be received and processed if the [Relationship has been reactivated]({% link _docs_integrate/terminate-relationships.md %}#reactivate-a-terminated-relationship).
Furthermore, the Notification is also queued if the [peer is currently in deletion]({% link _docs_integrate/delete-identities.md %}#effects-of-identity-deletion-on-relationships) but not yet deleted.
It can then only be received and processed if the peer has [cancelled its deletion]({% link _docs_use-cases/use-case-transport-cancel-identitydeletionprocess.md %}).

<div style="width: 640px; height: 480px; margin: 10px; position: relative;"><iframe allowfullscreen frameborder="0" style="width:640px; height:480px" src="https://lucid.app/documents/embedded/67c46978-696b-4adf-b04a-cf27d0438f53" id="ww0-.JinZtEX"></iframe></div>

Expand Down

0 comments on commit 015e5c5

Please sign in to comment.