* enhancement: add graph beta listPermissions endpoint
besides the new api endpoint it includes several utilities to simplify the graph api development.
* resolve drive and item id from the request path
* generic pointer and value utilities
* space root detection
* update GetDriveAndItemIDParam signature to return a error
* move errorcode package
* enhancement: add generic error code handling
* fix: rebase
* unifiedrole: Add CS3ResourcePermissionsToLibregraphActions
Add function to convert CS3ResourcePermsissions to libregraph actions
* unifiedrole: Fix strings for the UnifiedRoleConditionSelf
The "Self/Owner/Grantee" string are not part the the constraint value
* graph: Move getRoleDefinitionList to unifiedrole module
rename it to GetBuiltinRoleDefinitionList and make it public
* graph: turn libregraph resource actions into string constants
* graph/sharedbyme: Set the correct roles (or actions) on permissions
Try to map CS3 resource permissions on a share to one of the default libregraph
UnifiedRoleDefinitions. If a match if found return the roleid in 'permissions.roles'
attribute of the response. If no match if found convert the
ResourcePermissions in to `libre.graph.permissions.actions` and return
those in the response.
Set the exipration date, grantedToV2 and link attributes on the
permissions.
The displayName for users and groups isn't expanded yet (only the "id" is set)
Also, the "roles" attribute cannot be populated yet.
This adds a still incomplete implementation of the new /me/drives/sharedByMe
endpoint. For now it only sets the driveItem Id property. The 'permissions' relation
is not supported yet.
This endpoint is added to the /v1beta1 route, to indicate that it is
still imcomplete and might require changes.