Design Prot Merge #1

Merged
NotS1mp merged 217 commits from design-prot into master 2026-09-21 15:48:16 +00:00
17 changed files with 81 additions and 53 deletions
Showing only changes of commit aca7238020 - Show all commits
@@ -1,5 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<AssemblyName>Musify.Application</AssemblyName>
<RootNamespace>Musify.Application</RootNamespace>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="ErrorOr" /> <PackageReference Include="ErrorOr" />
<PackageReference Include="MassTransit" /> <PackageReference Include="MassTransit" />
@@ -19,7 +24,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Musify.Domain\Musify.Domain.csproj" /> <ProjectReference Include="..\Musify.Domain\Domain.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>
+8
View File
@@ -0,0 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<AssemblyName>Musify.Domain</AssemblyName>
<RootNamespace>Musify.Domain</RootNamespace>
</PropertyGroup>
</Project>
@@ -1,3 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
</Project>
@@ -1,6 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<AssemblyName>Musify.Infrastructure</AssemblyName>
<RootNamespace>Musify.Infrastructure</RootNamespace>
<UserSecretsId>07d419fc-9ade-471a-bc0e-aebece785b30</UserSecretsId> <UserSecretsId>07d419fc-9ade-471a-bc0e-aebece785b30</UserSecretsId>
</PropertyGroup> </PropertyGroup>
@@ -35,8 +37,8 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Musify.Application\Musify.Application.csproj" /> <ProjectReference Include="..\Musify.Application\Application.csproj" />
<ProjectReference Include="..\Musify.Domain\Musify.Domain.csproj" /> <ProjectReference Include="..\Musify.Domain\Domain.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
@@ -1,6 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk.Web"> <Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup> <PropertyGroup>
<AssemblyName>Musify.Api</AssemblyName>
<RootNamespace>Musify.Api</RootNamespace>
<UserSecretsId>1c3fa41c-6f07-433b-af79-1f67fad338fd</UserSecretsId> <UserSecretsId>1c3fa41c-6f07-433b-af79-1f67fad338fd</UserSecretsId>
</PropertyGroup> </PropertyGroup>
@@ -31,9 +33,9 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\Core\Musify.Application\Musify.Application.csproj" /> <ProjectReference Include="..\..\Core\Musify.Application\Application.csproj" />
<ProjectReference Include="..\..\Core\Musify.Domain\Musify.Domain.csproj" /> <ProjectReference Include="..\..\Core\Musify.Domain\Domain.csproj" />
<ProjectReference Include="..\..\Core\Musify.Infrastructure\Musify.Infrastructure.csproj" /> <ProjectReference Include="..\..\Core\Musify.Infrastructure\Infrastructure.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>
@@ -1,6 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk.Web"> <Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup> <PropertyGroup>
<AssemblyName>Musify.StreamingGateway</AssemblyName>
<RootNamespace>Musify.StreamingGateway</RootNamespace>
<UserSecretsId>media-gateway-2f1c9b6a-7d3e-4c0a-9a21-0b8e5d4c3f10</UserSecretsId> <UserSecretsId>media-gateway-2f1c9b6a-7d3e-4c0a-9a21-0b8e5d4c3f10</UserSecretsId>
</PropertyGroup> </PropertyGroup>
@@ -1,6 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk.Worker"> <Project Sdk="Microsoft.NET.Sdk.Worker">
<PropertyGroup> <PropertyGroup>
<AssemblyName>Musify.Worker</AssemblyName>
<RootNamespace>Musify.Worker</RootNamespace>
<UserSecretsId>dotnet-PictureWorker-1dfff89f-0602-41b7-8eaf-4da2c3358789</UserSecretsId> <UserSecretsId>dotnet-PictureWorker-1dfff89f-0602-41b7-8eaf-4da2c3358789</UserSecretsId>
</PropertyGroup> </PropertyGroup>
@@ -18,9 +20,9 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\Core\Musify.Application\Musify.Application.csproj" /> <ProjectReference Include="..\..\Core\Musify.Application\Application.csproj" />
<ProjectReference Include="..\..\Core\Musify.Domain\Musify.Domain.csproj" /> <ProjectReference Include="..\..\Core\Musify.Domain\Domain.csproj" />
<ProjectReference Include="..\..\Core\Musify.Infrastructure\Musify.Infrastructure.csproj" /> <ProjectReference Include="..\..\Core\Musify.Infrastructure\Infrastructure.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>
+6 -6
View File
@@ -4,14 +4,14 @@ WORKDIR /src
# Restore: copy central config + csproj files first to cache the layer. # Restore: copy central config + csproj files first to cache the layer.
COPY Directory.Build.props Directory.Packages.props nuget.config ./ COPY Directory.Build.props Directory.Packages.props nuget.config ./
COPY Core/Musify.Domain/Musify.Domain.csproj Core/Musify.Domain/ COPY Core/Musify.Domain/Domain.csproj Core/Musify.Domain/
COPY Core/Musify.Application/Musify.Application.csproj Core/Musify.Application/ COPY Core/Musify.Application/Application.csproj Core/Musify.Application/
COPY Core/Musify.Infrastructure/Musify.Infrastructure.csproj Core/Musify.Infrastructure/ COPY Core/Musify.Infrastructure/Infrastructure.csproj Core/Musify.Infrastructure/
COPY Hosts/Musify.Api/Musify.Api.csproj Hosts/Musify.Api/ COPY Hosts/Musify.Api/Api.csproj Hosts/Musify.Api/
RUN dotnet restore Hosts/Musify.Api/Musify.Api.csproj RUN dotnet restore Hosts/Musify.Api/Api.csproj
COPY . . COPY . .
RUN dotnet publish Hosts/Musify.Api/Musify.Api.csproj -c Release -o /app --no-restore RUN dotnet publish Hosts/Musify.Api/Api.csproj -c Release -o /app --no-restore
# Config files are AppSettings*.json (PascalCase); on case-sensitive Linux the host # Config files are AppSettings*.json (PascalCase); on case-sensitive Linux the host
# looks for appsettings*.json. Add lowercase copies so they get loaded. # looks for appsettings*.json. Add lowercase copies so they get loaded.
RUN cp /app/AppSettings.json /app/appsettings.json \ RUN cp /app/AppSettings.json /app/appsettings.json \
+4 -4
View File
@@ -9,10 +9,10 @@ FROM mcr.microsoft.com/dotnet/sdk:10.0
WORKDIR /src WORKDIR /src
COPY Directory.Build.props Directory.Packages.props nuget.config ./ COPY Directory.Build.props Directory.Packages.props nuget.config ./
COPY Core/Musify.Domain/Musify.Domain.csproj Core/Musify.Domain/ COPY Core/Musify.Domain/Domain.csproj Core/Musify.Domain/
COPY Core/Musify.Application/Musify.Application.csproj Core/Musify.Application/ COPY Core/Musify.Application/Application.csproj Core/Musify.Application/
COPY Core/Musify.Infrastructure/Musify.Infrastructure.csproj Core/Musify.Infrastructure/ COPY Core/Musify.Infrastructure/Infrastructure.csproj Core/Musify.Infrastructure/
RUN dotnet restore Core/Musify.Infrastructure/Musify.Infrastructure.csproj RUN dotnet restore Core/Musify.Infrastructure/Infrastructure.csproj
COPY Core/Musify.Domain Core/Musify.Domain/ COPY Core/Musify.Domain Core/Musify.Domain/
COPY Core/Musify.Application Core/Musify.Application/ COPY Core/Musify.Application Core/Musify.Application/
+3 -3
View File
@@ -3,11 +3,11 @@ FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
WORKDIR /src WORKDIR /src
COPY Directory.Build.props Directory.Packages.props nuget.config ./ COPY Directory.Build.props Directory.Packages.props nuget.config ./
COPY Hosts/Musify.StreamingGateway/Musify.StreamingGateway.csproj Hosts/Musify.StreamingGateway/ COPY Hosts/Musify.StreamingGateway/StreamingGateway.csproj Hosts/Musify.StreamingGateway/
RUN dotnet restore Hosts/Musify.StreamingGateway/Musify.StreamingGateway.csproj RUN dotnet restore Hosts/Musify.StreamingGateway/StreamingGateway.csproj
COPY . . COPY . .
RUN dotnet publish Hosts/Musify.StreamingGateway/Musify.StreamingGateway.csproj -c Release -o /app --no-restore RUN dotnet publish Hosts/Musify.StreamingGateway/StreamingGateway.csproj -c Release -o /app --no-restore
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS runtime FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS runtime
WORKDIR /app WORKDIR /app
+6 -6
View File
@@ -3,14 +3,14 @@ FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
WORKDIR /src WORKDIR /src
COPY Directory.Build.props Directory.Packages.props nuget.config ./ COPY Directory.Build.props Directory.Packages.props nuget.config ./
COPY Core/Musify.Domain/Musify.Domain.csproj Core/Musify.Domain/ COPY Core/Musify.Domain/Domain.csproj Core/Musify.Domain/
COPY Core/Musify.Application/Musify.Application.csproj Core/Musify.Application/ COPY Core/Musify.Application/Application.csproj Core/Musify.Application/
COPY Core/Musify.Infrastructure/Musify.Infrastructure.csproj Core/Musify.Infrastructure/ COPY Core/Musify.Infrastructure/Infrastructure.csproj Core/Musify.Infrastructure/
COPY Hosts/Musify.Worker/Musify.Worker.csproj Hosts/Musify.Worker/ COPY Hosts/Musify.Worker/Worker.csproj Hosts/Musify.Worker/
RUN dotnet restore Hosts/Musify.Worker/Musify.Worker.csproj RUN dotnet restore Hosts/Musify.Worker/Worker.csproj
COPY . . COPY . .
RUN dotnet publish Hosts/Musify.Worker/Musify.Worker.csproj -c Release -o /app --no-restore RUN dotnet publish Hosts/Musify.Worker/Worker.csproj -c Release -o /app --no-restore
# AppSettings*.json (PascalCase) -> lowercase copies for case-sensitive Linux. # AppSettings*.json (PascalCase) -> lowercase copies for case-sensitive Linux.
RUN cp /app/AppSettings.json /app/appsettings.json \ RUN cp /app/AppSettings.json /app/appsettings.json \
&& cp /app/AppSettings.Development.json /app/appsettings.Development.json && cp /app/AppSettings.Development.json /app/appsettings.Development.json
+11 -11
View File
@@ -1,19 +1,19 @@
<Solution> <Solution>
<Folder Name="/Core/"> <Folder Name="/Core/">
<Project Path="Core/Musify.Domain/Musify.Domain.csproj" /> <Project Path="Core/Musify.Domain/Domain.csproj" />
<Project Path="Core/Musify.Application/Musify.Application.csproj" /> <Project Path="Core/Musify.Application/Application.csproj" />
<Project Path="Core/Musify.Infrastructure/Musify.Infrastructure.csproj" /> <Project Path="Core/Musify.Infrastructure/Infrastructure.csproj" />
</Folder> </Folder>
<Folder Name="/Hosts/"> <Folder Name="/Hosts/">
<Project Path="Hosts/Musify.Api/Musify.Api.csproj" /> <Project Path="Hosts/Musify.Api/Api.csproj" />
<Project Path="Hosts/Musify.Worker/Musify.Worker.csproj" /> <Project Path="Hosts/Musify.Worker/Worker.csproj" />
<Project Path="Hosts/Musify.StreamingGateway/Musify.StreamingGateway.csproj" /> <Project Path="Hosts/Musify.StreamingGateway/StreamingGateway.csproj" />
</Folder> </Folder>
<Folder Name="/Tests/"> <Folder Name="/Tests/">
<Project Path="Tests/Musify.Domain.Tests/Musify.Domain.Tests.csproj" /> <Project Path="Tests/Musify.Domain.Tests/Domain.Tests.csproj" />
<Project Path="Tests/Musify.Application.Tests/Musify.Application.Tests.csproj" /> <Project Path="Tests/Musify.Application.Tests/Application.Tests.csproj" />
<Project Path="Tests/Musify.Infrastructure.Tests/Musify.Infrastructure.Tests.csproj" /> <Project Path="Tests/Musify.Infrastructure.Tests/Infrastructure.Tests.csproj" />
<Project Path="Tests/Musify.Api.Tests/Musify.Api.Tests.csproj" /> <Project Path="Tests/Musify.Api.Tests/Api.Tests.csproj" />
<Project Path="Tests/Musify.StreamingGateway.Tests/Musify.StreamingGateway.Tests.csproj" /> <Project Path="Tests/Musify.StreamingGateway.Tests/StreamingGateway.Tests.csproj" />
</Folder> </Folder>
</Solution> </Solution>
@@ -1,6 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<AssemblyName>Musify.Api.Tests</AssemblyName>
<RootNamespace>Musify.Api.Tests</RootNamespace>
<IsPackable>false</IsPackable> <IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject> <IsTestProject>true</IsTestProject>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
@@ -23,10 +25,10 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\Core\Musify.Domain\Musify.Domain.csproj" /> <ProjectReference Include="..\..\Core\Musify.Domain\Domain.csproj" />
<ProjectReference Include="..\..\Core\Musify.Application\Musify.Application.csproj" /> <ProjectReference Include="..\..\Core\Musify.Application\Application.csproj" />
<ProjectReference Include="..\..\Core\Musify.Infrastructure\Musify.Infrastructure.csproj" /> <ProjectReference Include="..\..\Core\Musify.Infrastructure\Infrastructure.csproj" />
<ProjectReference Include="..\..\Hosts\Musify.Api\Musify.Api.csproj" /> <ProjectReference Include="..\..\Hosts\Musify.Api\Api.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>
@@ -1,6 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<AssemblyName>Musify.Application.Tests</AssemblyName>
<RootNamespace>Musify.Application.Tests</RootNamespace>
<IsPackable>false</IsPackable> <IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject> <IsTestProject>true</IsTestProject>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
@@ -23,8 +25,8 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\Core\Musify.Domain\Musify.Domain.csproj" /> <ProjectReference Include="..\..\Core\Musify.Domain\Domain.csproj" />
<ProjectReference Include="..\..\Core\Musify.Application\Musify.Application.csproj" /> <ProjectReference Include="..\..\Core\Musify.Application\Application.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>
@@ -1,6 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<AssemblyName>Musify.Domain.Tests</AssemblyName>
<RootNamespace>Musify.Domain.Tests</RootNamespace>
<IsPackable>false</IsPackable> <IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject> <IsTestProject>true</IsTestProject>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
@@ -20,7 +22,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\Core\Musify.Domain\Musify.Domain.csproj" /> <ProjectReference Include="..\..\Core\Musify.Domain\Domain.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>
@@ -1,6 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<AssemblyName>Musify.Infrastructure.Tests</AssemblyName>
<RootNamespace>Musify.Infrastructure.Tests</RootNamespace>
<IsPackable>false</IsPackable> <IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject> <IsTestProject>true</IsTestProject>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
@@ -27,9 +29,9 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\Core\Musify.Domain\Musify.Domain.csproj" /> <ProjectReference Include="..\..\Core\Musify.Domain\Domain.csproj" />
<ProjectReference Include="..\..\Core\Musify.Application\Musify.Application.csproj" /> <ProjectReference Include="..\..\Core\Musify.Application\Application.csproj" />
<ProjectReference Include="..\..\Core\Musify.Infrastructure\Musify.Infrastructure.csproj" /> <ProjectReference Include="..\..\Core\Musify.Infrastructure\Infrastructure.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>
@@ -1,6 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<AssemblyName>Musify.StreamingGateway.Tests</AssemblyName>
<RootNamespace>Musify.StreamingGateway.Tests</RootNamespace>
<IsPackable>false</IsPackable> <IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject> <IsTestProject>true</IsTestProject>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
@@ -20,7 +22,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\Hosts\Musify.StreamingGateway\Musify.StreamingGateway.csproj" /> <ProjectReference Include="..\..\Hosts\Musify.StreamingGateway\StreamingGateway.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>