nextcloud/lib
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
..
composer fix: Use token expiration for ephemeral sessions 2026-06-15 15:28:38 +02:00
l10n fix(l10n): Update translations from Transifex 2026-06-16 00:23:06 +00:00
private fix(ocm): merge resource types by name in discovery 2026-06-16 11:30:24 +02:00
public feat(snowflake): allows to generate Snowflake IDs matching a timestamp 2026-06-12 13:53:10 +02:00
unstable chore: Apply new coding standard to all files 2026-06-01 13:46:39 +02:00
base.php refactor: Fix rebasing issues 2026-06-05 11:03:04 +02:00
OC.php test: don't trigger file cache gc during tests 2026-06-08 15:38:32 +02:00
versioncheck.php chore(PHP): Drop 8.2 for Nextcloud 35 2026-06-12 11:11:50 +02:00