<Project Sdk="Microsoft.NET.Sdk.Web">

    <PropertyGroup>
        <TargetFramework>net9.0</TargetFramework>
        <Nullable>enable</Nullable>
        <ImplicitUsings>enable</ImplicitUsings>
    </PropertyGroup>

    <ItemGroup>
        <PackageReference Include="Grpc.AspNetCore.Server" Version="2.71.0"/>
        <PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.7"/>
        <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.7">
            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
            <PrivateAssets>all</PrivateAssets>
        </PackageReference>
        <PackageReference Include="Nerdbank.GitVersioning" Version="3.7.115">
            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
            <PrivateAssets>all</PrivateAssets>
        </PackageReference>
        <PackageReference Include="NodaTime" Version="3.2.2"/>
        <PackageReference Include="NodaTime.Serialization.JsonNet" Version="3.2.0"/>
        <PackageReference Include="NodaTime.Serialization.Protobuf" Version="2.0.2"/>
        <PackageReference Include="NodaTime.Serialization.SystemTextJson" Version="1.3.0"/>
        <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.4"/>
        <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL.Design" Version="1.1.0"/>
        <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL.NetTopologySuite" Version="9.0.4"/>
        <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL.NodaTime" Version="9.0.4"/>
        <PackageReference Include="OpenGraph-Net" Version="4.0.1" />
        <PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.12.0"/>
        <PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.12.0"/>
        <PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.12.0"/>
        <PackageReference Include="OpenTelemetry.Instrumentation.Http" Version="1.12.0"/>
        <PackageReference Include="OpenTelemetry.Instrumentation.Runtime" Version="1.12.0"/>
        <PackageReference Include="Otp.NET" Version="1.4.0"/>
        <PackageReference Include="prometheus-net.AspNetCore" Version="8.2.1"/>
        <PackageReference Include="prometheus-net.AspNetCore.HealthChecks" Version="8.2.1"/>
        <PackageReference Include="prometheus-net.DotNetRuntime" Version="4.4.1"/>
        <PackageReference Include="prometheus-net.EntityFramework" Version="0.9.5"/>
        <PackageReference Include="prometheus-net.SystemMetrics" Version="3.1.0"/>
        <PackageReference Include="Quartz" Version="3.14.0"/>
        <PackageReference Include="Quartz.AspNetCore" Version="3.14.0"/>
        <PackageReference Include="Quartz.Extensions.Hosting" Version="3.14.0"/>
        <PackageReference Include="BCrypt.Net-Next" Version="4.0.3"/>
        <PackageReference Include="EFCore.BulkExtensions" Version="9.0.1"/>
        <PackageReference Include="EFCore.BulkExtensions.PostgreSql" Version="9.0.1"/>
        <PackageReference Include="EFCore.NamingConventions" Version="9.0.0"/>
        <PackageReference Include="Swashbuckle.AspNetCore" Version="9.0.3"/>
        <PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="9.0.3"/>
    </ItemGroup>

    <ItemGroup>
        <ProjectReference Include="..\DysonNetwork.Shared\DysonNetwork.Shared.csproj"/>
    </ItemGroup>

    <ItemGroup>
        <Compile Update="Resources\Localization\NotificationResource.Designer.cs">
            <DesignTime>True</DesignTime>
            <AutoGen>True</AutoGen>
            <DependentUpon>NotificationResource.resx</DependentUpon>
        </Compile>
        <Compile Update="Resources\Localization\SharedResource.Designer.cs">
            <DesignTime>True</DesignTime>
            <AutoGen>True</AutoGen>
            <DependentUpon>SharedResource.resx</DependentUpon>
        </Compile>
        <Compile Update="Resources\Localization\NotificationResource.Designer.cs">
            <DesignTime>True</DesignTime>
            <AutoGen>True</AutoGen>
            <DependentUpon>NotificationResource.resx</DependentUpon>
        </Compile>
        <Compile Update="Resources\Localization\SharedResource.Designer.cs">
            <DesignTime>True</DesignTime>
            <AutoGen>True</AutoGen>
            <DependentUpon>SharedResource.resx</DependentUpon>
        </Compile>
        <Compile Update="Resources\Localization\AccountEventResource.Designer.cs">
            <DesignTime>True</DesignTime>
            <AutoGen>True</AutoGen>
            <DependentUpon>AccountEventResource.resx</DependentUpon>
        </Compile>
        <Compile Update="Resources\Localization\AccountEventResource.Designer.cs">
            <DesignTime>True</DesignTime>
            <AutoGen>True</AutoGen>
            <DependentUpon>AccountEventResource.resx</DependentUpon>
        </Compile>
        <Compile Update="Resources\Localization\AccountEventResource.Designer.cs">
            <DesignTime>True</DesignTime>
            <AutoGen>True</AutoGen>
            <DependentUpon>AccountEventResource.resx</DependentUpon>
        </Compile>
        <Compile Update="Resources\Localization\NotificationResource.Designer.cs">
            <DesignTime>True</DesignTime>
            <AutoGen>True</AutoGen>
            <DependentUpon>NotificationResource.resx</DependentUpon>
        </Compile>
        <Compile Update="Resources\Localization\SharedResource.Designer.cs">
            <DesignTime>True</DesignTime>
            <AutoGen>True</AutoGen>
            <DependentUpon>SharedResource.resx</DependentUpon>
        </Compile>
    </ItemGroup>

    <ItemGroup>
        <EmbeddedResource Update="Resources\Localization\EmailResource.resx">
            <Generator>ResXFileCodeGenerator</Generator>
            <LastGenOutput>Email.LandingResource.Designer.cs</LastGenOutput>
        </EmbeddedResource>
        <EmbeddedResource Update="Resources\Localization\NotificationResource.resx">
            <Generator>ResXFileCodeGenerator</Generator>
            <LastGenOutput>NotificationResource.Designer.cs</LastGenOutput>
        </EmbeddedResource>
        <EmbeddedResource Update="Resources\Localization\SharedResource.resx">
            <Generator>ResXFileCodeGenerator</Generator>
            <LastGenOutput>SharedResource.Designer.cs</LastGenOutput>
        </EmbeddedResource>
        <EmbeddedResource Update="Resources\Localization\AccountEventResource.resx">
            <Generator>ResXFileCodeGenerator</Generator>
            <LastGenOutput>AccountEventResource.Designer.cs</LastGenOutput>
        </EmbeddedResource>
        <EmbeddedResource Update="Resources\Localization\AccountEventResource.resx">
            <Generator>ResXFileCodeGenerator</Generator>
            <LastGenOutput>AccountEventResource.Designer.cs</LastGenOutput>
        </EmbeddedResource>
        <EmbeddedResource Update="Resources\Localization\EmailResource.resx">
            <Generator>ResXFileCodeGenerator</Generator>
            <LastGenOutput>Email.LandingResource.Designer.cs</LastGenOutput>
        </EmbeddedResource>
        <EmbeddedResource Update="Resources\Localization\NotificationResource.resx">
            <Generator>ResXFileCodeGenerator</Generator>
            <LastGenOutput>NotificationResource.Designer.cs</LastGenOutput>
        </EmbeddedResource>
        <EmbeddedResource Update="Resources\Localization\SharedResource.resx">
            <Generator>ResXFileCodeGenerator</Generator>
            <LastGenOutput>SharedResource.Designer.cs</LastGenOutput>
        </EmbeddedResource>
    </ItemGroup>

    <ItemGroup>
        <AdditionalFiles Include="Pages\Emails\AccountDeletionEmail.razor"/>
        <AdditionalFiles Include="Pages\Emails\ContactVerificationEmail.razor"/>
        <AdditionalFiles Include="Pages\Emails\EmailLayout.razor"/>
        <AdditionalFiles Include="Pages\Emails\LandingEmail.razor"/>
        <AdditionalFiles Include="Pages\Emails\PasswordResetEmail.razor"/>
        <AdditionalFiles Include="Pages\Emails\VerificationEmail.razor"/>
        <AdditionalFiles Include="Resources\Localization\AccountEventResource.zh-hans.resx"/>
        <AdditionalFiles Include="Resources\Localization\EmailResource.resx"/>
        <AdditionalFiles Include="Resources\Localization\EmailResource.zh-hans.resx"/>
        <AdditionalFiles Include="Resources\Localization\NotificationResource.resx"/>
        <AdditionalFiles Include="Resources\Localization\NotificationResource.zh-hans.resx"/>
        <AdditionalFiles Include="Resources\Localization\SharedResource.resx"/>
        <AdditionalFiles Include="Resources\Localization\SharedResource.zh-hans.resx"/>
    </ItemGroup>
    
</Project>
