aboutsummaryrefslogtreecommitdiff
path: root/BackEnd/Timeline/Services/Migration
diff options
context:
space:
mode:
Diffstat (limited to 'BackEnd/Timeline/Services/Migration')
-rw-r--r--BackEnd/Timeline/Services/Migration/CustomMigrationManager.cs55
-rw-r--r--BackEnd/Timeline/Services/Migration/ICustomMigration.cs11
-rw-r--r--BackEnd/Timeline/Services/Migration/MigationServiceCollectionExtensions.cs14
-rw-r--r--BackEnd/Timeline/Services/Migration/TimelinePostContentToDataMigration.cs69
4 files changed, 0 insertions, 149 deletions
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<ICustomMigration> _migrations;
- private DatabaseContext _database;
-
- private ILogger<CustomMigrationManager> _logger;
-
- public CustomMigrationManager(IEnumerable<ICustomMigration> migrations, DatabaseContext database, ILogger<CustomMigrationManager> 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<ICustomMigrationManager, CustomMigrationManager>();
- services.AddScoped<ICustomMigration, TimelinePostContentToDataMigration>();
- 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
- }
- }
-}