public File(string path, string name, string data, FilePerms perms) { this.path = path ?? throw new ArgumentNullException(nameof(path)); this.name = name ?? throw new ArgumentNullException(nameof(name)); this.data = data ?? throw new ArgumentNullException(nameof(data)); this.perms = perms; }
private static FilePerms ParseFilePerms(string filePerms) { FilePerms dp = FilePerms.None; string[] perms = filePerms.Split('|'); foreach (string p in perms) { if (p == "Read") { dp |= FilePerms.Read; } else if (p == "Delete") { dp |= FilePerms.Delete; } else if (p == "List") { dp |= FilePerms.Write; } else if (p == "ListSub") { dp |= FilePerms.Append; } } return(dp); }
public VirtualDirectory(string alias, string path, bool isRoot, DirectoryPerms directoryPerms, FilePerms filePerms) { Alias = alias; Path = path; IsRoot = isRoot; DirectoryPerms = directoryPerms; FilePerms = filePerms; }
public static void AddFile(FilePerms perms, string path = "~/", string name = "File", string data = "", int id = 0) { for (int i = 0; i < files.Count; i++) { if (files[i].name == name && files[i].path == path) { Output.WriteError($"File '{name}' already exists!\n"); return; } } files.Add(new File(path, name, data, perms)); }
public static FilePerms GetFilePerms(string name) { FilePerms fp = new FilePerms() { flag = FileFlag.DoesntExists }; foreach (File file in files) { if (file.name == name && file.path == DirListToString(currentDirectory)) { fp = file.perms; } } return(fp); }
public void Execute(string[] args, User user) { FilePerms fp = FSManager.GetFilePerms(args[1]); if (fp.flag == FileFlag.DoesntExists) { Output.WriteError("File doesn't exist!\n"); return; } if ((user.userID == fp.owner || fp.aw == true || user.executeUserID == 0)) { Output.WriteError("You don't have permission to delete this file!\n"); return; } FSManager.RemoveFile(args[1]); }