Add missing files

This commit is contained in:
Kieran 2022-06-08 17:18:22 +01:00
parent 045399d1a2
commit ca99293eda
Signed by: Kieran
GPG Key ID: DE71CEB3925BE941
4 changed files with 95 additions and 2 deletions

View File

@ -4,7 +4,8 @@ using VoidCat.Model;
namespace VoidCat.Services.Migrations.Database;
[Migration(20220604_2232)]
public class Init : Migration {
public class Init : Migration
{
public override void Up()
{
Create.Table("Users")

View File

@ -0,0 +1,23 @@
using FluentMigrator;
namespace VoidCat.Services.Migrations.Database;
[Migration(20220608_1345)]
public class UserRoles : Migration
{
public override void Up()
{
Create.Table("UserRoles")
.WithColumn("User").AsGuid().ForeignKey("Users", "Id").PrimaryKey()
.WithColumn("Role").AsString().NotNullable();
Create.UniqueConstraint()
.OnTable("UserRoles")
.Columns("User", "Role");
}
public override void Down()
{
Delete.Table("UserRoles");
}
}

View File

@ -0,0 +1,24 @@
using FluentMigrator;
namespace VoidCat.Services.Migrations.Database;
[Migration(20220608_1443)]
public class EmailVerification : Migration
{
public override void Up()
{
Create.Table("EmailVerification")
.WithColumn("User").AsGuid().ForeignKey("Users", "Id")
.WithColumn("Code").AsGuid()
.WithColumn("Expires").AsDateTime();
Create.UniqueConstraint()
.OnTable("EmailVerification")
.Columns("User", "Code");
}
public override void Down()
{
Delete.Table("EmailVerification");
}
}

View File

@ -0,0 +1,45 @@
using VoidCat.Model;
using VoidCat.Services.Abstractions;
using VoidCat.Services.Files;
namespace VoidCat.Services.Migrations;
public class LocalDiskToPostgres : IMigration
{
private readonly ILogger<LocalDiskToPostgres> _logger;
private readonly ILoggerFactory _loggerFactory;
private readonly VoidSettings _settings;
public LocalDiskToPostgres(VoidSettings settings, ILoggerFactory loggerFactory, IFileInfoManager fileInfoManager,
IUserUploadsStore userUploadsStore, IAggregateStatsCollector statsCollector)
{
_logger = loggerFactory.CreateLogger<LocalDiskToPostgres>();
_settings = settings;
_loggerFactory = loggerFactory;
}
public async ValueTask<IMigration.MigrationResult> Migrate(string[] args)
{
if (!args.Contains("--migrate-local-to-postgres"))
{
return IMigration.MigrationResult.Skipped;
}
var metaStore =
new LocalDiskFileMetadataStore(_settings, _loggerFactory.CreateLogger<LocalDiskFileMetadataStore>());
var files = await metaStore.ListFiles<SecretVoidFileMeta>(new(0, Int32.MaxValue));
await foreach (var file in files.Results)
{
_logger.LogInformation("Migrating file {File}", file.Id);
try
{
}
catch (Exception ex)
{
}
}
return IMigration.MigrationResult.ExitCompleted;
}
}