getAuthoriser function

Future<String> getAuthoriser({
  1. bool isExternalRes = false,
  2. bool isGranter = false,
  3. String? webId,
})

Standardise retrieval of authoriser (ownerWebId or granterWebId) for a resource in GrantPermissionUi

Parameters:

  • isExternalRes - flag describing whether fileName being shared is a file.
  • webId - use webId if provided, else fetch user webId.

Implementation

Future<String> getAuthoriser({
  bool isExternalRes = false,
  bool isGranter = false,
  String? webId,
}) async {
  assert(
    // Requires ownerWebId if resource
    // is an externally owned.
    isExternalRes == false || isGranter == true || webId != null,
    'webId must be provided if isExternalRes == true and authoriser is owner',
  );
  // If fetching granterWebId, assume granter == user
  if (isGranter) {
    return await AuthDataManager.getWebId() as String;
  }
  // If fetching ownerWebId for external resource, require webId to
  // be provided
  return isExternalRes ? webId! : await AuthDataManager.getWebId() as String;
}