/// <summary> /// Create a permissions string to provide /// <see cref="ShareSasBuilder.Permissions"/>. /// </summary> /// <returns>A permissions string.</returns> internal static string ToPermissionsString(this ShareAccountSasPermissions permissions) { var sb = new StringBuilder(); if ((permissions & ShareAccountSasPermissions.Read) == ShareAccountSasPermissions.Read) { sb.Append(Constants.Sas.Permissions.Read); } if ((permissions & ShareAccountSasPermissions.Add) == ShareAccountSasPermissions.Add) { sb.Append(Constants.Sas.Permissions.Add); } if ((permissions & ShareAccountSasPermissions.Create) == ShareAccountSasPermissions.Create) { sb.Append(Constants.Sas.Permissions.Create); } if ((permissions & ShareAccountSasPermissions.Write) == ShareAccountSasPermissions.Write) { sb.Append(Constants.Sas.Permissions.Write); } if ((permissions & ShareAccountSasPermissions.Delete) == ShareAccountSasPermissions.Delete) { sb.Append(Constants.Sas.Permissions.Delete); } if ((permissions & ShareAccountSasPermissions.List) == ShareAccountSasPermissions.List) { sb.Append(Constants.Sas.Permissions.List); } return(sb.ToString()); }
/// <summary> /// Sets the permissions for a file account level SAS. /// </summary> /// <param name="permissions"> /// <see cref="ShareAccountSasPermissions"/> containing the allowed permissions. /// </param> public void SetPermissions(ShareAccountSasPermissions permissions) { Permissions = permissions.ToPermissionsString(); }