diff --git a/src/Yavsc/Services/IFileSystemAuthManager.cs b/src/Yavsc/Services/IFileSystemAuthManager.cs new file mode 100644 index 00000000..9e13294e --- /dev/null +++ b/src/Yavsc/Services/IFileSystemAuthManager.cs @@ -0,0 +1,55 @@ +using System; +using System.Security.Principal; +using Yavsc.Models; + +namespace Yavsc.Services { + [Flags] + public enum FileAccessRight { + None = 0, + + Read = 1, + Write = 2 + } + + public interface IFileSystemAuthManager { + string NormalizePath (string path); + + /// + /// A full path starts with a slash, + /// continues with a user name, + /// and returns true by the helper fonction : + /// + /// + /// + /// + FileAccessRight GetFilePathAccess(IPrincipal user, string normalizedFullPath); + + void SetAccess (long circleId, string normalizedFullPath, FileAccessRight access); + + } + + public class FileSystemAuthManager : IFileSystemAuthManager + { + ApplicationDbContext _dbContext; + + public FileSystemAuthManager(ApplicationDbContext dbContext) + { + _dbContext = dbContext; + } + + public FileAccessRight GetFilePathAccess(IPrincipal user, string normalizedFullPath) + { + throw new NotImplementedException(); + } + + public string NormalizePath(string path) + { + throw new NotImplementedException(); + } + + public void SetAccess(long circleId, string normalizedFullPath, FileAccessRight access) + { + throw new NotImplementedException(); + } + } +} \ No newline at end of file