Changes
This commit is contained in:
@@ -62,7 +62,7 @@ namespace Musify.Application.Configuration
|
||||
|
||||
public string PresetSmallPicture { get; set; } = "PresetSmallPicture.webp";
|
||||
|
||||
public string PresetMediumPicture { get; set; } = "PresettMediumPicture.webp";
|
||||
public string PresetMediumPicture { get; set; } = "PresetMediumPicture.webp";
|
||||
|
||||
public string PresetLargePicture { get; set; } = "PresetLargePicture.webp";
|
||||
}
|
||||
|
||||
@@ -33,14 +33,14 @@ namespace Musify.Application.PlayLists.Commands.CreatePlayList
|
||||
Name = request.Name,
|
||||
NormalizedName = request.Name.Trim().ToUpperInvariant(),
|
||||
Description = request.Description,
|
||||
OriginalPictureKeyName = $"{imageId}.{request.PictureFileType}",
|
||||
OriginalPictureKeyName = $"{imageId}{request.PictureFileType}",
|
||||
SmallPictureKeyName = playListConfiguration.Routes.PresetSmallPicture,
|
||||
MediumPictureKeyName = playListConfiguration.Routes.PresetMediumPicture,
|
||||
LargePictureKeyName = playListConfiguration.Routes.PresetLargePicture,
|
||||
};
|
||||
await database.PlayLists.AddAsync(playList, cancellationToken);
|
||||
|
||||
var imageKeyName = $"{playListConfiguration.Routes.OriginalPictures}/{imageId}.{request.PictureFileType}";
|
||||
var imageKeyName = $"{playListConfiguration.Routes.OriginalPictures}/{imageId}{request.PictureFileType}";
|
||||
|
||||
var uploadResult = await storageHandler.UploadFileAsync(
|
||||
request.PictureStream,
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Keycloak.Net;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Musify.Application.Contracts.Infrastructure;
|
||||
using Musify.Infrastructure.Configuration;
|
||||
@@ -11,6 +12,13 @@ namespace Musify.Infrastructure.Identity
|
||||
{
|
||||
var keycloakConfiguration = KeycloakConfiguration.Load(configuration);
|
||||
serviceDescriptors.AddSingleton(keycloakConfiguration);
|
||||
serviceDescriptors.AddScoped(serviceProvider =>
|
||||
{
|
||||
return new KeycloakClient(
|
||||
keycloakConfiguration.BaseUrl,
|
||||
keycloakConfiguration.Username,
|
||||
keycloakConfiguration.Password);
|
||||
} );
|
||||
serviceDescriptors.AddScoped<IKeycloakUserClient, KeycloakIdentityService>();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<RootNamespace>Musify.Infrastructure</RootNamespace>
|
||||
<UserSecretsId>07d419fc-9ade-471a-bc0e-aebece785b30</UserSecretsId>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
@@ -19,6 +20,7 @@
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="10.0.5" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="10.0.5" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="6.0.1" />
|
||||
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="10.0.1" />
|
||||
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.12" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -28,12 +28,14 @@ namespace Musify.Infrastructure.Messaging.Consumers
|
||||
Payload = payload
|
||||
};
|
||||
await database.Jobs.AddAsync(job, consumeContext.CancellationToken);
|
||||
logger.LogInformation("Created new job with id {JobId} for removing file {BucketName}/{KeyName}", job.Id, consumeContext.Message.BucketName, consumeContext.Message.KeyName);
|
||||
}
|
||||
else
|
||||
{
|
||||
job.RetryCount++;
|
||||
job.JobState = JobState.Pending;
|
||||
database.Jobs.Update(job);
|
||||
logger.LogInformation("Retrying job with id {JobId} for removing file {BucketName}/{KeyName}. Retry count: {RetryCount}", job.Id, consumeContext.Message.BucketName, consumeContext.Message.KeyName, job.RetryCount);
|
||||
}
|
||||
|
||||
var removeFile = await storageHandler.RemoveFileAsync(
|
||||
@@ -42,7 +44,15 @@ namespace Musify.Infrastructure.Messaging.Consumers
|
||||
consumeContext.CancellationToken);
|
||||
|
||||
if (!removeFile.IsSuccess)
|
||||
{
|
||||
job.JobState = JobState.Failed;
|
||||
logger.LogInformation("Failed to remove file {BucketName}/{KeyName} for job with id {JobId}. Error: {ErrorMessage}", consumeContext.Message.BucketName, consumeContext.Message.KeyName, job.Id, string.Join("; ", removeFile.Errors));
|
||||
}
|
||||
else
|
||||
{
|
||||
job.CompletedAt = DateTime.UtcNow;
|
||||
logger.LogInformation("Successfully removed file {BucketName}/{KeyName} for job with id {JobId}.", consumeContext.Message.BucketName, consumeContext.Message.KeyName, job.Id);
|
||||
}
|
||||
|
||||
await database.SaveChangesAsync(consumeContext.CancellationToken);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Musify.Application.Contracts.Infrastructure;
|
||||
|
||||
@@ -9,14 +8,7 @@ namespace Musify.Infrastructure.Persistence
|
||||
{
|
||||
public static void AddDatabase(this IServiceCollection serviceDescriptors, IConfiguration configuration)
|
||||
{
|
||||
var connectionString = configuration.GetConnectionString("Default")
|
||||
?? throw new InvalidOperationException("Default Connection connection string not found.");
|
||||
|
||||
serviceDescriptors.AddDbContext<Database>(options =>
|
||||
{
|
||||
options.UseNpgsql(connectionString);
|
||||
} );
|
||||
|
||||
serviceDescriptors.AddDbContext<Database>();
|
||||
serviceDescriptors.AddScoped<IDatabase>(serviceProvider => serviceProvider.GetRequiredService<Database>());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ namespace Musify.Infrastructure.Persistence
|
||||
var configuration = new ConfigurationBuilder()
|
||||
.SetBasePath(Directory.GetCurrentDirectory())
|
||||
.AddJsonFile("DesignSettings.json")
|
||||
.AddUserSecrets<DatabaseDesignTimeFactory>()
|
||||
.Build();
|
||||
var databaseConfiguration = DatabaseConfiguration.Load(configuration);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user