Пример #1
0
        private async Task ValidateAclAsync([NotNull] ILogger logger, [NotNull] IEnumerable <string> files, bool fix)
        {
            if (!myStorage.SupportAccessMode)
            {
                logger.Warning("Validating access rights is not supported for storage");
                return;
            }

            logger.Info($"[{DateTime.Now:s}] Validating access rights{myId}...");
            foreach (var file in files)
            {
                if (TagUtil.IsTagFile(file) || TagUtil.IsStorageCasingFile(file))
                {
                    if (await myStorage.GetAccessModeAsync(file) != AccessMode.Private)
                    {
                        logger.Error($"The internal file {file} has invalid access rights");
                        if (fix)
                        {
                            logger.Fix($"Update access rights for the internal file {file}");
                            await myStorage.SetAccessModeAsync(file, AccessMode.Private);
                        }
                    }
                }
                else
                {
                    if (await myStorage.GetAccessModeAsync(file) != AccessMode.Public)
                    {
                        logger.Error($"The storage file {file} has invalid access rights");
                        if (fix)
                        {
                            logger.Fix($"Update access rights for the storage file {file}");
                            await myStorage.SetAccessModeAsync(file, AccessMode.Public);
                        }
                    }
                }
            }
        }
Пример #2
0
 public void StorageCasingFileTest(bool expected, string file)
 {
     Assert.AreEqual(expected, TagUtil.IsStorageCasingFile(file.NormalizeSystem()));
 }