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

  <PropertyGroup>
    <AssemblyName>BookingService.Infrastructure</AssemblyName>
    <RootNamespace>BookingService.Infrastructure</RootNamespace>
    <Description>Infrastructure layer for data access and external services</Description>
  </PropertyGroup>

  <ItemGroup>
    <!-- EN: Entity Framework Core with PostgreSQL / VI: Entity Framework Core với PostgreSQL -->
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="10.0.0" />
    <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="10.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="10.0.0">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    
    <!-- EN: MediatR for dispatching domain events / VI: MediatR để dispatch domain events -->
    <PackageReference Include="MediatR" Version="12.4.1" />
    
    <!-- EN: Dapper for read-optimized queries / VI: Dapper cho queries tối ưu đọc -->
    <PackageReference Include="Dapper" Version="2.1.35" />
    
    <!-- EN: Resilience with Polly / VI: Resilience với Polly -->
    <PackageReference Include="Microsoft.Extensions.Http.Polly" Version="9.0.0" />
    <PackageReference Include="Polly" Version="8.5.0" />
    
    <!-- EN: Redis cache / VI: Redis cache -->
    <PackageReference Include="StackExchange.Redis" Version="2.8.16" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\BookingService.Domain\BookingService.Domain.csproj" />
  </ItemGroup>

</Project>
