Skip to content

[FEATURE REQUEST] List links over a space #4752

@jesmrec

Description

@jesmrec

Spaces can be pointed with a link that is created in the Space's options. Link is intended to be copied and pasted in a web browser to check the content inside. It can be protected with a password and an expiration date.

In terms of UI, Links section is included in the Members section, below the list of members (as the web and iOS clients). On Android side, a new header Links can be created with the same design than the Members header.

Every link will fill a row, same as the members. iOS example:

Image

It shows name, permission level, link, and expiration date. IMO, link not necessary there.

List of links is available for everyone with libre.graph/driveItem/permissions/read permission. Also, copying the link is also available for everyone with such permission.

When no links are available, it should be correctly shown with a message like No links available or No links created yet

REQUEST

GET https://<url>/graph/v1beta1/drives/<drive-id>/root/permissions

last entries of the response with the list of existing links looks like that:

        {
            "createdDateTime": "2026-01-12T10:08:39.764335893Z",
            "hasPassword": true,
            "id": "jGjfJjubYXPHtGn",
            "link": {
                "@libre.graph.displayName": "Secret",
                "@libre.graph.quickLink": false,
                "preventsDownload": false,
                "type": "createOnly",
                "webUrl": "https://<url>/s/OquwFbuGPeZOWgF"
            }
        },
        {
            "createdDateTime": "2025-12-18T11:53:09.801445412Z",
            "hasPassword": true,
            "id": "YqiiKVjbOtpnkhM",
            "link": {
                "@libre.graph.displayName": "Unnamed link",
                "@libre.graph.quickLink": false,
                "preventsDownload": false,
                "type": "view",
                "webUrl": "https://<url>/s/efqwHCEfbjMrMqe"
            }
        },
        {
            "createdDateTime": "2026-01-12T10:08:25.408268119Z",
            "hasPassword": true,
            "id": "jICMXjlnzxsQuQY",
            "link": {
                "@libre.graph.displayName": "Edit",
                "@libre.graph.quickLink": false,
                "preventsDownload": false,
                "type": "edit",
                "webUrl": "https://<url>/s/JmqgIzFKGuIIMVT"
            }
        }
JSON Fields Description Notes
createdDateTime Timestamp of link creation Not relevant for this issue ❌
hasPassword If the link is password protected Not relevant for this issue ❌
id Link id -
@libre.graph.displayName Name for the link to show in the list -
@libre.graph.quickLink Seems to be always false Not relevant for this issue ❌
preventsDownload Seems to be always false Not relevant for this issue ❌
type Level of permission: createOnly, view, edit Mapped to Secret file drop, Can view and Can edit (hardcoded?)
webUrl Link to the space -

As tasks for this issue

  • Add the new header with PUBLIC LINKS title
  • List the existing links with permissions and expiration date (similar to Members) or the message if there is no links available
  • Add the chain icon to share the link. Same as the public links in sharing.

TASKS

  • Research (if needed)
  • Create branch feature/list_links_over_a_space
  • Development tasks
    • Create the new layout for public links
    • Display all available public links
    • ...
    • Implement unit tests (if needed)
  • Code review and apply changes requested
  • Design test plan
  • QA
  • Merge branch feature/list_links_over_a_space into master

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions