forked from Kieran/void.cat
Expires
This commit is contained in:
parent
ffa540f8fd
commit
72f98f5013
@ -65,6 +65,11 @@ public record VoidFileMeta : IVoidFileMeta
|
||||
/// Url to download the file
|
||||
/// </summary>
|
||||
public Uri? Url { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Time when the file will expire and be deleted
|
||||
/// </summary>
|
||||
public DateTimeOffset? Expires { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -52,6 +52,7 @@ public class LocalDiskFileMetadataStore : IFileMetadataStore
|
||||
oldMeta.Description = meta.Description ?? oldMeta.Description;
|
||||
oldMeta.Name = meta.Name ?? oldMeta.Name;
|
||||
oldMeta.MimeType = meta.MimeType ?? oldMeta.MimeType;
|
||||
oldMeta.Expires = meta.Expires ?? oldMeta.Expires;
|
||||
|
||||
await Set(id, oldMeta);
|
||||
}
|
||||
|
@ -32,9 +32,10 @@ public class PostgresFileMetadataStore : IFileMetadataStore
|
||||
await using var conn = await _connection.Get();
|
||||
await conn.ExecuteAsync(
|
||||
@"insert into
|
||||
""Files""(""Id"", ""Name"", ""Size"", ""Uploaded"", ""Description"", ""MimeType"", ""Digest"", ""EditSecret"")
|
||||
values(:id, :name, :size, :uploaded, :description, :mimeType, :digest, :editSecret)
|
||||
on conflict (""Id"") do update set ""Name"" = :name, ""Description"" = :description, ""MimeType"" = :mimeType", new
|
||||
""Files""(""Id"", ""Name"", ""Size"", ""Uploaded"", ""Description"", ""MimeType"", ""Digest"", ""EditSecret"", ""Expires"")
|
||||
values(:id, :name, :size, :uploaded, :description, :mimeType, :digest, :editSecret, :expires)
|
||||
on conflict (""Id"") do update set ""Name"" = :name, ""Description"" = :description, ""MimeType"" = :mimeType, ""Expires"" = :expires",
|
||||
new
|
||||
{
|
||||
id,
|
||||
name = obj.Name,
|
||||
@ -43,7 +44,8 @@ on conflict (""Id"") do update set ""Name"" = :name, ""Description"" = :descript
|
||||
description = obj.Description,
|
||||
mimeType = obj.MimeType,
|
||||
digest = obj.Digest,
|
||||
editSecret = obj.EditSecret
|
||||
editSecret = obj.EditSecret,
|
||||
expires = obj.Expires
|
||||
});
|
||||
}
|
||||
|
||||
@ -79,6 +81,7 @@ on conflict (""Id"") do update set ""Name"" = :name, ""Description"" = :descript
|
||||
oldMeta.Description = meta.Description ?? oldMeta.Description;
|
||||
oldMeta.Name = meta.Name ?? oldMeta.Name;
|
||||
oldMeta.MimeType = meta.MimeType ?? oldMeta.MimeType;
|
||||
oldMeta.Expires = meta.Expires ?? oldMeta.Expires;
|
||||
|
||||
await Set(id, oldMeta);
|
||||
}
|
||||
|
@ -52,6 +52,7 @@ public class S3FileMetadataStore : IFileMetadataStore
|
||||
oldMeta.Description = meta.Description ?? oldMeta.Description;
|
||||
oldMeta.Name = meta.Name ?? oldMeta.Name;
|
||||
oldMeta.MimeType = meta.MimeType ?? oldMeta.MimeType;
|
||||
oldMeta.Expires = meta.Expires ?? oldMeta.Expires;
|
||||
|
||||
await Set(id, oldMeta);
|
||||
}
|
||||
|
19
VoidCat/Services/Migrations/Database/01-FileExpiry.cs
Normal file
19
VoidCat/Services/Migrations/Database/01-FileExpiry.cs
Normal file
@ -0,0 +1,19 @@
|
||||
using FluentMigrator;
|
||||
|
||||
namespace VoidCat.Services.Migrations.Database;
|
||||
|
||||
[Migration(20220615_2238)]
|
||||
public class FileExpiry : Migration {
|
||||
public override void Up()
|
||||
{
|
||||
Create.Column("Expires")
|
||||
.OnTable("Files")
|
||||
.AsDateTimeOffset().Nullable().Indexed();
|
||||
}
|
||||
|
||||
public override void Down()
|
||||
{
|
||||
Delete.Column("Expires")
|
||||
.FromTable("Files");
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user