Files: added 30 days gap

This commit is contained in:
Maksim Chegulov 2023-02-15 13:27:01 +03:00
parent 8767b227e4
commit 2a12f4ca0a
2 changed files with 48 additions and 34 deletions

View File

@ -105,7 +105,7 @@ public class FilesSettings : ISettings<FilesSettings>
HideFavoritesSetting = false, HideFavoritesSetting = false,
HideTemplatesSetting = false, HideTemplatesSetting = false,
DownloadTarGzSetting = false, DownloadTarGzSetting = false,
AutomaticallyCleanUpSetting = new AutoCleanUpData { IsAutoCleanUp = true, Gap = DateToAutoCleanUp.OneMonth }, AutomaticallyCleanUpSetting = new AutoCleanUpData { IsAutoCleanUp = true, Gap = DateToAutoCleanUp.ThirtyDays },
DefaultSharingAccessRightsSetting = null DefaultSharingAccessRightsSetting = null
}; };
} }

View File

@ -24,26 +24,27 @@
// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0 // content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0
// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode // International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
namespace ASC.Files.Core; namespace ASC.Files.Core;
public enum DateToAutoCleanUp public enum DateToAutoCleanUp
{ {
OneWeek = 1, OneWeek = 1,
TwoWeeks, TwoWeeks,
OneMonth, OneMonth,
TwoMonths, ThirtyDays,
ThreeMonths TwoMonths,
} ThreeMonths
}
public class AutoCleanUpData
{
public bool IsAutoCleanUp { get; set; }
public DateToAutoCleanUp Gap { get; set; }
}
[Scope] public class AutoCleanUpData
public class FileDateTime {
public bool IsAutoCleanUp { get; set; }
public DateToAutoCleanUp Gap { get; set; }
}
[Scope]
public class FileDateTime
{ {
private readonly TenantUtil _tenantUtil; private readonly TenantUtil _tenantUtil;
@ -51,19 +52,32 @@ public class FileDateTime
{ {
_tenantUtil = tenantUtil; _tenantUtil = tenantUtil;
} }
public DateTime GetModifiedOnWithAutoCleanUp(DateTime modifiedOn, DateToAutoCleanUp date, bool utc = false) public DateTime GetModifiedOnWithAutoCleanUp(DateTime modifiedOn, DateToAutoCleanUp date, bool utc = false)
{ {
var dateTime = modifiedOn; var dateTime = modifiedOn;
switch (date) switch (date)
{ {
case DateToAutoCleanUp.OneWeek: dateTime = dateTime.AddDays(7); break; case DateToAutoCleanUp.OneWeek:
case DateToAutoCleanUp.TwoWeeks: dateTime = dateTime.AddDays(14); break; dateTime = dateTime.AddDays(7);
case DateToAutoCleanUp.OneMonth: dateTime = dateTime.AddMonths(1); break; break;
case DateToAutoCleanUp.TwoMonths: dateTime = dateTime.AddMonths(2); break; case DateToAutoCleanUp.TwoWeeks:
case DateToAutoCleanUp.ThreeMonths: dateTime = dateTime.AddMonths(3); break; dateTime = dateTime.AddDays(14);
default: break; break;
} case DateToAutoCleanUp.OneMonth:
return utc ? _tenantUtil.DateTimeToUtc(dateTime) : dateTime; dateTime = dateTime.AddMonths(1);
} break;
case DateToAutoCleanUp.ThirtyDays:
dateTime = dateTime.AddDays(30);
break;
case DateToAutoCleanUp.TwoMonths:
dateTime = dateTime.AddMonths(2);
break;
case DateToAutoCleanUp.ThreeMonths:
dateTime = dateTime.AddMonths(3);
break;
}
return utc ? _tenantUtil.DateTimeToUtc(dateTime) : dateTime;
}
} }