diff --git a/Infrastructure/Infrastructure.csproj b/Infrastructure/Infrastructure.csproj
index 30d947b..9e42c50 100644
--- a/Infrastructure/Infrastructure.csproj
+++ b/Infrastructure/Infrastructure.csproj
@@ -42,4 +42,8 @@
+
+
+
+
diff --git a/Infrastructure/Persistence/Migrations/20260328141805_FirstMigration.Designer.cs b/Infrastructure/Persistence/Migrations/20260513230601_FirstMigration.Designer.cs
similarity index 76%
rename from Infrastructure/Persistence/Migrations/20260328141805_FirstMigration.Designer.cs
rename to Infrastructure/Persistence/Migrations/20260513230601_FirstMigration.Designer.cs
index f84d009..30ca380 100644
--- a/Infrastructure/Persistence/Migrations/20260328141805_FirstMigration.Designer.cs
+++ b/Infrastructure/Persistence/Migrations/20260513230601_FirstMigration.Designer.cs
@@ -12,7 +12,7 @@ using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
namespace Musify.Infrastructure.Persistence.Migrations
{
[DbContext(typeof(Database))]
- [Migration("20260328141805_FirstMigration")]
+ [Migration("20260513230601_FirstMigration")]
partial class FirstMigration
{
///
@@ -109,86 +109,6 @@ namespace Musify.Infrastructure.Persistence.Migrations
b.ToTable("PlayListHasTrack");
});
- modelBuilder.Entity("Musify.Domain.Entities.ProcessExecution", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("uuid");
-
- b.Property("ConversationId")
- .HasColumnType("uuid");
-
- b.Property("CorrelationId")
- .HasColumnType("uuid");
-
- b.Property("ErrorMessage")
- .HasMaxLength(2048)
- .HasColumnType("character varying(2048)");
-
- b.Property("FinishedDateTime")
- .HasColumnType("timestamp with time zone");
-
- b.Property("MessageId")
- .HasColumnType("uuid");
-
- b.Property("ProcessName")
- .IsRequired()
- .HasMaxLength(256)
- .HasColumnType("character varying(256)");
-
- b.Property("StartedDateTime")
- .HasColumnType("timestamp with time zone");
-
- b.Property("Status")
- .HasColumnType("integer");
-
- b.HasKey("Id");
-
- b.HasIndex("CorrelationId", "ProcessName");
-
- b.ToTable("ProcessExecution");
- });
-
- modelBuilder.Entity("Musify.Domain.Entities.ProcessStepExecution", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("uuid");
-
- b.Property("Attempt")
- .HasColumnType("integer");
-
- b.Property("ComponentType")
- .HasColumnType("integer");
-
- b.Property("ErrorMessage")
- .HasMaxLength(2048)
- .HasColumnType("character varying(2048)");
-
- b.Property("FinishedDateTime")
- .HasColumnType("timestamp with time zone");
-
- b.Property("ProcessExecutionId")
- .HasColumnType("uuid");
-
- b.Property("StartedDateTime")
- .HasColumnType("timestamp with time zone");
-
- b.Property("Status")
- .HasColumnType("integer");
-
- b.Property("StepName")
- .IsRequired()
- .HasMaxLength(256)
- .HasColumnType("character varying(256)");
-
- b.HasKey("Id");
-
- b.HasIndex("ProcessExecutionId", "StepName");
-
- b.ToTable("ProcessStepExecution");
- });
-
modelBuilder.Entity("Musify.Domain.Entities.Track", b =>
{
b.Property("Id")
@@ -196,20 +116,23 @@ namespace Musify.Infrastructure.Persistence.Migrations
.HasColumnType("uuid");
b.Property("AudioFolderName")
- .IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)");
+ b.Property("AudioTranscodeProcessingStatus")
+ .HasColumnType("integer");
+
b.Property("CreatedDate")
.HasColumnType("timestamp with time zone");
b.Property("LargePictureName")
- .IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)");
+ b.Property("LastRetryAt")
+ .HasColumnType("timestamp with time zone");
+
b.Property("MediumPictureName")
- .IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)");
@@ -228,8 +151,13 @@ namespace Musify.Infrastructure.Persistence.Migrations
.HasMaxLength(64)
.HasColumnType("character varying(64)");
+ b.Property("PicturesProcessingStatus")
+ .HasColumnType("integer");
+
+ b.Property("RetryCount")
+ .HasColumnType("integer");
+
b.Property("SmallPictureName")
- .IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)");
@@ -284,6 +212,24 @@ namespace Musify.Infrastructure.Persistence.Migrations
b.Property("CreatedAt")
.HasColumnType("timestamp with time zone");
+ b.Property("FirstName")
+ .HasMaxLength(48)
+ .HasColumnType("character varying(48)");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(48)
+ .HasColumnType("character varying(48)");
+
+ b.Property("NormalizedName")
+ .IsRequired()
+ .HasMaxLength(48)
+ .HasColumnType("character varying(48)");
+
+ b.Property("SecondName")
+ .HasMaxLength(48)
+ .HasColumnType("character varying(48)");
+
b.Property("UpdatedAt")
.HasColumnType("timestamp with time zone");
@@ -343,17 +289,6 @@ namespace Musify.Infrastructure.Persistence.Migrations
b.Navigation("Track");
});
- modelBuilder.Entity("Musify.Domain.Entities.ProcessStepExecution", b =>
- {
- b.HasOne("Musify.Domain.Entities.ProcessExecution", "ProcessExecution")
- .WithMany("Steps")
- .HasForeignKey("ProcessExecutionId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.Navigation("ProcessExecution");
- });
-
modelBuilder.Entity("Musify.Domain.Entities.UserHasTrack", b =>
{
b.HasOne("Musify.Domain.Entities.Track", "Track")
@@ -378,11 +313,6 @@ namespace Musify.Infrastructure.Persistence.Migrations
b.Navigation("PlayListTracks");
});
- modelBuilder.Entity("Musify.Domain.Entities.ProcessExecution", b =>
- {
- b.Navigation("Steps");
- });
-
modelBuilder.Entity("Musify.Domain.Entities.Track", b =>
{
b.Navigation("PlayListTracks");
diff --git a/Infrastructure/Persistence/Migrations/20260328141805_FirstMigration.cs b/Infrastructure/Persistence/Migrations/20260513230601_FirstMigration.cs
similarity index 70%
rename from Infrastructure/Persistence/Migrations/20260328141805_FirstMigration.cs
rename to Infrastructure/Persistence/Migrations/20260513230601_FirstMigration.cs
index 3c04607..17e8882 100644
--- a/Infrastructure/Persistence/Migrations/20260328141805_FirstMigration.cs
+++ b/Infrastructure/Persistence/Migrations/20260513230601_FirstMigration.cs
@@ -1,4 +1,5 @@
-using Microsoft.EntityFrameworkCore.Migrations;
+using System;
+using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
@@ -10,25 +11,6 @@ namespace Musify.Infrastructure.Persistence.Migrations
///
protected override void Up(MigrationBuilder migrationBuilder)
{
- migrationBuilder.CreateTable(
- name: "ProcessExecution",
- columns: table => new
- {
- Id = table.Column(type: "uuid", nullable: false),
- CorrelationId = table.Column(type: "uuid", nullable: true),
- ConversationId = table.Column(type: "uuid", nullable: true),
- MessageId = table.Column(type: "uuid", nullable: true),
- ProcessName = table.Column(type: "character varying(256)", maxLength: 256, nullable: false),
- Status = table.Column(type: "integer", nullable: false),
- StartedDateTime = table.Column(type: "timestamp with time zone", nullable: false),
- FinishedDateTime = table.Column(type: "timestamp with time zone", nullable: true),
- ErrorMessage = table.Column(type: "character varying(2048)", maxLength: 2048, nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_ProcessExecution", x => x.Id);
- });
-
migrationBuilder.CreateTable(
name: "Tracks",
columns: table => new
@@ -37,11 +19,15 @@ namespace Musify.Infrastructure.Persistence.Migrations
Title = table.Column(type: "character varying(50)", maxLength: 50, nullable: false),
NormalizedTitle = table.Column(type: "character varying(50)", maxLength: 50, nullable: false),
OriginalPictureName = table.Column(type: "character varying(64)", maxLength: 64, nullable: false),
- SmallPictureName = table.Column(type: "character varying(64)", maxLength: 64, nullable: false),
- MediumPictureName = table.Column(type: "character varying(64)", maxLength: 64, nullable: false),
- LargePictureName = table.Column(type: "character varying(64)", maxLength: 64, nullable: false),
+ SmallPictureName = table.Column(type: "character varying(64)", maxLength: 64, nullable: true),
+ MediumPictureName = table.Column(type: "character varying(64)", maxLength: 64, nullable: true),
+ LargePictureName = table.Column(type: "character varying(64)", maxLength: 64, nullable: true),
OriginalAudioName = table.Column(type: "character varying(64)", maxLength: 64, nullable: false),
- AudioFolderName = table.Column(type: "character varying(64)", maxLength: 64, nullable: false),
+ AudioFolderName = table.Column(type: "character varying(64)", maxLength: 64, nullable: true),
+ PicturesProcessingStatus = table.Column(type: "integer", nullable: false),
+ AudioTranscodeProcessingStatus = table.Column(type: "integer", nullable: false),
+ RetryCount = table.Column(type: "integer", nullable: false),
+ LastRetryAt = table.Column(type: "timestamp with time zone", nullable: true),
CreatedDate = table.Column(type: "timestamp with time zone", nullable: false),
UpdatedDate = table.Column(type: "timestamp with time zone", nullable: false)
},
@@ -71,6 +57,10 @@ namespace Musify.Infrastructure.Persistence.Migrations
columns: table => new
{
Id = table.Column(type: "uuid", nullable: false),
+ Name = table.Column(type: "character varying(48)", maxLength: 48, nullable: false),
+ NormalizedName = table.Column(type: "character varying(48)", maxLength: 48, nullable: false),
+ FirstName = table.Column(type: "character varying(48)", maxLength: 48, nullable: true),
+ SecondName = table.Column(type: "character varying(48)", maxLength: 48, nullable: true),
CreatedAt = table.Column(type: "timestamp with time zone", nullable: false),
UpdatedAt = table.Column(type: "timestamp with time zone", nullable: false)
},
@@ -79,31 +69,6 @@ namespace Musify.Infrastructure.Persistence.Migrations
table.PrimaryKey("PK_User", x => x.Id);
});
- migrationBuilder.CreateTable(
- name: "ProcessStepExecution",
- columns: table => new
- {
- Id = table.Column(type: "uuid", nullable: false),
- ProcessExecutionId = table.Column(type: "uuid", nullable: false),
- StepName = table.Column(type: "character varying(256)", maxLength: 256, nullable: false),
- ComponentType = table.Column(type: "integer", nullable: false),
- Status = table.Column(type: "integer", nullable: false),
- Attempt = table.Column(type: "integer", nullable: false),
- StartedDateTime = table.Column(type: "timestamp with time zone", nullable: false),
- FinishedDateTime = table.Column(type: "timestamp with time zone", nullable: true),
- ErrorMessage = table.Column(type: "character varying(2048)", maxLength: 2048, nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_ProcessStepExecution", x => x.Id);
- table.ForeignKey(
- name: "FK_ProcessStepExecution_ProcessExecution_ProcessExecutionId",
- column: x => x.ProcessExecutionId,
- principalTable: "ProcessExecution",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
migrationBuilder.CreateTable(
name: "PlayLists",
columns: table => new
@@ -198,16 +163,6 @@ namespace Musify.Infrastructure.Persistence.Migrations
table: "PlayLists",
column: "UserId");
- migrationBuilder.CreateIndex(
- name: "IX_ProcessExecution_CorrelationId_ProcessName",
- table: "ProcessExecution",
- columns: new[] { "CorrelationId", "ProcessName" });
-
- migrationBuilder.CreateIndex(
- name: "IX_ProcessStepExecution_ProcessExecutionId_StepName",
- table: "ProcessStepExecution",
- columns: new[] { "ProcessExecutionId", "StepName" });
-
migrationBuilder.CreateIndex(
name: "IX_UserHasTrack_TrackId",
table: "UserHasTrack",
@@ -225,9 +180,6 @@ namespace Musify.Infrastructure.Persistence.Migrations
migrationBuilder.DropTable(
name: "PlayListHasTrack");
- migrationBuilder.DropTable(
- name: "ProcessStepExecution");
-
migrationBuilder.DropTable(
name: "Upload");
@@ -237,9 +189,6 @@ namespace Musify.Infrastructure.Persistence.Migrations
migrationBuilder.DropTable(
name: "PlayLists");
- migrationBuilder.DropTable(
- name: "ProcessExecution");
-
migrationBuilder.DropTable(
name: "Tracks");
diff --git a/Infrastructure/Persistence/Migrations/DatabaseModelSnapshot.cs b/Infrastructure/Persistence/Migrations/DatabaseModelSnapshot.cs
index 85d9421..0f04a84 100644
--- a/Infrastructure/Persistence/Migrations/DatabaseModelSnapshot.cs
+++ b/Infrastructure/Persistence/Migrations/DatabaseModelSnapshot.cs
@@ -106,86 +106,6 @@ namespace Musify.Infrastructure.Persistence.Migrations
b.ToTable("PlayListHasTrack");
});
- modelBuilder.Entity("Musify.Domain.Entities.ProcessExecution", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("uuid");
-
- b.Property("ConversationId")
- .HasColumnType("uuid");
-
- b.Property("CorrelationId")
- .HasColumnType("uuid");
-
- b.Property("ErrorMessage")
- .HasMaxLength(2048)
- .HasColumnType("character varying(2048)");
-
- b.Property("FinishedDateTime")
- .HasColumnType("timestamp with time zone");
-
- b.Property("MessageId")
- .HasColumnType("uuid");
-
- b.Property("ProcessName")
- .IsRequired()
- .HasMaxLength(256)
- .HasColumnType("character varying(256)");
-
- b.Property("StartedDateTime")
- .HasColumnType("timestamp with time zone");
-
- b.Property("Status")
- .HasColumnType("integer");
-
- b.HasKey("Id");
-
- b.HasIndex("CorrelationId", "ProcessName");
-
- b.ToTable("ProcessExecution");
- });
-
- modelBuilder.Entity("Musify.Domain.Entities.ProcessStepExecution", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("uuid");
-
- b.Property("Attempt")
- .HasColumnType("integer");
-
- b.Property("ComponentType")
- .HasColumnType("integer");
-
- b.Property("ErrorMessage")
- .HasMaxLength(2048)
- .HasColumnType("character varying(2048)");
-
- b.Property("FinishedDateTime")
- .HasColumnType("timestamp with time zone");
-
- b.Property("ProcessExecutionId")
- .HasColumnType("uuid");
-
- b.Property("StartedDateTime")
- .HasColumnType("timestamp with time zone");
-
- b.Property("Status")
- .HasColumnType("integer");
-
- b.Property("StepName")
- .IsRequired()
- .HasMaxLength(256)
- .HasColumnType("character varying(256)");
-
- b.HasKey("Id");
-
- b.HasIndex("ProcessExecutionId", "StepName");
-
- b.ToTable("ProcessStepExecution");
- });
-
modelBuilder.Entity("Musify.Domain.Entities.Track", b =>
{
b.Property("Id")
@@ -193,20 +113,23 @@ namespace Musify.Infrastructure.Persistence.Migrations
.HasColumnType("uuid");
b.Property("AudioFolderName")
- .IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)");
+ b.Property("AudioTranscodeProcessingStatus")
+ .HasColumnType("integer");
+
b.Property("CreatedDate")
.HasColumnType("timestamp with time zone");
b.Property("LargePictureName")
- .IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)");
+ b.Property("LastRetryAt")
+ .HasColumnType("timestamp with time zone");
+
b.Property("MediumPictureName")
- .IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)");
@@ -225,8 +148,13 @@ namespace Musify.Infrastructure.Persistence.Migrations
.HasMaxLength(64)
.HasColumnType("character varying(64)");
+ b.Property("PicturesProcessingStatus")
+ .HasColumnType("integer");
+
+ b.Property("RetryCount")
+ .HasColumnType("integer");
+
b.Property("SmallPictureName")
- .IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)");
@@ -281,6 +209,24 @@ namespace Musify.Infrastructure.Persistence.Migrations
b.Property("CreatedAt")
.HasColumnType("timestamp with time zone");
+ b.Property("FirstName")
+ .HasMaxLength(48)
+ .HasColumnType("character varying(48)");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(48)
+ .HasColumnType("character varying(48)");
+
+ b.Property("NormalizedName")
+ .IsRequired()
+ .HasMaxLength(48)
+ .HasColumnType("character varying(48)");
+
+ b.Property("SecondName")
+ .HasMaxLength(48)
+ .HasColumnType("character varying(48)");
+
b.Property("UpdatedAt")
.HasColumnType("timestamp with time zone");
@@ -340,17 +286,6 @@ namespace Musify.Infrastructure.Persistence.Migrations
b.Navigation("Track");
});
- modelBuilder.Entity("Musify.Domain.Entities.ProcessStepExecution", b =>
- {
- b.HasOne("Musify.Domain.Entities.ProcessExecution", "ProcessExecution")
- .WithMany("Steps")
- .HasForeignKey("ProcessExecutionId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.Navigation("ProcessExecution");
- });
-
modelBuilder.Entity("Musify.Domain.Entities.UserHasTrack", b =>
{
b.HasOne("Musify.Domain.Entities.Track", "Track")
@@ -375,11 +310,6 @@ namespace Musify.Infrastructure.Persistence.Migrations
b.Navigation("PlayListTracks");
});
- modelBuilder.Entity("Musify.Domain.Entities.ProcessExecution", b =>
- {
- b.Navigation("Steps");
- });
-
modelBuilder.Entity("Musify.Domain.Entities.Track", b =>
{
b.Navigation("PlayListTracks");