Skip to content

[FEATURE REQUEST] Edit a space member #4724

@jesmrec

Description

@jesmrec

An existing member inside of an space can be edited. There are two values to be edited:

  • Permission: it's mandatory, so it can be changed but removed.
  • Expiration date: it could be either changed of removed.

Scratch point: the list of available members in the space (not empty)

Image

Only space managers can edit permission or expiration date of an existing member. Associated permission: libre.graph/driveItem/permissions/update

Options to let users edit:

  • Adding a pencil like the regular sharing in the member's row will keep consistency across the app
  • Making the row clickable, but is hidden
  • A disclosure icon like iOS, not sure if Android native

Important restriction: an space must always have at least one manager. That means, if a space only has one manager, that manager is not editable:

  • Role can not be changed
  • No expiration date allowed

View to edit, to be the same as in the creation step like:

Image

Request to send the edit in a PATCH over:

graph/v1beta1/drives/<drive-id>/root/permissions/u:<user-id>

with the following body:

{
    "expirationDateTime": "2025-11-27T11:44:21.309Z",
    "grantedToV2": {
        "user": {
            "@libre.graph.userType": "Member",
            "displayName": "user2",
            "id": "89752841-621d-46f3-9938-e95f79aedfb5"
        }
    },
    "id": "u:89752841-621d-46f3-9938-e95f79aedfb5",
    "roles": [
        "a8d5fe5e-96e3-418d-825b-534dbdf22b99"
    ]
}

expirationDateTime field is gone if there is no expiration date

TASKS

  • Research (if needed)
  • Create branch feature/feature_name
  • Development tasks
    • Implement whatever
    • ...
    • Implement unit tests (if needed)
  • Code review and apply changes requested
  • Design test plan
  • QA
  • Merge branch feature/feature_name into master

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions