proposal-system/api/src/ProposalSystem.Infrastructure/ProposalSystem.Infrastructure.csproj

26 lines
1 KiB
XML
Raw Normal View History

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\ProposalSystem.Application\ProposalSystem.Application.csproj" />
</ItemGroup>
<ItemGroup>
Bump Amazon.Lambda.AspNetCoreServer.Hosting and 14 others (#149) Bumps Amazon.Lambda.AspNetCoreServer.Hosting from 1.7.2 to 1.10.0 Bumps AWSSDK.DynamoDBv2 from 3.7.400 to 3.7.513.4 Bumps AWSSDK.Extensions.NETCore.Setup from 3.7.400 to 3.7.400.2 Bumps AWSSDK.S3 from 3.7.405 to 3.7.511.8 Bumps AWSSDK.SecretsManager from 3.7.500 to 3.7.504.43 Bumps AWSSDK.SQS from 3.7.500 to 3.7.502.57 Bumps FluentAssertions from 7.2.0 to 7.2.2 Bumps FluentValidation from 11.11.0 to 11.12.0 Bumps Microsoft.AspNetCore.Authentication.JwtBearer from 8.0.27 to 8.0.28 Bumps Microsoft.EntityFrameworkCore from 8.0.27 to 8.0.28 Bumps Microsoft.EntityFrameworkCore.Design from 8.0.11 to 8.0.28 Bumps Microsoft.EntityFrameworkCore.InMemory from 8.0.11 to 8.0.28 Bumps Microsoft.EntityFrameworkCore.Sqlite from 8.0.11 to 8.0.28 Bumps Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore from 8.0.27 to 8.0.28 Bumps Microsoft.NET.Test.Sdk from 17.12.0 to 17.14.1 --- updated-dependencies: - dependency-name: Amazon.Lambda.AspNetCoreServer.Hosting dependency-version: 1.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: api - dependency-name: AWSSDK.DynamoDBv2 dependency-version: 3.7.513.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: AWSSDK.Extensions.NETCore.Setup dependency-version: 3.7.400.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: AWSSDK.S3 dependency-version: 3.7.511.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: AWSSDK.SecretsManager dependency-version: 3.7.504.43 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: AWSSDK.SQS dependency-version: 3.7.502.57 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: FluentValidation dependency-version: 11.12.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: api - dependency-name: Microsoft.AspNetCore.Authentication.JwtBearer dependency-version: 8.0.28 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: Microsoft.EntityFrameworkCore dependency-version: 8.0.28 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: Microsoft.EntityFrameworkCore.Design dependency-version: 8.0.28 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore dependency-version: 8.0.28 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: FluentAssertions dependency-version: 7.2.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: Microsoft.EntityFrameworkCore.InMemory dependency-version: 8.0.28 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: Microsoft.EntityFrameworkCore.Sqlite dependency-version: 8.0.28 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 17.14.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: api ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-18 16:13:33 -04:00
<PackageReference Include="AWSSDK.DynamoDBv2" Version="3.7.513.4" />
<PackageReference Include="FluentValidation" Version="11.12.0" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.11" />
Bump Amazon.Lambda.AspNetCoreServer.Hosting and 14 others (#149) Bumps Amazon.Lambda.AspNetCoreServer.Hosting from 1.7.2 to 1.10.0 Bumps AWSSDK.DynamoDBv2 from 3.7.400 to 3.7.513.4 Bumps AWSSDK.Extensions.NETCore.Setup from 3.7.400 to 3.7.400.2 Bumps AWSSDK.S3 from 3.7.405 to 3.7.511.8 Bumps AWSSDK.SecretsManager from 3.7.500 to 3.7.504.43 Bumps AWSSDK.SQS from 3.7.500 to 3.7.502.57 Bumps FluentAssertions from 7.2.0 to 7.2.2 Bumps FluentValidation from 11.11.0 to 11.12.0 Bumps Microsoft.AspNetCore.Authentication.JwtBearer from 8.0.27 to 8.0.28 Bumps Microsoft.EntityFrameworkCore from 8.0.27 to 8.0.28 Bumps Microsoft.EntityFrameworkCore.Design from 8.0.11 to 8.0.28 Bumps Microsoft.EntityFrameworkCore.InMemory from 8.0.11 to 8.0.28 Bumps Microsoft.EntityFrameworkCore.Sqlite from 8.0.11 to 8.0.28 Bumps Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore from 8.0.27 to 8.0.28 Bumps Microsoft.NET.Test.Sdk from 17.12.0 to 17.14.1 --- updated-dependencies: - dependency-name: Amazon.Lambda.AspNetCoreServer.Hosting dependency-version: 1.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: api - dependency-name: AWSSDK.DynamoDBv2 dependency-version: 3.7.513.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: AWSSDK.Extensions.NETCore.Setup dependency-version: 3.7.400.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: AWSSDK.S3 dependency-version: 3.7.511.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: AWSSDK.SecretsManager dependency-version: 3.7.504.43 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: AWSSDK.SQS dependency-version: 3.7.502.57 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: FluentValidation dependency-version: 11.12.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: api - dependency-name: Microsoft.AspNetCore.Authentication.JwtBearer dependency-version: 8.0.28 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: Microsoft.EntityFrameworkCore dependency-version: 8.0.28 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: Microsoft.EntityFrameworkCore.Design dependency-version: 8.0.28 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore dependency-version: 8.0.28 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: FluentAssertions dependency-version: 7.2.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: Microsoft.EntityFrameworkCore.InMemory dependency-version: 8.0.28 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: Microsoft.EntityFrameworkCore.Sqlite dependency-version: 8.0.28 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 17.14.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: api ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-18 16:13:33 -04:00
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.28" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.28" />
<PackageReference Include="AWSSDK.S3" Version="3.7.511.8" />
feat: proposal delivery — email customers the PDF on Mark as Sent (#126) * feat: proposal delivery — email customers the PDF on "Mark as Sent" Makes the system's namesake feature real: marking a proposal Sent now emails the customer an expiring link to the branded PDF, and customers are managed (with contact emails) instead of hardcoded. v1 PR4. API: - Customer.ContactEmail + migration; Customer list/update endpoints. Search stays additive at GET /api/customers?query= (frozen-mobile + web compat); new paginated list at GET /api/customers/list (admin). - IEmailService (SesEmailService v2 / DevEmailService, dev-gated). MarkSentAsync resolves the customer's email, presigns the latest PDF (7d), and sends via SES. Email/presign failures are caught + audited and NEVER roll back the Sent transition. - Startup EF migration guarded by a Postgres advisory lock (concurrency-safe). Infra: - SES email identity (proposals@seahavenind.com); least-privilege ses:SendEmail/ SendRawEmail scoped to the identity ARN + ses:FromAddress condition; SES_FROM_ADDRESS env. SES starts in sandbox — production access needed for unverified recipients. Web: - Customer management page (/admin/customers): list / create / edit incl. contact email. - New-proposal form searches real customers (free-solo) instead of a hardcoded value. - Mark-as-Sent dialog notes the PDF will be emailed to the customer. GPT-4.1 cross-review (SES IAM): no BLOCK (ses:FromAddress condition applied). Verified: api build + 121 tests; web tsc + 26 tests; infra tsc; ruff clean. * Potential fix for pull request finding 'CodeQL / Exposure of private information' Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * Potential fix for pull request finding 'CodeQL / Exposure of private information' Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * Potential fix for pull request finding 'CodeQL / Exposure of private information' Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --------- Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-06-18 12:40:55 -04:00
<PackageReference Include="AWSSDK.SimpleEmailV2" Version="3.7.500.0" />
Bump Amazon.Lambda.AspNetCoreServer.Hosting and 14 others (#149) Bumps Amazon.Lambda.AspNetCoreServer.Hosting from 1.7.2 to 1.10.0 Bumps AWSSDK.DynamoDBv2 from 3.7.400 to 3.7.513.4 Bumps AWSSDK.Extensions.NETCore.Setup from 3.7.400 to 3.7.400.2 Bumps AWSSDK.S3 from 3.7.405 to 3.7.511.8 Bumps AWSSDK.SecretsManager from 3.7.500 to 3.7.504.43 Bumps AWSSDK.SQS from 3.7.500 to 3.7.502.57 Bumps FluentAssertions from 7.2.0 to 7.2.2 Bumps FluentValidation from 11.11.0 to 11.12.0 Bumps Microsoft.AspNetCore.Authentication.JwtBearer from 8.0.27 to 8.0.28 Bumps Microsoft.EntityFrameworkCore from 8.0.27 to 8.0.28 Bumps Microsoft.EntityFrameworkCore.Design from 8.0.11 to 8.0.28 Bumps Microsoft.EntityFrameworkCore.InMemory from 8.0.11 to 8.0.28 Bumps Microsoft.EntityFrameworkCore.Sqlite from 8.0.11 to 8.0.28 Bumps Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore from 8.0.27 to 8.0.28 Bumps Microsoft.NET.Test.Sdk from 17.12.0 to 17.14.1 --- updated-dependencies: - dependency-name: Amazon.Lambda.AspNetCoreServer.Hosting dependency-version: 1.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: api - dependency-name: AWSSDK.DynamoDBv2 dependency-version: 3.7.513.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: AWSSDK.Extensions.NETCore.Setup dependency-version: 3.7.400.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: AWSSDK.S3 dependency-version: 3.7.511.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: AWSSDK.SecretsManager dependency-version: 3.7.504.43 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: AWSSDK.SQS dependency-version: 3.7.502.57 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: FluentValidation dependency-version: 11.12.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: api - dependency-name: Microsoft.AspNetCore.Authentication.JwtBearer dependency-version: 8.0.28 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: Microsoft.EntityFrameworkCore dependency-version: 8.0.28 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: Microsoft.EntityFrameworkCore.Design dependency-version: 8.0.28 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore dependency-version: 8.0.28 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: FluentAssertions dependency-version: 7.2.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: Microsoft.EntityFrameworkCore.InMemory dependency-version: 8.0.28 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: Microsoft.EntityFrameworkCore.Sqlite dependency-version: 8.0.28 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: api - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 17.14.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: api ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-18 16:13:33 -04:00
<PackageReference Include="AWSSDK.SQS" Version="3.7.502.57" />
<PackageReference Include="AWSSDK.SecretsManager" Version="3.7.504.43" />
</ItemGroup>
</Project>