Class OpenBiApiClientPermissionExtensions
- Namespace
- BiExcellence.OpenBi.Api.Permissions
- Assembly
- BiExcellence.OpenBi.Api.Client.dll
Extension methods for the /permissions REST API.
public static class OpenBiApiClientPermissionExtensions
- Inheritance
-
objectOpenBiApiClientPermissionExtensions
Methods
AssignPermissionUsergroupAsync(IOpenBiApiClient, string, string, CancellationToken)
Grants this permission to a usergroup. Members get it with their next access token; a token already issued keeps the scope it was issued with. Idempotent, and the same link as AssignUsergroupPermissionAsync(IOpenBiApiClient, string, string, CancellationToken). Throws OpenBiApiException (404) when the permission or the usergroup does not exist. RemovePermissionUsergroupAsync(IOpenBiApiClient, string, string, CancellationToken) undoes it.
public static Task AssignPermissionUsergroupAsync(this IOpenBiApiClient client, string permissionId, string usergroupId, CancellationToken cancellationToken = default)
Parameters
clientIOpenBiApiClientpermissionIdstringusergroupIdstringcancellationTokenCancellationToken
Returns
- Task
CreatePermissionAsync(IOpenBiApiClient, Permission, CancellationToken)
Creates a permission. Only needed for one the server does not ship - a plugin's own, say; the built-in ones already exist. UpdatePermissionAsync(IOpenBiApiClient, string, Permission, CancellationToken) creates as well, for a caller that picks the id.
public static Task<Permission?> CreatePermissionAsync(this IOpenBiApiClient client, Permission permission, CancellationToken cancellationToken = default)
Parameters
clientIOpenBiApiClientpermissionPermissioncancellationTokenCancellationToken
Returns
- Task<Permission>
DeletePermissionAsync(IOpenBiApiClient, string, CancellationToken)
Deletes a permission. Every usergroup link to it goes too, so the right is withdrawn from everyone at once.
public static Task DeletePermissionAsync(this IOpenBiApiClient client, string id, CancellationToken cancellationToken = default)
Parameters
clientIOpenBiApiClientidstringcancellationTokenCancellationToken
Returns
- Task
GetPermissionAsync(IOpenBiApiClient, string, CancellationToken)
Reads one permission by id. Throws OpenBiApiException (404) when there is no permission with this id.
public static Task<Permission> GetPermissionAsync(this IOpenBiApiClient client, string id, CancellationToken cancellationToken = default)
Parameters
clientIOpenBiApiClientidstringcancellationTokenCancellationToken
Returns
- Task<Permission>
GetPermissionUsergroupsAsync(IOpenBiApiClient, string, OpenBiListRequest?, CancellationToken)
Lists the usergroups that hold this permission - the reverse of GetUsergroupPermissionsAsync(IOpenBiApiClient, string, OpenBiListRequest?, CancellationToken), to answer who can do a thing.
public static Task<OpenBiListResult<Usergroup>> GetPermissionUsergroupsAsync(this IOpenBiApiClient client, string permissionId, OpenBiListRequest? request = null, CancellationToken cancellationToken = default)
Parameters
clientIOpenBiApiClientpermissionIdstringrequestOpenBiListRequestcancellationTokenCancellationToken
Returns
- Task<OpenBiListResult<Usergroup>>
GetPermissionsAsync(IOpenBiApiClient, OpenBiListRequest?, CancellationToken)
Lists permissions, with the shared list options of request. A permission id is what the
routes check; it is granted by linking it to a usergroup (AssignPermissionUsergroupAsync(IOpenBiApiClient, string, string, CancellationToken)).
public static Task<OpenBiListResult<Permission>> GetPermissionsAsync(this IOpenBiApiClient client, OpenBiListRequest? request = null, CancellationToken cancellationToken = default)
Parameters
clientIOpenBiApiClientrequestOpenBiListRequestcancellationTokenCancellationToken
Returns
- Task<OpenBiListResult<Permission>>
QueryPermissionsAsync(IOpenBiApiClient, OpenBiListRequest?, CancellationToken)
Lists permissions with the options in the request body instead of in the query string - the QUERY-method
form of the list route, for filters that do not fit in a URL.
public static Task<OpenBiListResult<Permission>> QueryPermissionsAsync(this IOpenBiApiClient client, OpenBiListRequest? request = null, CancellationToken cancellationToken = default)
Parameters
clientIOpenBiApiClientrequestOpenBiListRequestcancellationTokenCancellationToken
Returns
- Task<OpenBiListResult<Permission>>
RemovePermissionUsergroupAsync(IOpenBiApiClient, string, string, CancellationToken)
Revokes this permission from a usergroup. The group's members lose it with their next access token - a token already issued keeps it until it expires - and members who hold it through another group keep it. Removing a link that is not there is not an error.
public static Task RemovePermissionUsergroupAsync(this IOpenBiApiClient client, string permissionId, string usergroupId, CancellationToken cancellationToken = default)
Parameters
clientIOpenBiApiClientpermissionIdstringusergroupIdstringcancellationTokenCancellationToken
Returns
- Task
UpdatePermissionAsync(IOpenBiApiClient, string, Permission, CancellationToken)
Creates or updates the permission with this id: an id that is not there yet is inserted rather than answered with a 404.
public static Task<Permission?> UpdatePermissionAsync(this IOpenBiApiClient client, string id, Permission permission, CancellationToken cancellationToken = default)
Parameters
clientIOpenBiApiClientidstringpermissionPermissioncancellationTokenCancellationToken
Returns
- Task<Permission>