nextcloud/lib/private/OCM
Micke Nordin 41e9022100 fix(ocm): merge resource types by name in discovery
Current code blindy adds any resources to the ocm disocvery, this makes
it so that different cloud federation providers can not add different
protocols for the same resourceType without the resourceType being
duplicated, something that OCM does not allow:

```
REQUIRED: resourceTypes (array) - A list of all resource types this
server supports in both the Sending Server role and the Receiving
Server role, with their access protocols. Each item in this list MUST
itself be an object containing the following fields:

name (string) - A supported resource type (file, calendar, contact, ...).
Implementations MUST offer support for at least one resource type, where
file is the commonly supported one. Each resource type is identified by
its name: the list MUST NOT contain more than one resource type object
per given name.

...
```

https://datatracker.ietf.org/doc/html/draft-ietf-ocm-open-cloud-mesh-04#name-fields

This patch changes this behaviour from this example result:
```
   {
      "name": "folder",
      "shareTypes": [
        "user"
      ],
      "protocols": {
        "webapp": {}
      }
    },
    {
      "name": "folder",
      "shareTypes": [
        "user"
      ],
      "protocols": {
        "webapp-receive": {
          "targets": [
            "blank",
            "iframe"
          ]
        }
      }
```

to:

```
{
      "name": "folder",
      "shareTypes": [
        "user"
      ],
      "protocols": {
        "webapp": {},
        "webapp-receive": {
          "targets": [
            "blank",
            "iframe"
          ]
        }
      }
```

which is the correct behaviour according to OCM.

Signed-off-by: Micke Nordin <kano@sunet.se>
2026-06-16 11:30:24 +02:00
..
Model fix(ocm): merge resource types by name in discovery 2026-06-16 11:30:24 +02:00
OCMDiscoveryHandler.php chore: add missing Override attribute to OC 2026-04-28 21:29:27 +02:00
OCMDiscoveryService.php chore: Apply new coding standard to all files 2026-06-01 13:46:39 +02:00
OCMJwksHandler.php fix: Make sodium optional 2026-05-27 11:03:55 +02:00
OCMSignatoryManager.php chore: Apply new coding standard to all files 2026-06-01 13:46:39 +02:00
Rfc9421SignatoryManager.php fix: Make sodium optional 2026-05-27 11:03:55 +02:00