Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Arch Board comments #47409

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ public static partial class FilesModelFactory
/// <summary>
/// Creates a new StorageFileDownloadProperties instance for mocking.
/// </summary>
public static FilePosixProperties FileNfsProperties(
public static FilePosixProperties FilePosixProperties(
NfsFileMode fileMode,
string owner,
string group,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,14 +74,34 @@ public override bool Equals(object other)
public override int GetHashCode() => base.GetHashCode();
}

/// <summary>
/// FilesModelFactory provides utilities for mocking.
/// </summary>
/// <summary>
/// FilesModelFactory provides utilities for mocking.
/// </summary>
public static partial class FilesModelFactory
{
/// <summary>
/// Creates a new FileSmbProperties instance for mocking.
/// </summary>
public static FileSmbProperties FileSmbProperties(
DateTimeOffset? fileChangedOn,
string fileId,
string parentId) => new FileSmbProperties
{
FileChangedOn = fileChangedOn,
FileId = fileId,
ParentId = parentId
};
}

/// <summary>
/// FilesModelFactory provides utilities for mocking.
/// </summary>
public static partial class SharesModelFactory
{
/// <summary>
/// Creates a new FileSmbProperties instance for mocking.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public static FileSmbProperties FileSmbProperties(
DateTimeOffset? fileChangedOn,
string fileId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,17 @@ public class NfsFileMode
/// <summary>
/// Permissions the owner has over the file or directory.
/// </summary>
public RolePermissions Owner { get; set; }
public PosixRolePermissions Owner { get; set; }

/// <summary>
/// Permissions the group has over the file or directory.
/// </summary>
public RolePermissions Group { get; set; }
public PosixRolePermissions Group { get; set; }

/// <summary>
/// Permissions other have over the file or directory.
/// </summary>
public RolePermissions Other { get; set; }
public PosixRolePermissions Other { get; set; }

/// <summary>
/// Set effective user ID (setuid) on the file or directory.
Expand Down Expand Up @@ -201,5 +201,8 @@ public static NfsFileMode ParseSymbolicFileMode(string modeString)

return nfsFileMode;
}

/// <inheritdoc />
public override string ToString() => ToSymbolicFileMode();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ namespace Azure.Storage.Files.Shares.Models
/// Represents file permissions for a specific role.
/// </summary>
[Flags]
public enum RolePermissions
public enum PosixRolePermissions
{
/// <summary>
/// No permissions.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,16 @@
namespace Azure.Storage.Files.Shares.Models
{
/// <summary>
/// Extension methods for <see cref="RolePermissions"/>.
/// Extension methods for <see cref="PosixRolePermissions"/>.
/// </summary>
internal static class RolePermissionExtensions
{
/// <summary>
/// Parses octal char to RolePermissions.
/// </summary>
public static RolePermissions ParseOctalRolePermissions(char c)
public static PosixRolePermissions ParseOctalRolePermissions(char c)
{
RolePermissions rolePermissions = RolePermissions.None;
PosixRolePermissions rolePermissions = PosixRolePermissions.None;

int value = (int)char.GetNumericValue(c);

Expand All @@ -28,17 +28,17 @@ public static RolePermissions ParseOctalRolePermissions(char c)

if ((value & 4) > 0)
{
rolePermissions |= RolePermissions.Read;
rolePermissions |= PosixRolePermissions.Read;
}

if ((value & 2) > 0)
{
rolePermissions |= RolePermissions.Write;
rolePermissions |= PosixRolePermissions.Write;
}

if ((value & 1) > 0)
{
rolePermissions |= RolePermissions.Execute;
rolePermissions |= PosixRolePermissions.Execute;
}

return rolePermissions;
Expand All @@ -47,21 +47,21 @@ public static RolePermissions ParseOctalRolePermissions(char c)
/// <summary>
/// Returns the octal string representation of this RolePermissions.
/// </summary>
public static string ToOctalRolePermissions(this RolePermissions rolePermissions)
public static string ToOctalRolePermissions(this PosixRolePermissions rolePermissions)
{
int result = 0;

if (rolePermissions.HasFlag(RolePermissions.Read))
if (rolePermissions.HasFlag(PosixRolePermissions.Read))
{
result |= 4;
}

if (rolePermissions.HasFlag(RolePermissions.Write))
if (rolePermissions.HasFlag(PosixRolePermissions.Write))
{
result |= 2;
}

if (rolePermissions.HasFlag(RolePermissions.Execute))
if (rolePermissions.HasFlag(PosixRolePermissions.Execute))
{
result |= 1;
}
Expand All @@ -72,11 +72,11 @@ public static string ToOctalRolePermissions(this RolePermissions rolePermissions
/// <summary>
/// Returns the symbolic string representation of this RolePermissions.
/// </summary>
public static string ToSymbolicRolePermissions(this RolePermissions rolePermissions)
public static string ToSymbolicRolePermissions(this PosixRolePermissions rolePermissions)
{
StringBuilder stringBuilder = new StringBuilder();

if (rolePermissions.HasFlag(RolePermissions.Read))
if (rolePermissions.HasFlag(PosixRolePermissions.Read))
{
stringBuilder.Append("r");
}
Expand All @@ -85,7 +85,7 @@ public static string ToSymbolicRolePermissions(this RolePermissions rolePermissi
stringBuilder.Append("-");
}

if (rolePermissions.HasFlag(RolePermissions.Write))
if (rolePermissions.HasFlag(PosixRolePermissions.Write))
{
stringBuilder.Append("w");
}
Expand All @@ -94,7 +94,7 @@ public static string ToSymbolicRolePermissions(this RolePermissions rolePermissi
stringBuilder.Append("-");
}

if (rolePermissions.HasFlag(RolePermissions.Execute))
if (rolePermissions.HasFlag(PosixRolePermissions.Execute))
{
stringBuilder.Append("x");
}
Expand All @@ -106,7 +106,7 @@ public static string ToSymbolicRolePermissions(this RolePermissions rolePermissi
return stringBuilder.ToString();
}

public static RolePermissions ParseSymbolicRolePermissions(string s, out bool setSticky)
public static PosixRolePermissions ParseSymbolicRolePermissions(string s, out bool setSticky)
{
if (s == null)
{
Expand All @@ -117,13 +117,13 @@ public static RolePermissions ParseSymbolicRolePermissions(string s, out bool se
throw new FormatException($"s must be 3 characters long");
}

RolePermissions rolePermissions = new RolePermissions();
PosixRolePermissions rolePermissions = new PosixRolePermissions();
setSticky = false;

// Read character
if (s[0] == 'r')
{
rolePermissions |= RolePermissions.Read;
rolePermissions |= PosixRolePermissions.Read;
}
else if (s[0] != '-')
{
Expand All @@ -133,7 +133,7 @@ public static RolePermissions ParseSymbolicRolePermissions(string s, out bool se
// Write character
if (s[1] == 'w')
{
rolePermissions |= RolePermissions.Write;
rolePermissions |= PosixRolePermissions.Write;
}
else if (s[1] != '-')
{
Expand All @@ -143,7 +143,7 @@ public static RolePermissions ParseSymbolicRolePermissions(string s, out bool se
// Execute character
if (s[2] == 'x' || s[2] == 's' || s[2] == 't')
{
rolePermissions |= RolePermissions.Execute;
rolePermissions |= PosixRolePermissions.Execute;
if (s[2] == 's' || s[2] == 't')
{
setSticky = true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,6 @@ public class ShareDirectoryCreateOptions
/// Note that this property is only applicable to directories created in NFS shares.
/// </summary>
/// </summary>
public FilePosixProperties NfsProperties { get; set; }
public FilePosixProperties PosixProperties { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public class ShareDirectoryInfo
/// The directory's NFS properties.
/// Only applicable to files in a NFS share.
/// </summary>
public FilePosixProperties NfsProperties { get; internal set; }
public FilePosixProperties PosixProperties { get; internal set; }

/// <summary>
/// Constructor.
Expand All @@ -46,7 +46,7 @@ internal ShareDirectoryInfo() { }
/// <summary>
/// FilesModelFactory provides utilities for mocking.
/// </summary>
public static partial class SharesModelFactory
public static partial class FilesModelFactory
{
/// <summary>
/// Creates a new StorageDirectoryInfo instance for mocking.
Expand All @@ -55,15 +55,21 @@ public static ShareDirectoryInfo StorageDirectoryInfo(
ETag eTag = default,
DateTimeOffset lastModified = default,
FileSmbProperties smbProperties = default,
FilePosixProperties nfsProperties = default)
FilePosixProperties posixProperties = default)
=> new ShareDirectoryInfo
{
ETag = eTag,
LastModified = lastModified,
SmbProperties = smbProperties,
NfsProperties = nfsProperties,
PosixProperties = posixProperties,
};
}

/// <summary>
/// FilesModelFactory provides utilities for mocking.
/// </summary>
public static partial class SharesModelFactory
{
/// <summary>
/// Creates a new StorageDirectoryInfo instance for mocking.
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public class ShareDirectoryProperties
/// NFS properties.
/// Note that this property is only applicable to directories created in NFS shares.
/// </summary>
public FilePosixProperties NfsProperties { get; internal set; }
public FilePosixProperties PosixProperties { get; internal set; }

/// <summary>
/// Constructor.
Expand All @@ -68,7 +68,7 @@ public static ShareDirectoryProperties StorageDirectoryProperties(
DateTimeOffset lastModified = default,
bool isServerEncrypted = default,
FileSmbProperties smbProperties = default,
FilePosixProperties nfsProperties = default
FilePosixProperties posixProperties = default
)
=> new ShareDirectoryProperties
{
Expand All @@ -77,7 +77,7 @@ public static ShareDirectoryProperties StorageDirectoryProperties(
LastModified = lastModified,
IsServerEncrypted = isServerEncrypted,
SmbProperties = smbProperties,
NfsProperties = nfsProperties
PosixProperties = posixProperties
};

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,6 @@ public class ShareDirectorySetHttpHeadersOptions
/// Optional properties to set on NFS files.
/// Note that this property is only applicable to directories created in NFS shares.
/// </summary>
public FilePosixProperties NfsProperties { get; set; }
public FilePosixProperties PosixProperties { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,6 @@ public class ShareFileCopyOptions
/// <summary>
/// Only applicable to NFS Files. NFS properties to set on the destination file.
/// </summary>
public FilePosixProperties NfsProperties { get; set; }
public FilePosixProperties PosixProperties { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,6 @@ public class ShareFileCreateOptions
/// Optional properties to set on NFS files.
/// Note that this property is only applicable to files created in NFS shares.
/// </summary>
public FilePosixProperties NfsProperties { get; set; }
public FilePosixProperties PosixProperties { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ public partial class ShareFileDownloadDetails
/// NFS properties.
/// Note that this property is only applicable to files created in NFS shares.
/// </summary>
public FilePosixProperties NfsProperties { get; internal set; }
public FilePosixProperties PosixProperties { get; internal set; }

/// <summary>
/// Constructor.
Expand Down Expand Up @@ -169,7 +169,7 @@ public static ShareFileDownloadDetails StorageFileDownloadProperties(
ShareLeaseState leaseState = default,
ShareLeaseStatus leaseStatus = default,
FileSmbProperties smbProperties = default,
FilePosixProperties nfsProperties = default)
FilePosixProperties posixProperties = default)
{
return new ShareFileDownloadDetails
{
Expand All @@ -193,7 +193,7 @@ public static ShareFileDownloadDetails StorageFileDownloadProperties(
LeaseDuration = leaseDuration,
LeaseState = leaseState,
SmbProperties = smbProperties,
NfsProperties = nfsProperties,
PosixProperties = posixProperties,
};
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public class ShareFileInfo
/// The file's NFS properties.
/// Only applicable to files in a NFS share.
/// </summary>
public FilePosixProperties NfsProperties { get; internal set; }
public FilePosixProperties PosixProperties { get; internal set; }

/// <summary>
/// Constructor.
Expand Down Expand Up @@ -86,7 +86,7 @@ public static ShareFileInfo StorageFileInfo(
FileId = fileId,
ParentId = fileParentId
},
NfsProperties = new FilePosixProperties
PosixProperties = new FilePosixProperties
{
FileMode = nfsFileMode,
Owner = owner,
Expand Down
Loading
Loading