Renames and migrations

This commit is contained in:
2026-03-24 19:47:32 +01:00
parent 7223da54b4
commit f79183ec24
10 changed files with 13 additions and 437 deletions
-2
View File
@@ -38,10 +38,8 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Folder Include="MassTransit\Activities\" />
<Folder Include="MassTransit\Activities\Audio\" /> <Folder Include="MassTransit\Activities\Audio\" />
<Folder Include="MassTransit\Activities\Pictures\" /> <Folder Include="MassTransit\Activities\Pictures\" />
<Folder Include="MassTransit\Activities\Files\" />
<Folder Include="MassTransit\Arguments\" /> <Folder Include="MassTransit\Arguments\" />
<Folder Include="MassTransit\Logs\" /> <Folder Include="MassTransit\Logs\" />
<Folder Include="MassTransit\RoutingSlip\" /> <Folder Include="MassTransit\RoutingSlip\" />
@@ -12,7 +12,7 @@ namespace Musify.Infrastructure.Messaging.Activities
IProcessTrackingStore processTrackingStore) IProcessTrackingStore processTrackingStore)
: IExecuteActivity<RemoveFileFromBucketArguments> : IExecuteActivity<RemoveFileFromBucketArguments>
{ {
public const string ExecuteEndpointName = "Remove-File"; public const string ExecuteEndpointName = "Remove-File-From-Bucket";
public async Task<ExecutionResult> Execute(ExecuteContext<RemoveFileFromBucketArguments> executeContext) public async Task<ExecutionResult> Execute(ExecuteContext<RemoveFileFromBucketArguments> executeContext)
{ {
@@ -7,9 +7,9 @@ using Musify.Infrastructure.Messaging.Activities.Logs;
namespace Musify.Infrastructure.Messaging.Activities namespace Musify.Infrastructure.Messaging.Activities
{ {
public class TransferFilesToBucket( public class TransferFilesToBucketActivity(
IStorageHandler storageHandler, IStorageHandler storageHandler,
ILogger<TransferFilesToBucket> logger, ILogger<TransferFilesToBucketActivity> logger,
IProcessTrackingStore processTrackingStore) IProcessTrackingStore processTrackingStore)
: IActivity<TransferFilesToBucketArguments, TransferFilesToBucketLog> : IActivity<TransferFilesToBucketArguments, TransferFilesToBucketLog>
{ {
@@ -26,7 +26,7 @@ namespace Musify.Infrastructure.Messaging.Activities
var stepId = await processTrackingStore.StartStepAsync( var stepId = await processTrackingStore.StartStepAsync(
processId, processId,
nameof(TransferFilesToBucket), nameof(TransferFilesToBucketActivity),
ProcessStepComponentType.Activity, ProcessStepComponentType.Activity,
0, 0,
executeContext.CancellationToken); executeContext.CancellationToken);
@@ -47,7 +47,7 @@ namespace Musify.Infrastructure.Messaging
options.AddActivity<UpdateTrackPictureActivity, UpdateTrackPictureArguments, UpdateTrackPictureLog>(); options.AddActivity<UpdateTrackPictureActivity, UpdateTrackPictureArguments, UpdateTrackPictureLog>();
options.AddActivity<DownloadFileFromBucketActivity, DownloadFileFromBucketArguments, DownloadFileFromBucketLog>(); options.AddActivity<DownloadFileFromBucketActivity, DownloadFileFromBucketArguments, DownloadFileFromBucketLog>();
options.AddActivity<TranscodeDashAudioActivity, TranscodeDashAudioArguments, TranscodeDashAudioLog>(); options.AddActivity<TranscodeDashAudioActivity, TranscodeDashAudioArguments, TranscodeDashAudioLog>();
options.AddActivity<TransferFilesToBucket, TransferFilesToBucketArguments, TransferFilesToBucketLog>(); options.AddActivity<TransferFilesToBucketActivity, TransferFilesToBucketArguments, TransferFilesToBucketLog>();
options.UsingRabbitMq((busRegistrationContext, busFactoryConfigurator) => options.UsingRabbitMq((busRegistrationContext, busFactoryConfigurator) =>
{ {
@@ -117,10 +117,10 @@ namespace Musify.Infrastructure.Messaging
busRegistrationContext, busRegistrationContext,
TranscodeDashAudioActivity.ExecuteEndpointName); TranscodeDashAudioActivity.ExecuteEndpointName);
ConfigureActivityEndpoint<TransferFilesToBucket, TransferFilesToBucketArguments, TransferFilesToBucketLog>( ConfigureActivityEndpoint<TransferFilesToBucketActivity, TransferFilesToBucketArguments, TransferFilesToBucketLog>(
busFactoryConfigurator, busFactoryConfigurator,
busRegistrationContext, busRegistrationContext,
TransferFilesToBucket.ExecuteEndpointName); TransferFilesToBucketActivity.ExecuteEndpointName);
} ); } );
} ); } );
@@ -39,7 +39,7 @@ namespace Musify.Infrastructure.Messaging.RoutingSlip.Builders
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
ActivityNames.UploadFiles, ActivityNames.UploadFiles,
MessagingHelper.BuildExecuteActivityUri(TransferFilesToBucket.ExecuteEndpointName), MessagingHelper.BuildExecuteActivityUri(TransferFilesToBucketActivity.ExecuteEndpointName),
new TransferFilesToBucketArguments( new TransferFilesToBucketArguments(
message.DestinationBucketName, message.DestinationBucketName,
RoutingSlipVariableNames.Audio.TranscodedDirectory, RoutingSlipVariableNames.Audio.TranscodedDirectory,
@@ -131,7 +131,7 @@ namespace Musify.Infrastructure.Messaging.RoutingSlip.Builders
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
ActivityNames.UploadFiles, ActivityNames.UploadFiles,
MessagingHelper.BuildExecuteActivityUri(TransferFilesToBucket.ExecuteEndpointName), MessagingHelper.BuildExecuteActivityUri(TransferFilesToBucketActivity.ExecuteEndpointName),
new TransferFilesToBucketArguments( new TransferFilesToBucketArguments(
sourceBucketName, sourceBucketName,
RoutingSlipVariableNames.Workflow.TempDirectory, RoutingSlipVariableNames.Workflow.TempDirectory,
@@ -1,382 +0,0 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Musify.Infrastructure.Persistence;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace Musify.Infrastructure.Persistence.Migrations
{
[DbContext(typeof(Database))]
[Migration("20260322023145_FirstMigration")]
partial class FirstMigration
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "10.0.5")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("Musify.Domain.Entities.PlayList", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<DateTime>("CreatedDate")
.HasColumnType("timestamp with time zone");
b.Property<string>("Description")
.IsRequired()
.HasMaxLength(254)
.HasColumnType("character varying(254)");
b.Property<string>("LargePictureKeyName")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)");
b.Property<string>("MediumPictureKeyName")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)");
b.Property<string>("NormalizedName")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)");
b.Property<string>("SmallPictureKeyName")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)");
b.Property<DateTime>("UpdatedDate")
.HasColumnType("timestamp with time zone");
b.Property<Guid>("UserId")
.HasColumnType("uuid");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("PlayLists");
});
modelBuilder.Entity("Musify.Domain.Entities.PlayListHasTrack", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<DateTime>("AddedAt")
.HasColumnType("timestamp with time zone");
b.Property<Guid>("PlayListId")
.HasColumnType("uuid");
b.Property<int>("Position")
.HasColumnType("integer");
b.Property<Guid>("TrackId")
.HasColumnType("uuid");
b.HasKey("Id");
b.HasIndex("PlayListId");
b.HasIndex("TrackId");
b.ToTable("PlayListHasTrack");
});
modelBuilder.Entity("Musify.Domain.Entities.ProcessExecution", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<Guid?>("ConversationId")
.HasColumnType("uuid");
b.Property<Guid?>("CorrelationId")
.HasColumnType("uuid");
b.Property<string>("ErrorMessage")
.HasMaxLength(2048)
.HasColumnType("character varying(2048)");
b.Property<DateTime?>("FinishedDateTime")
.HasColumnType("timestamp with time zone");
b.Property<Guid?>("MessageId")
.HasColumnType("uuid");
b.Property<string>("ProcessName")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.Property<DateTime>("StartedDateTime")
.HasColumnType("timestamp with time zone");
b.Property<int>("Status")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("CorrelationId", "ProcessName");
b.ToTable("ProcessExecution");
});
modelBuilder.Entity("Musify.Domain.Entities.ProcessStepExecution", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<int>("Attempt")
.HasColumnType("integer");
b.Property<int>("ComponentType")
.HasColumnType("integer");
b.Property<string>("ErrorMessage")
.HasMaxLength(2048)
.HasColumnType("character varying(2048)");
b.Property<DateTime?>("FinishedDateTime")
.HasColumnType("timestamp with time zone");
b.Property<Guid>("ProcessExecutionId")
.HasColumnType("uuid");
b.Property<DateTime>("StartedDateTime")
.HasColumnType("timestamp with time zone");
b.Property<int>("Status")
.HasColumnType("integer");
b.Property<string>("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<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<DateTime>("CreatedDate")
.HasColumnType("timestamp with time zone");
b.Property<string>("LargePictureKeyName")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)");
b.Property<string>("MediumPictureKeyName")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)");
b.Property<string>("NormalizedTitle")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)");
b.Property<string>("SmallPictureKeyName")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)");
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)");
b.Property<DateTime>("UpdatedDate")
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
b.ToTable("Tracks");
});
modelBuilder.Entity("Musify.Domain.Entities.Upload", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<string>("BucketName")
.IsRequired()
.HasColumnType("text");
b.Property<string>("ContentType")
.IsRequired()
.HasColumnType("text");
b.Property<DateTime>("CreatedTime")
.HasColumnType("timestamp with time zone");
b.Property<string>("KeyName")
.IsRequired()
.HasColumnType("text");
b.Property<int>("State")
.HasColumnType("integer");
b.HasKey("Id");
b.ToTable("Upload");
});
modelBuilder.Entity("Musify.Domain.Entities.User", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone");
b.Property<DateTime>("UpdatedAt")
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
b.ToTable("User");
});
modelBuilder.Entity("Musify.Domain.Entities.UserHasTrack", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<Guid>("TrackId")
.HasColumnType("uuid");
b.Property<Guid>("UserId")
.HasColumnType("uuid");
b.HasKey("Id");
b.HasIndex("TrackId");
b.HasIndex("UserId");
b.ToTable("UserHasTrack");
});
modelBuilder.Entity("Musify.Domain.Entities.PlayList", b =>
{
b.HasOne("Musify.Domain.Entities.User", "User")
.WithMany("PlayLists")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("User");
});
modelBuilder.Entity("Musify.Domain.Entities.PlayListHasTrack", b =>
{
b.HasOne("Musify.Domain.Entities.PlayList", "PlayList")
.WithMany("PlayListTracks")
.HasForeignKey("PlayListId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Musify.Domain.Entities.Track", "Track")
.WithMany("PlayListTracks")
.HasForeignKey("TrackId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("PlayList");
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")
.WithMany("UserTracks")
.HasForeignKey("TrackId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Musify.Domain.Entities.User", "User")
.WithMany("UserTracks")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Track");
b.Navigation("User");
});
modelBuilder.Entity("Musify.Domain.Entities.PlayList", b =>
{
b.Navigation("PlayListTracks");
});
modelBuilder.Entity("Musify.Domain.Entities.ProcessExecution", b =>
{
b.Navigation("Steps");
});
modelBuilder.Entity("Musify.Domain.Entities.Track", b =>
{
b.Navigation("PlayListTracks");
b.Navigation("UserTracks");
});
modelBuilder.Entity("Musify.Domain.Entities.User", b =>
{
b.Navigation("PlayLists");
b.Navigation("UserTracks");
});
#pragma warning restore 612, 618
}
}
}
@@ -1,42 +0,0 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Musify.Infrastructure.Persistence.Migrations
{
/// <inheritdoc />
public partial class AddOriginalPictureKeyNameToTrackAndPlayList : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "OriginalPictureKeyName",
table: "Tracks",
type: "character varying(64)",
maxLength: 64,
nullable: false,
defaultValue: "");
migrationBuilder.AddColumn<string>(
name: "OriginalPictureKeyName",
table: "PlayLists",
type: "character varying(64)",
maxLength: 64,
nullable: false,
defaultValue: "");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "OriginalPictureKeyName",
table: "Tracks");
migrationBuilder.DropColumn(
name: "OriginalPictureKeyName",
table: "PlayLists");
}
}
}
@@ -12,8 +12,8 @@ using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
namespace Musify.Infrastructure.Persistence.Migrations namespace Musify.Infrastructure.Persistence.Migrations
{ {
[DbContext(typeof(Database))] [DbContext(typeof(Database))]
[Migration("20260323233603_AddOriginalPictureKeyNameToTrackAndPlayList")] [Migration("20260324183733_FirstMigration")]
partial class AddOriginalPictureKeyNameToTrackAndPlayList partial class FirstMigration
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected override void BuildTargetModel(ModelBuilder modelBuilder)
@@ -37,6 +37,7 @@ namespace Musify.Infrastructure.Persistence.Migrations
Id = table.Column<Guid>(type: "uuid", nullable: false), Id = table.Column<Guid>(type: "uuid", nullable: false),
Title = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: false), Title = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: false),
NormalizedTitle = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: false), NormalizedTitle = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: false),
OriginalPictureKeyName = table.Column<string>(type: "character varying(64)", maxLength: 64, nullable: false),
SmallPictureKeyName = table.Column<string>(type: "character varying(64)", maxLength: 64, nullable: false), SmallPictureKeyName = table.Column<string>(type: "character varying(64)", maxLength: 64, nullable: false),
MediumPictureKeyName = table.Column<string>(type: "character varying(64)", maxLength: 64, nullable: false), MediumPictureKeyName = table.Column<string>(type: "character varying(64)", maxLength: 64, nullable: false),
LargePictureKeyName = table.Column<string>(type: "character varying(64)", maxLength: 64, nullable: false), LargePictureKeyName = table.Column<string>(type: "character varying(64)", maxLength: 64, nullable: false),
@@ -111,6 +112,7 @@ namespace Musify.Infrastructure.Persistence.Migrations
Name = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: false), Name = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: false),
NormalizedName = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: false), NormalizedName = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: false),
Description = table.Column<string>(type: "character varying(254)", maxLength: 254, nullable: false), Description = table.Column<string>(type: "character varying(254)", maxLength: 254, nullable: false),
OriginalPictureKeyName = table.Column<string>(type: "character varying(64)", maxLength: 64, nullable: false),
SmallPictureKeyName = table.Column<string>(type: "character varying(64)", maxLength: 64, nullable: false), SmallPictureKeyName = table.Column<string>(type: "character varying(64)", maxLength: 64, nullable: false),
MediumPictureKeyName = table.Column<string>(type: "character varying(64)", maxLength: 64, nullable: false), MediumPictureKeyName = table.Column<string>(type: "character varying(64)", maxLength: 64, nullable: false),
LargePictureKeyName = table.Column<string>(type: "character varying(64)", maxLength: 64, nullable: false), LargePictureKeyName = table.Column<string>(type: "character varying(64)", maxLength: 64, nullable: false),