Files: ExternalLink: fixed expiration date converting

This commit is contained in:
Maksim Chegulov 2023-07-12 14:19:58 +03:00
parent 949918202d
commit 66dcbb3e57
3 changed files with 10 additions and 5 deletions

View File

@ -31,7 +31,7 @@ public class LinkRequestDto
public Guid LinkId { get; set; }
public string Title { get; set; }
public FileShare Access { get; set; }
public ApiDateTime ExpirationDate { get; set; }
public DateTime? ExpirationDate { get; set; }
public LinkType LinkType { get; set; }
public string Password { get; set; }
public bool Disabled { get; set; }

View File

@ -89,6 +89,7 @@ public class FileStorageService //: IFileStorageService
private readonly TenantQuotaFeatureStatHelper _tenantQuotaFeatureStatHelper;
private readonly QuotaSocketManager _quotaSocketManager;
private readonly ExternalShare _externalShare;
private readonly TenantUtil _tenantUtil;
public FileStorageService(
Global global,
@ -147,7 +148,8 @@ public class FileStorageService //: IFileStorageService
StudioNotifyService studioNotifyService,
TenantQuotaFeatureStatHelper tenantQuotaFeatureStatHelper,
QuotaSocketManager quotaSocketManager,
ExternalShare externalShare)
ExternalShare externalShare,
TenantUtil tenantUtil)
{
_global = global;
_globalStore = globalStore;
@ -206,6 +208,7 @@ public class FileStorageService //: IFileStorageService
_tenantQuotaFeatureStatHelper = tenantQuotaFeatureStatHelper;
_quotaSocketManager = quotaSocketManager;
_externalShare = externalShare;
_tenantUtil = tenantUtil;
}
public async Task<Folder<T>> GetFolderAsync<T>(T folderId)
@ -3346,9 +3349,11 @@ public class FileStorageService //: IFileStorageService
DenyDownload = denyDownload
};
if (expirationDate != DateTime.MinValue && expirationDate > DateTime.UtcNow)
var expirationDateUtc = _tenantUtil.DateTimeToUtc(expirationDate);
if (expirationDateUtc != DateTime.MinValue && expirationDateUtc > DateTime.UtcNow)
{
options.ExpirationDate = expirationDate;
options.ExpirationDate = expirationDateUtc;
}
if (!string.IsNullOrEmpty(password))

View File

@ -407,7 +407,7 @@ public abstract class VirtualRoomsController<T> : ApiControllerBase
{
LinkType.Invitation => await _fileStorageService.SetInvitationLinkAsync(id, inDto.LinkId, inDto.Title, inDto.Access),
LinkType.External => await _fileStorageService.SetExternalLinkAsync(id, FileEntryType.Folder, inDto.LinkId, inDto.Title,
inDto.Access is not (FileShare.Read or FileShare.None) ? FileShare.Read : inDto.Access , inDto.ExpirationDate, inDto.Password, inDto.Disabled, inDto.DenyDownload),
inDto.Access is not (FileShare.Read or FileShare.None) ? FileShare.Read : inDto.Access , inDto.ExpirationDate ?? default, inDto.Password, inDto.Disabled, inDto.DenyDownload),
_ => throw new InvalidOperationException()
};