From 5b9f8cfb458bdefaa82c326e03ded7a678034346 Mon Sep 17 00:00:00 2001 From: crupest Date: Fri, 23 Apr 2021 17:28:18 +0800 Subject: refactor: Refactor a lot. --- .../Services/Migration/CustomMigrationManager.cs | 55 ----------------- .../Services/Migration/ICustomMigration.cs | 11 ---- .../MigationServiceCollectionExtensions.cs | 14 ----- .../TimelinePostContentToDataMigration.cs | 69 ---------------------- 4 files changed, 149 deletions(-) delete mode 100644 BackEnd/Timeline/Services/Migration/CustomMigrationManager.cs delete mode 100644 BackEnd/Timeline/Services/Migration/ICustomMigration.cs delete mode 100644 BackEnd/Timeline/Services/Migration/MigationServiceCollectionExtensions.cs delete mode 100644 BackEnd/Timeline/Services/Migration/TimelinePostContentToDataMigration.cs (limited to 'BackEnd/Timeline/Services/Migration') diff --git a/BackEnd/Timeline/Services/Migration/CustomMigrationManager.cs b/BackEnd/Timeline/Services/Migration/CustomMigrationManager.cs deleted file mode 100644 index f6f156cc..00000000 --- a/BackEnd/Timeline/Services/Migration/CustomMigrationManager.cs +++ /dev/null @@ -1,55 +0,0 @@ -using System.Collections.Generic; -using System.Threading.Tasks; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Logging; -using Timeline.Entities; - -namespace Timeline.Services.Migration -{ - public interface ICustomMigrationManager - { - Task Migrate(); - } - - public class CustomMigrationManager : ICustomMigrationManager - { - private IEnumerable _migrations; - private DatabaseContext _database; - - private ILogger _logger; - - public CustomMigrationManager(IEnumerable migrations, DatabaseContext database, ILogger logger) - { - _migrations = migrations; - _database = database; - _logger = logger; - } - - public async Task Migrate() - { - foreach (var migration in _migrations) - { - var name = migration.GetName(); - var did = await _database.Migrations.AnyAsync(m => m.Name == name); - - _logger.LogInformation("Found custom migration '{0}'. Did: {1}.", name, did); - - if (!did) - { - _logger.LogWarning("Begin custom migration '{0}'.", name); - - await using var transaction = await _database.Database.BeginTransactionAsync(); - - await migration.Execute(_database); - - _database.Migrations.Add(new MigrationEntity { Name = name }); - await _database.SaveChangesAsync(); - - await transaction.CommitAsync(); - - _logger.LogWarning("End custom migration '{0}'.", name); - } - } - } - } -} diff --git a/BackEnd/Timeline/Services/Migration/ICustomMigration.cs b/BackEnd/Timeline/Services/Migration/ICustomMigration.cs deleted file mode 100644 index 1f47df1e..00000000 --- a/BackEnd/Timeline/Services/Migration/ICustomMigration.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System.Threading.Tasks; -using Timeline.Entities; - -namespace Timeline.Services.Migration -{ - public interface ICustomMigration - { - string GetName(); - Task Execute(DatabaseContext database); - } -} diff --git a/BackEnd/Timeline/Services/Migration/MigationServiceCollectionExtensions.cs b/BackEnd/Timeline/Services/Migration/MigationServiceCollectionExtensions.cs deleted file mode 100644 index 0e6f6c0a..00000000 --- a/BackEnd/Timeline/Services/Migration/MigationServiceCollectionExtensions.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Microsoft.Extensions.DependencyInjection; - -namespace Timeline.Services.Migration -{ - public static class MigrationServiceCollectionExtensions - { - public static IServiceCollection AddCustomMigration(this IServiceCollection services) - { - services.AddScoped(); - services.AddScoped(); - return services; - } - } -} \ No newline at end of file diff --git a/BackEnd/Timeline/Services/Migration/TimelinePostContentToDataMigration.cs b/BackEnd/Timeline/Services/Migration/TimelinePostContentToDataMigration.cs deleted file mode 100644 index bb7bf606..00000000 --- a/BackEnd/Timeline/Services/Migration/TimelinePostContentToDataMigration.cs +++ /dev/null @@ -1,69 +0,0 @@ -using System.Text; -using System.Threading.Tasks; -using Microsoft.EntityFrameworkCore; -using SixLabors.ImageSharp; -using Timeline.Entities; -using Timeline.Models; - -namespace Timeline.Services.Migration -{ - public class TimelinePostContentToDataMigration : ICustomMigration - { - private readonly IDataManager _dataManager; - - public TimelinePostContentToDataMigration(IDataManager dataManager) - { - _dataManager = dataManager; - } - - public string GetName() => "TimelinePostContentToData"; - - public async Task Execute(DatabaseContext database) - { -#pragma warning disable CS0618 - var postEntities = await database.TimelinePosts.ToListAsync(); - - foreach (var postEntity in postEntities) - { - if (postEntity.Content is null) - { - postEntity.Deleted = true; - } - else - { - if (postEntity.ContentType == "text") - { - var tag = await _dataManager.RetainEntry(Encoding.UTF8.GetBytes(postEntity.Content)); - database.TimelinePostData.Add(new TimelinePostDataEntity - { - DataTag = tag, - Kind = MimeTypes.TextPlain, - Index = 0, - PostId = postEntity.Id, - LastUpdated = postEntity.LastUpdated - }); - } - else - { - var data = await _dataManager.GetEntryAndCheck(postEntity.Content, "Old image content does not have corresponding data with the tag."); - var format = Image.DetectFormat(data); - database.TimelinePostData.Add(new TimelinePostDataEntity - { - DataTag = postEntity.Content, - Kind = format.DefaultMimeType, - Index = 0, - PostId = postEntity.Id, - LastUpdated = postEntity.LastUpdated - }); - } - } - postEntity.Content = null; - postEntity.ContentType = null; - postEntity.ExtraContent = null; - } - - await database.SaveChangesAsync(); -#pragma warning restore CS0618 - } - } -} -- cgit v1.2.3