refactor: standardize project names to Musify.* and flatten layout
- Flatten nested per-repo folders into flat Musify.* projects at root - Rename assemblies/csproj: Domain->Musify.Domain, Application->Musify.Application, Infrastructure->Musify.Infrastructure, WebApi->Musify.Api, Worker->Musify.Worker, StreamingGateway->Musify.StreamingGateway - Rename WebApi.* namespaces to Musify.Api.* - Update all ProjectReference paths and the solution file - Consolidate stray per-repo dotfiles; add root .gitattributes - Move flutter client out to _archive Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,13 @@
|
|||||||
|
# Normalize line endings automatically for text files
|
||||||
|
* text=auto
|
||||||
|
|
||||||
|
# Force LF for shell scripts
|
||||||
|
*.sh text eol=lf
|
||||||
|
|
||||||
|
# Treat common binaries as binary
|
||||||
|
*.png binary
|
||||||
|
*.jpg binary
|
||||||
|
*.jpeg binary
|
||||||
|
*.gif binary
|
||||||
|
*.ico binary
|
||||||
|
*.dll binary
|
||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace WebApi.Authentication;
|
namespace Musify.Api.Authentication;
|
||||||
|
|
||||||
public sealed class AuthenticationConfiguration
|
public sealed class AuthenticationConfiguration
|
||||||
{
|
{
|
||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
using Microsoft.AspNetCore.Authentication.JwtBearer;
|
using Microsoft.AspNetCore.Authentication.JwtBearer;
|
||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
|
|
||||||
namespace WebApi.Authentication;
|
namespace Musify.Api.Authentication;
|
||||||
|
|
||||||
public static class AuthenticationExtensions
|
public static class AuthenticationExtensions
|
||||||
{
|
{
|
||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Security.Claims;
|
using System.Security.Claims;
|
||||||
|
|
||||||
namespace WebApi.Authentication;
|
namespace Musify.Api.Authentication;
|
||||||
|
|
||||||
public sealed class CurrentUser : IBindableFromHttpContext<CurrentUser>
|
public sealed class CurrentUser : IBindableFromHttpContext<CurrentUser>
|
||||||
{
|
{
|
||||||
+1
-1
@@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Authentication.JwtBearer;
|
|||||||
using Musify.Application.Users.Commands;
|
using Musify.Application.Users.Commands;
|
||||||
using System.Security.Claims;
|
using System.Security.Claims;
|
||||||
|
|
||||||
namespace WebApi.Authentication;
|
namespace Musify.Api.Authentication;
|
||||||
|
|
||||||
public sealed class JwtBearerEventsHandler(IMediator mediator, ILogger<JwtBearerEventsHandler> logger) : JwtBearerEvents
|
public sealed class JwtBearerEventsHandler(IMediator mediator, ILogger<JwtBearerEventsHandler> logger) : JwtBearerEvents
|
||||||
{
|
{
|
||||||
+1
-1
@@ -3,7 +3,7 @@ using Microsoft.Extensions.Options;
|
|||||||
using Microsoft.IdentityModel.Tokens;
|
using Microsoft.IdentityModel.Tokens;
|
||||||
using System.Security.Claims;
|
using System.Security.Claims;
|
||||||
|
|
||||||
namespace WebApi.Authentication;
|
namespace Musify.Api.Authentication;
|
||||||
|
|
||||||
public sealed class JwtBearerOptionsSetup(IOptions<AuthenticationConfiguration> options)
|
public sealed class JwtBearerOptionsSetup(IOptions<AuthenticationConfiguration> options)
|
||||||
: IConfigureNamedOptions<JwtBearerOptions>
|
: IConfigureNamedOptions<JwtBearerOptions>
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
namespace WebApi.DataTransferObjects.PlayLists;
|
namespace Musify.Api.DataTransferObjects.PlayLists;
|
||||||
|
|
||||||
public record CreatePlayListRequest(
|
public record CreatePlayListRequest(
|
||||||
string Name,
|
string Name,
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
namespace WebApi.DataTransferObjects.PlayLists;
|
namespace Musify.Api.DataTransferObjects.PlayLists;
|
||||||
|
|
||||||
public record RequestPlayListPictureUploadRequest(
|
public record RequestPlayListPictureUploadRequest(
|
||||||
string FileType,
|
string FileType,
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
namespace WebApi.DataTransferObjects.PlayLists;
|
namespace Musify.Api.DataTransferObjects.PlayLists;
|
||||||
|
|
||||||
public record UpdatePlayListRequest(
|
public record UpdatePlayListRequest(
|
||||||
string? NewName,
|
string? NewName,
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
namespace WebApi.DataTransferObjects.Tracks;
|
namespace Musify.Api.DataTransferObjects.Tracks;
|
||||||
|
|
||||||
public record CreateTrackRequest(
|
public record CreateTrackRequest(
|
||||||
string Title,
|
string Title,
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
namespace WebApi.DataTransferObjects.Tracks;
|
namespace Musify.Api.DataTransferObjects.Tracks;
|
||||||
|
|
||||||
public record RequestTrackUploadUrlsRequest(
|
public record RequestTrackUploadUrlsRequest(
|
||||||
string PictureFileType,
|
string PictureFileType,
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
namespace WebApi.DataTransferObjects.Users;
|
namespace Musify.Api.DataTransferObjects.Users;
|
||||||
|
|
||||||
public record CreateUserRequest(
|
public record CreateUserRequest(
|
||||||
long Id,
|
long Id,
|
||||||
+5
-5
@@ -1,12 +1,12 @@
|
|||||||
using Mediator;
|
using Mediator;
|
||||||
using Musify.Application.PlayLists.Commands;
|
using Musify.Application.PlayLists.Commands;
|
||||||
using Musify.Application.PlayLists.Queries;
|
using Musify.Application.PlayLists.Queries;
|
||||||
using WebApi.Authentication;
|
using Musify.Api.Authentication;
|
||||||
using WebApi.DataTransferObjects.PlayLists;
|
using Musify.Api.DataTransferObjects.PlayLists;
|
||||||
using WebApi.Extensions;
|
using Musify.Api.Extensions;
|
||||||
using WebApi.Filters;
|
using Musify.Api.Filters;
|
||||||
|
|
||||||
namespace WebApi.Endpoints;
|
namespace Musify.Api.Endpoints;
|
||||||
|
|
||||||
public static class PlayListEndpoints
|
public static class PlayListEndpoints
|
||||||
{
|
{
|
||||||
+5
-5
@@ -1,12 +1,12 @@
|
|||||||
using Mediator;
|
using Mediator;
|
||||||
using Musify.Application.Tracks.Commands;
|
using Musify.Application.Tracks.Commands;
|
||||||
using Musify.Application.Tracks.Queries;
|
using Musify.Application.Tracks.Queries;
|
||||||
using WebApi.Authentication;
|
using Musify.Api.Authentication;
|
||||||
using WebApi.DataTransferObjects.Tracks;
|
using Musify.Api.DataTransferObjects.Tracks;
|
||||||
using WebApi.Extensions;
|
using Musify.Api.Extensions;
|
||||||
using WebApi.Filters;
|
using Musify.Api.Filters;
|
||||||
|
|
||||||
namespace WebApi.Endpoints;
|
namespace Musify.Api.Endpoints;
|
||||||
|
|
||||||
public static class TrackEndpoints
|
public static class TrackEndpoints
|
||||||
{
|
{
|
||||||
+4
-4
@@ -1,11 +1,11 @@
|
|||||||
using Mediator;
|
using Mediator;
|
||||||
using Musify.Application.Users.Commands;
|
using Musify.Application.Users.Commands;
|
||||||
using Musify.Application.Users.Queries;
|
using Musify.Application.Users.Queries;
|
||||||
using WebApi.DataTransferObjects.Users;
|
using Musify.Api.DataTransferObjects.Users;
|
||||||
using WebApi.Extensions;
|
using Musify.Api.Extensions;
|
||||||
using WebApi.Filters;
|
using Musify.Api.Filters;
|
||||||
|
|
||||||
namespace WebApi.Endpoints;
|
namespace Musify.Api.Endpoints;
|
||||||
|
|
||||||
public static class UserEndpoints
|
public static class UserEndpoints
|
||||||
{
|
{
|
||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
using Ardalis.Result;
|
using Ardalis.Result;
|
||||||
using IResult = Microsoft.AspNetCore.Http.IResult;
|
using IResult = Microsoft.AspNetCore.Http.IResult;
|
||||||
|
|
||||||
namespace WebApi.Extensions;
|
namespace Musify.Api.Extensions;
|
||||||
|
|
||||||
public static class ResultHttpExtensions
|
public static class ResultHttpExtensions
|
||||||
{
|
{
|
||||||
+5
-5
@@ -3,12 +3,12 @@ using Musify.Infrastructure.MassTransit;
|
|||||||
using Musify.Infrastructure.Persistence;
|
using Musify.Infrastructure.Persistence;
|
||||||
using Musify.Application.Configuration;
|
using Musify.Application.Configuration;
|
||||||
using Musify.Infrastructure.Services;
|
using Musify.Infrastructure.Services;
|
||||||
using WebApi.Authentication;
|
using Musify.Api.Authentication;
|
||||||
using WebApi.DataTransferObjects.PlayLists;
|
using Musify.Api.DataTransferObjects.PlayLists;
|
||||||
using WebApi.OpenApi;
|
using Musify.Api.OpenApi;
|
||||||
using WebApi.Scalar;
|
using Musify.Api.Scalar;
|
||||||
|
|
||||||
namespace WebApi.Extensions;
|
namespace Musify.Api.Extensions;
|
||||||
|
|
||||||
public static class ServiceCollectionExtensions
|
public static class ServiceCollectionExtensions
|
||||||
{
|
{
|
||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
using FluentValidation;
|
using FluentValidation;
|
||||||
|
|
||||||
namespace WebApi.Filters;
|
namespace Musify.Api.Filters;
|
||||||
|
|
||||||
public sealed class ValidationFilter<T>(IValidator<T> validator) : IEndpointFilter where T : class
|
public sealed class ValidationFilter<T>(IValidator<T> validator) : IEndpointFilter where T : class
|
||||||
{
|
{
|
||||||
@@ -4,6 +4,8 @@
|
|||||||
<TargetFramework>net10.0</TargetFramework>
|
<TargetFramework>net10.0</TargetFramework>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<RootNamespace>Musify.Api</RootNamespace>
|
||||||
|
<AssemblyName>Musify.Api</AssemblyName>
|
||||||
<UserSecretsId>1c3fa41c-6f07-433b-af79-1f67fad338fd</UserSecretsId>
|
<UserSecretsId>1c3fa41c-6f07-433b-af79-1f67fad338fd</UserSecretsId>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
@@ -33,9 +35,9 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\MusifyBackend\Application\Application.csproj" />
|
<ProjectReference Include="..\Musify.Application\Musify.Application.csproj" />
|
||||||
<ProjectReference Include="..\..\MusifyBackend\Domain\Domain.csproj" />
|
<ProjectReference Include="..\Musify.Domain\Musify.Domain.csproj" />
|
||||||
<ProjectReference Include="..\..\MusifyBackend\Infrastructure\Infrastructure.csproj" />
|
<ProjectReference Include="..\Musify.Infrastructure\Musify.Infrastructure.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
using Microsoft.AspNetCore.OpenApi;
|
using Microsoft.AspNetCore.OpenApi;
|
||||||
|
|
||||||
namespace WebApi.OpenApi;
|
namespace Musify.Api.OpenApi;
|
||||||
|
|
||||||
public static class OpenApiExtensions
|
public static class OpenApiExtensions
|
||||||
{
|
{
|
||||||
+2
-2
@@ -2,9 +2,9 @@ using Microsoft.AspNetCore.Authorization;
|
|||||||
using Microsoft.AspNetCore.OpenApi;
|
using Microsoft.AspNetCore.OpenApi;
|
||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
using Microsoft.OpenApi;
|
using Microsoft.OpenApi;
|
||||||
using WebApi.Authentication;
|
using Musify.Api.Authentication;
|
||||||
|
|
||||||
namespace WebApi.OpenApi;
|
namespace Musify.Api.OpenApi;
|
||||||
|
|
||||||
public sealed class OpenApiOptionsSetup(IOptions<AuthenticationConfiguration> options)
|
public sealed class OpenApiOptionsSetup(IOptions<AuthenticationConfiguration> options)
|
||||||
: IConfigureNamedOptions<OpenApiOptions>
|
: IConfigureNamedOptions<OpenApiOptions>
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using Musify.Infrastructure.Observability;
|
using Musify.Infrastructure.Observability;
|
||||||
using Scalar.AspNetCore;
|
using Scalar.AspNetCore;
|
||||||
using WebApi.Endpoints;
|
using Musify.Api.Endpoints;
|
||||||
using WebApi.Extensions;
|
using Musify.Api.Extensions;
|
||||||
|
|
||||||
var builder = WebApplication.CreateBuilder();
|
var builder = WebApplication.CreateBuilder();
|
||||||
|
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
namespace WebApi.Scalar;
|
namespace Musify.Api.Scalar;
|
||||||
|
|
||||||
public static class ScalarExtensions
|
public static class ScalarExtensions
|
||||||
{
|
{
|
||||||
+2
-2
@@ -1,8 +1,8 @@
|
|||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
using Scalar.AspNetCore;
|
using Scalar.AspNetCore;
|
||||||
using WebApi.Authentication;
|
using Musify.Api.Authentication;
|
||||||
|
|
||||||
namespace WebApi.Scalar;
|
namespace Musify.Api.Scalar;
|
||||||
|
|
||||||
public sealed class ScalarOptionsSetup(IOptions<AuthenticationConfiguration> options)
|
public sealed class ScalarOptionsSetup(IOptions<AuthenticationConfiguration> options)
|
||||||
: IConfigureOptions<ScalarOptions>
|
: IConfigureOptions<ScalarOptions>
|
||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
using FluentValidation;
|
using FluentValidation;
|
||||||
using WebApi.DataTransferObjects.PlayLists;
|
using Musify.Api.DataTransferObjects.PlayLists;
|
||||||
|
|
||||||
namespace WebApi.Validators.PlayLists;
|
namespace Musify.Api.Validators.PlayLists;
|
||||||
|
|
||||||
public sealed class CreatePlayListRequestValidator : AbstractValidator<CreatePlayListRequest>
|
public sealed class CreatePlayListRequestValidator : AbstractValidator<CreatePlayListRequest>
|
||||||
{
|
{
|
||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
using FluentValidation;
|
using FluentValidation;
|
||||||
using WebApi.DataTransferObjects.PlayLists;
|
using Musify.Api.DataTransferObjects.PlayLists;
|
||||||
|
|
||||||
namespace WebApi.Validators.PlayLists;
|
namespace Musify.Api.Validators.PlayLists;
|
||||||
|
|
||||||
public sealed class RequestPlayListPictureUploadRequestValidator : AbstractValidator<RequestPlayListPictureUploadRequest>
|
public sealed class RequestPlayListPictureUploadRequestValidator : AbstractValidator<RequestPlayListPictureUploadRequest>
|
||||||
{
|
{
|
||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
using FluentValidation;
|
using FluentValidation;
|
||||||
using WebApi.DataTransferObjects.PlayLists;
|
using Musify.Api.DataTransferObjects.PlayLists;
|
||||||
|
|
||||||
namespace WebApi.Validators.PlayLists;
|
namespace Musify.Api.Validators.PlayLists;
|
||||||
|
|
||||||
public sealed class UpdatePlayListRequestValidator : AbstractValidator<UpdatePlayListRequest>
|
public sealed class UpdatePlayListRequestValidator : AbstractValidator<UpdatePlayListRequest>
|
||||||
{
|
{
|
||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
using FluentValidation;
|
using FluentValidation;
|
||||||
using WebApi.DataTransferObjects.Tracks;
|
using Musify.Api.DataTransferObjects.Tracks;
|
||||||
|
|
||||||
namespace WebApi.Validators.Tracks;
|
namespace Musify.Api.Validators.Tracks;
|
||||||
|
|
||||||
public sealed class CreateTrackRequestValidator : AbstractValidator<CreateTrackRequest>
|
public sealed class CreateTrackRequestValidator : AbstractValidator<CreateTrackRequest>
|
||||||
{
|
{
|
||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
using FluentValidation;
|
using FluentValidation;
|
||||||
using WebApi.DataTransferObjects.Tracks;
|
using Musify.Api.DataTransferObjects.Tracks;
|
||||||
|
|
||||||
namespace WebApi.Validators.Tracks;
|
namespace Musify.Api.Validators.Tracks;
|
||||||
|
|
||||||
public sealed class RequestTrackUploadUrlsRequestValidator : AbstractValidator<RequestTrackUploadUrlsRequest>
|
public sealed class RequestTrackUploadUrlsRequestValidator : AbstractValidator<RequestTrackUploadUrlsRequest>
|
||||||
{
|
{
|
||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
using FluentValidation;
|
using FluentValidation;
|
||||||
using WebApi.DataTransferObjects.Users;
|
using Musify.Api.DataTransferObjects.Users;
|
||||||
|
|
||||||
namespace WebApi.Validators.Users;
|
namespace Musify.Api.Validators.Users;
|
||||||
|
|
||||||
public sealed class CreateUserRequestValidator : AbstractValidator<CreateUserRequest>
|
public sealed class CreateUserRequestValidator : AbstractValidator<CreateUserRequest>
|
||||||
{
|
{
|
||||||
+1
-1
@@ -29,7 +29,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\Domain\Domain.csproj" />
|
<ProjectReference Include="..\Musify.Domain\Musify.Domain.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user