Files
opencloud/services
Pedro Pinto Silva 864e20028f feat(collaboration): add UserExtraInfo with avatar and mail to CheckFileInfo
Add UserExtraInfo (avatar + mail) to the WOPI CheckFileInfo response for
authenticated, non-public-share users.

UserExtraInfo format (per Collabora SDK):
https://sdk.collaboraonline.com/docs/advanced_integration.html#userextrainfo

```json
{
  "avatar": "http://url/to/user/avatar",
  "mail": "user@server.com"
}
```

After this change, CheckFileInfo returns:

```json
{
  "BaseFileName": "Pedro-filled-hazcom.docx",
  "UserFriendlyName": "Admin",
  "UserId": "346364...39323030",
  "UserCanWrite": true,
  "UserCanRename": true,
  "IsAdminUser": true,
  "EnableInsertRemoteImage": true,
  "EnableInsertRemoteFile": true,
  "EnableOwnerTermination": true,
  "UserExtraInfo": {
    "avatar": "https://host:9300/wopi/avatars/{userID}?access_token={wopiToken}",
    "mail": "admin@example.org"
  },
  "PostMessageOrigin": "https://localhost:9200",
  "message": "CheckFileInfo: success"
}
```

Avatars are served via a new /wopi/avatars/{userID} endpoint on the
collaboration service, authenticated by the WOPI token. The endpoint
calls the Graph service directly (bypassing the proxy) using the reva
access token via x-access-token header.

All tests pass:
go test ./services/collaboration/... ./services/graph/... ./services/proxy/...

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
2026-04-09 09:08:26 +02:00
..
2026-03-30 00:18:52 +00:00
2026-01-08 14:16:31 +01:00
2026-01-08 14:16:31 +01:00
2026-01-08 14:16:31 +01:00
2026-01-08 14:16:31 +01:00
2026-01-08 14:16:31 +01:00
2026-01-08 14:16:31 +01:00
2026-01-08 14:16:31 +01:00
2026-01-08 14:16:31 +01:00
2026-01-08 14:16:31 +01:00
2026-03-30 14:51:00 +02:00
2026-03-30 00:18:52 +00:00
2026-01-08 14:16:31 +01:00
2026-01-08 14:16:31 +01:00
2026-01-08 14:16:31 +01:00
2026-01-08 14:16:31 +01:00
2026-03-30 00:18:52 +00:00
2026-03-30 14:51:00 +02:00
2026-01-08 13:08:45 +01:00
2026-03-30 10:32:24 +02:00
2026-03-30 00:18:52 +00:00
2026-01-08 14:16:31 +01:00
2026-01-08 13:27:37 +01:00
2026-03-28 00:05:41 +00:00
2026-01-08 13:42:54 +01:00
2026-03-30 11:39:22 +02:00
2026-03-30 14:51:00 +02:00