# 1. Invite a test user with `Analytics (Workstation)` access to Vendor 7123

[01_add-access-Profile-cdc.md](./01_add-access-Profile-cdc.md) shows the `cdc.musicGraphV5.profile`
event. It has:

```json
 "roles": {
    "type": "LS",
    "LS": [
      "catalog",
      "analytics"
    ],
  },
```

# 2. Revoke access for the test user for Vendor 7123

[02_revoke-access-DELETED_HAS_ACCESS-cdc-event.md](./02_revoke-access-DELETED_HAS_ACCESS-cdc-event.md) shows
the `cdc.musicGraphV5.deletedHasAccessTo` event.


The event has `"operation": "CREATE"`.

```json
{
  "event": {
    "elementId": "5:ef704c4b-6d7b-4fb5-ac23-fc8b40d0952c:1152964386526848755",
    "eventType": "RELATIONSHIP",
    "operation": "CREATE",
    "type": "DELETED_HAS_ACCESS_TO",
    ...
  }
}
```

Both the edge and the Profile node have an updated `lastModifiedAt`. So, a 
`revoke` request to ows-permissions will create CDC events to both topics.

- `DELETED_HAS_ACCESS_TO` edge has `lastModifiedAt: 2026-04-02T18:16:25.579000000Z`
- `Profile` node has `lastModifiedAt: 2026-04-02T18:16:25.579000000Z`

Also, notice that the `Profile.roles` still has `roles: ["catalog", "analytics"]`.


# 3. Invite the test user to Vendor 7123 with identitical access as before

[03_add_access_again_DELETED_HAS_ACCESS.md](./03_add_access_again_DELETED_HAS_ACCESS.md) has the 
`cdc.musicGraphV5.deletedHasAccessTo` event.

```json
{
    "event": {
      "elementId": "5:ef704c4b-6d7b-4fb5-ac23-fc8b40d0952c:1152964386526848755",
      "eventType": "RELATIONSHIP",
      "operation": "DELETE",
      "type": "DELETED_HAS_ACCESS_TO"
    }
}
```

Both the edge and the Profile have an updated `lastModifiedAt`. So, an 
attach request to ows-permissions for the same Permissions will create 
CDC events to both topics.

- `DELETED_HAS_ACCESS_TO` edge has `lastModifiedAt: 2026-04-02T18:40:41.602000000Z`
- `Profile` node has `lastModifiedAt: 2026-04-02T18:40:41.602000000Z`

