mirror of
https://github.com/meysamhadeli/booking-microservices.git
synced 2026-05-03 03:11:51 +08:00
commit
0117c5ccba
2
.github/workflows/dotnet.yml
vendored
2
.github/workflows/dotnet.yml
vendored
@ -20,5 +20,5 @@ jobs:
|
|||||||
- name: Restore dependencies
|
- name: Restore dependencies
|
||||||
run: dotnet restore
|
run: dotnet restore
|
||||||
- name: Build
|
- name: Build
|
||||||
run: dotnet build --no-restore
|
run: dotnet build -c Release --no-restore
|
||||||
|
|
||||||
|
|||||||
@ -16,7 +16,7 @@ services:
|
|||||||
- "5001:80"
|
- "5001:80"
|
||||||
- "5000:443"
|
- "5000:443"
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- sql
|
||||||
- rabbitmq
|
- rabbitmq
|
||||||
- jaeger
|
- jaeger
|
||||||
- elasticsearch
|
- elasticsearch
|
||||||
@ -47,7 +47,7 @@ services:
|
|||||||
- 5004:80
|
- 5004:80
|
||||||
- 5003:443
|
- 5003:443
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- sql
|
||||||
- rabbitmq
|
- rabbitmq
|
||||||
- jaeger
|
- jaeger
|
||||||
- elasticsearch
|
- elasticsearch
|
||||||
@ -79,7 +79,7 @@ services:
|
|||||||
- 6005:80
|
- 6005:80
|
||||||
- 5005:443
|
- 5005:443
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- sql
|
||||||
- rabbitmq
|
- rabbitmq
|
||||||
- jaeger
|
- jaeger
|
||||||
- elasticsearch
|
- elasticsearch
|
||||||
@ -110,7 +110,7 @@ services:
|
|||||||
- 6012:80
|
- 6012:80
|
||||||
- 5012:443
|
- 5012:443
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- sql
|
||||||
- rabbitmq
|
- rabbitmq
|
||||||
- jaeger
|
- jaeger
|
||||||
- elasticsearch
|
- elasticsearch
|
||||||
@ -142,10 +142,10 @@ services:
|
|||||||
- 6010:80
|
- 6010:80
|
||||||
- 5010:443
|
- 5010:443
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- sql
|
||||||
- rabbitmq
|
- rabbitmq
|
||||||
- jaeger
|
- jaeger
|
||||||
- eventstore.db
|
- eventstore
|
||||||
- elasticsearch
|
- elasticsearch
|
||||||
- kibana
|
- kibana
|
||||||
- mongo
|
- mongo
|
||||||
@ -163,8 +163,8 @@ services:
|
|||||||
#######################################################
|
#######################################################
|
||||||
# SqlServer
|
# SqlServer
|
||||||
#######################################################
|
#######################################################
|
||||||
db:
|
sql:
|
||||||
container_name: sqldb
|
container_name: sql
|
||||||
image: mcr.microsoft.com/mssql/server:2022-latest
|
image: mcr.microsoft.com/mssql/server:2022-latest
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
@ -196,8 +196,8 @@ services:
|
|||||||
# Rabbitmq
|
# Rabbitmq
|
||||||
#######################################################
|
#######################################################
|
||||||
rabbitmq:
|
rabbitmq:
|
||||||
image: rabbitmq:3-management
|
|
||||||
container_name: rabbitmq
|
container_name: rabbitmq
|
||||||
|
image: rabbitmq:3-management
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- 5672:5672
|
- 5672:5672
|
||||||
@ -228,7 +228,8 @@ services:
|
|||||||
#######################################################
|
#######################################################
|
||||||
# EventStoreDB
|
# EventStoreDB
|
||||||
#######################################################
|
#######################################################
|
||||||
eventstore.db:
|
eventstore:
|
||||||
|
container_name: eventstore
|
||||||
image: eventstore/eventstore:21.2.0-buster-slim
|
image: eventstore/eventstore:21.2.0-buster-slim
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
environment:
|
environment:
|
||||||
@ -251,7 +252,7 @@ services:
|
|||||||
# Mongo
|
# Mongo
|
||||||
#######################################################
|
#######################################################
|
||||||
mongo:
|
mongo:
|
||||||
image: mongo:4
|
image: mongo:5
|
||||||
container_name: mongo
|
container_name: mongo
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
# environment:
|
# environment:
|
||||||
@ -261,9 +262,6 @@ services:
|
|||||||
- booking
|
- booking
|
||||||
ports:
|
ports:
|
||||||
- 27017:27017
|
- 27017:27017
|
||||||
volumes:
|
|
||||||
- mongo:/data/db
|
|
||||||
|
|
||||||
|
|
||||||
#######################################################
|
#######################################################
|
||||||
# Elastic Search
|
# Elastic Search
|
||||||
@ -310,8 +308,6 @@ networks:
|
|||||||
volumes:
|
volumes:
|
||||||
db-data:
|
db-data:
|
||||||
external: false
|
external: false
|
||||||
mongo:
|
|
||||||
driver: local
|
|
||||||
elasticsearch-data:
|
elasticsearch-data:
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -5,8 +5,8 @@ services:
|
|||||||
# Rabbitmq
|
# Rabbitmq
|
||||||
#######################################################
|
#######################################################
|
||||||
rabbitmq:
|
rabbitmq:
|
||||||
image: rabbitmq:3-management
|
|
||||||
container_name: rabbitmq
|
container_name: rabbitmq
|
||||||
|
image: rabbitmq:3-management
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- 5672:5672
|
- 5672:5672
|
||||||
@ -18,8 +18,8 @@ services:
|
|||||||
#######################################################
|
#######################################################
|
||||||
# SqlServer
|
# SqlServer
|
||||||
#######################################################
|
#######################################################
|
||||||
db:
|
sql:
|
||||||
container_name: sqldb
|
container_name: sql
|
||||||
image: mcr.microsoft.com/mssql/server:2022-latest
|
image: mcr.microsoft.com/mssql/server:2022-latest
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
@ -50,8 +50,8 @@ services:
|
|||||||
# Jaeger
|
# Jaeger
|
||||||
#######################################################
|
#######################################################
|
||||||
jaeger:
|
jaeger:
|
||||||
image: jaegertracing/all-in-one
|
|
||||||
container_name: jaeger
|
container_name: jaeger
|
||||||
|
image: jaegertracing/all-in-one
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
- booking
|
- booking
|
||||||
@ -68,7 +68,8 @@ services:
|
|||||||
#######################################################
|
#######################################################
|
||||||
# EventStoreDB
|
# EventStoreDB
|
||||||
#######################################################
|
#######################################################
|
||||||
eventstore.db:
|
eventstore:
|
||||||
|
container_name: eventstore
|
||||||
image: eventstore/eventstore:21.2.0-buster-slim
|
image: eventstore/eventstore:21.2.0-buster-slim
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
environment:
|
environment:
|
||||||
@ -91,7 +92,7 @@ services:
|
|||||||
# Mongo
|
# Mongo
|
||||||
#######################################################
|
#######################################################
|
||||||
mongo:
|
mongo:
|
||||||
image: mongo:4
|
image: mongo:5
|
||||||
container_name: mongo
|
container_name: mongo
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
# environment:
|
# environment:
|
||||||
@ -101,8 +102,6 @@ services:
|
|||||||
- booking
|
- booking
|
||||||
ports:
|
ports:
|
||||||
- 27017:27017
|
- 27017:27017
|
||||||
volumes:
|
|
||||||
- mongo:/data/db
|
|
||||||
|
|
||||||
|
|
||||||
#######################################################
|
#######################################################
|
||||||
@ -162,8 +161,6 @@ networks:
|
|||||||
volumes:
|
volumes:
|
||||||
db-data:
|
db-data:
|
||||||
external: false
|
external: false
|
||||||
mongo:
|
|
||||||
driver: local
|
|
||||||
elasticsearch-data:
|
elasticsearch-data:
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -8,31 +8,31 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Ardalis.GuardClauses" Version="4.0.1" />
|
<PackageReference Include="Ardalis.GuardClauses" Version="4.0.1" />
|
||||||
<PackageReference Include="Asp.Versioning.Abstractions" Version="7.0.0-preview.1" />
|
<PackageReference Include="Asp.Versioning.Abstractions" Version="7.0.0" />
|
||||||
<PackageReference Include="Asp.Versioning.Http" Version="7.0.0-preview.1" />
|
<PackageReference Include="Asp.Versioning.Http" Version="7.0.0" />
|
||||||
<PackageReference Include="Asp.Versioning.Mvc" Version="7.0.0-preview.1" />
|
<PackageReference Include="Asp.Versioning.Mvc" Version="7.0.0" />
|
||||||
<PackageReference Include="Asp.Versioning.Mvc.ApiExplorer" Version="7.0.0-preview.1" />
|
<PackageReference Include="Asp.Versioning.Mvc.ApiExplorer" Version="7.0.0" />
|
||||||
<PackageReference Include="AspNetCore.HealthChecks.Elasticsearch" Version="6.0.2" />
|
<PackageReference Include="AspNetCore.HealthChecks.Elasticsearch" Version="6.0.2" />
|
||||||
<PackageReference Include="AspNetCore.HealthChecks.EventStore" Version="6.0.3" />
|
<PackageReference Include="AspNetCore.HealthChecks.EventStore" Version="6.0.3" />
|
||||||
<PackageReference Include="AspNetCore.HealthChecks.Rabbitmq" Version="6.0.2" />
|
<PackageReference Include="AspNetCore.HealthChecks.Rabbitmq" Version="6.0.2" />
|
||||||
<PackageReference Include="AspNetCore.HealthChecks.SqlServer" Version="6.0.2" />
|
<PackageReference Include="AspNetCore.HealthChecks.SqlServer" Version="6.0.2" />
|
||||||
<PackageReference Include="AspNetCore.HealthChecks.UI.SQLite.Storage" Version="6.0.5" />
|
<PackageReference Include="AspNetCore.HealthChecks.UI.SQLite.Storage" Version="6.0.5" />
|
||||||
<PackageReference Include="Ben.BlockingDetector" Version="0.0.4" />
|
<PackageReference Include="Ben.BlockingDetector" Version="0.0.4" />
|
||||||
<PackageReference Include="EasyCaching.Core" Version="1.7.0" />
|
<PackageReference Include="EasyCaching.Core" Version="1.8.0" />
|
||||||
<PackageReference Include="EasyCaching.InMemory" Version="1.7.0" />
|
<PackageReference Include="EasyCaching.InMemory" Version="1.8.0" />
|
||||||
<PackageReference Include="EasyNetQ.Management.Client" Version="1.4.2" />
|
<PackageReference Include="EasyNetQ.Management.Client" Version="1.4.2" />
|
||||||
<PackageReference Include="EFCore.NamingConventions" Version="7.0.0" />
|
<PackageReference Include="EFCore.NamingConventions" Version="7.0.0" />
|
||||||
<PackageReference Include="EntityFrameworkCore.Triggered" Version="3.2.1" />
|
<PackageReference Include="EntityFrameworkCore.Triggered" Version="3.2.2" />
|
||||||
<PackageReference Include="Figgle" Version="0.4.1" />
|
<PackageReference Include="Figgle" Version="0.4.1" />
|
||||||
<PackageReference Include="FluentValidation" Version="11.3.0" />
|
<PackageReference Include="FluentValidation" Version="11.4.0" />
|
||||||
<PackageReference Include="FluentValidation.AspNetCore" Version="11.2.2" />
|
<PackageReference Include="FluentValidation.AspNetCore" Version="11.2.2" />
|
||||||
<PackageReference Include="Grpc.Core.Testing" Version="2.46.5" />
|
<PackageReference Include="Grpc.Core.Testing" Version="2.46.5" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="7.0.0" />
|
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="7.0.1" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.0">
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.1">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="7.0.0" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="7.0.1" />
|
||||||
<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="7.0.0" />
|
<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="7.0.0" />
|
||||||
<PackageReference Include="Mongo2Go" Version="3.1.3" />
|
<PackageReference Include="Mongo2Go" Version="3.1.3" />
|
||||||
<PackageReference Include="NSubstitute" Version="4.4.0" />
|
<PackageReference Include="NSubstitute" Version="4.4.0" />
|
||||||
@ -44,36 +44,37 @@
|
|||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="Hellang.Middleware.ProblemDetails" Version="6.5.1" />
|
<PackageReference Include="Hellang.Middleware.ProblemDetails" Version="6.5.1" />
|
||||||
<PackageReference Include="Humanizer.Core" Version="2.14.1" />
|
<PackageReference Include="Humanizer.Core" Version="2.14.1" />
|
||||||
<PackageReference Include="IdGen" Version="3.0.2" />
|
<PackageReference Include="IdGen" Version="3.0.3" />
|
||||||
<PackageReference Include="Mapster" Version="7.3.0" />
|
<PackageReference Include="Mapster" Version="7.3.0" />
|
||||||
<PackageReference Include="Mapster.DependencyInjection" Version="1.0.0" />
|
<PackageReference Include="Mapster.DependencyInjection" Version="1.0.0" />
|
||||||
<PackageReference Include="MediatR" Version="11.0.0" />
|
<PackageReference Include="MediatR" Version="11.1.0" />
|
||||||
<PackageReference Include="MediatR.Extensions.Microsoft.DependencyInjection" Version="11.0.0" />
|
<PackageReference Include="MediatR.Extensions.Microsoft.DependencyInjection" Version="11.0.0" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="7.0.0" />
|
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="7.0.1" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Http" Version="2.2.2" />
|
<PackageReference Include="Microsoft.AspNetCore.Http" Version="2.2.2" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.0" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.1" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="7.0.0" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="7.0.1" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.0" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.1" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="7.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="7.0.0" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="7.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="7.0.1" />
|
||||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
|
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
|
||||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0" />
|
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="7.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="7.0.1" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="7.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="7.0.0" />
|
||||||
<PackageReference Include="Microsoft.Extensions.PlatformAbstractions" Version="1.1.0" />
|
<PackageReference Include="Microsoft.Extensions.PlatformAbstractions" Version="1.1.0" />
|
||||||
<PackageReference Include="MongoDB.Driver" Version="2.18.0" />
|
<PackageReference Include="MongoDB.Driver" Version="2.18.0" />
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
|
||||||
<PackageReference Include="OpenTelemetry.Contrib.Instrumentation.MassTransit" Version="1.0.0-beta2" />
|
<PackageReference Include="OpenTelemetry.Contrib.Instrumentation.MassTransit" Version="1.0.0-beta2" />
|
||||||
<PackageReference Include="Scrutor" Version="4.2.0" />
|
<PackageReference Include="Scrutor" Version="4.2.0" />
|
||||||
<PackageReference Include="Scrutor.AspNetCore" Version="3.3.0" />
|
<PackageReference Include="Scrutor.AspNetCore" Version="3.3.0" />
|
||||||
|
<PackageReference Include="Sentry.Serilog" Version="3.25.0" />
|
||||||
<PackageReference Include="Serilog" Version="2.12.0" />
|
<PackageReference Include="Serilog" Version="2.12.0" />
|
||||||
<PackageReference Include="Serilog.AspNetCore" Version="6.0.1" />
|
<PackageReference Include="Serilog.AspNetCore" Version="6.1.0" />
|
||||||
<PackageReference Include="Serilog.Enrichers.Span" Version="3.0.0" />
|
<PackageReference Include="Serilog.Enrichers.Span" Version="3.0.0" />
|
||||||
<PackageReference Include="Serilog.Exceptions" Version="8.4.0" />
|
<PackageReference Include="Serilog.Exceptions" Version="8.4.0" />
|
||||||
<PackageReference Include="Serilog.Formatting.Elasticsearch" Version="8.4.1" />
|
<PackageReference Include="Serilog.Formatting.Elasticsearch" Version="8.4.1" />
|
||||||
<PackageReference Include="Serilog.Sinks.Console" Version="4.1.0" />
|
<PackageReference Include="Serilog.Sinks.Console" Version="4.1.0" />
|
||||||
<PackageReference Include="Serilog.Sinks.Elasticsearch" Version="8.4.1" />
|
<PackageReference Include="Serilog.Sinks.Elasticsearch" Version="8.4.1" />
|
||||||
<PackageReference Include="Serilog.Sinks.Seq" Version="5.2.1" />
|
<PackageReference Include="Serilog.Sinks.Seq" Version="5.2.2" />
|
||||||
<PackageReference Include="Serilog.Sinks.SpectreConsole" Version="0.3.3" />
|
<PackageReference Include="Serilog.Sinks.SpectreConsole" Version="0.3.3" />
|
||||||
<PackageReference Include="Serilog.Sinks.XUnit" Version="3.0.3" />
|
<PackageReference Include="Serilog.Sinks.XUnit" Version="3.0.3" />
|
||||||
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" />
|
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" />
|
||||||
@ -83,23 +84,24 @@
|
|||||||
<PackageReference Include="AspNetCore.HealthChecks.UI" Version="6.0.5" />
|
<PackageReference Include="AspNetCore.HealthChecks.UI" Version="6.0.5" />
|
||||||
<PackageReference Include="AspNetCore.HealthChecks.UI.Client" Version="6.0.5" />
|
<PackageReference Include="AspNetCore.HealthChecks.UI.Client" Version="6.0.5" />
|
||||||
<PackageReference Include="AspNetCore.HealthChecks.UI.InMemory.Storage" Version="6.0.5" />
|
<PackageReference Include="AspNetCore.HealthChecks.UI.InMemory.Storage" Version="6.0.5" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks" Version="7.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks" Version="7.0.1" />
|
||||||
<PackageReference Include="AspNetCore.HealthChecks.MongoDb" Version="6.0.2" />
|
<PackageReference Include="AspNetCore.HealthChecks.MongoDb" Version="6.0.2" />
|
||||||
<PackageReference Include="System.Interactive.Async" Version="6.0.1" />
|
<PackageReference Include="System.Interactive.Async" Version="6.0.1" />
|
||||||
<PackageReference Include="MassTransit" Version="8.0.9-develop.658" />
|
<PackageReference Include="MassTransit" Version="8.0.10" />
|
||||||
<PackageReference Include="MassTransit.RabbitMQ" Version="8.0.9-develop.658" />
|
<PackageReference Include="MassTransit.RabbitMQ" Version="8.0.10" />
|
||||||
<PackageReference Include="DotNetCore.CAP" Version="6.2.1" />
|
<PackageReference Include="DotNetCore.CAP" Version="7.0.1" />
|
||||||
<PackageReference Include="DotNetCore.CAP.Dashboard" Version="6.2.1" />
|
<PackageReference Include="DotNetCore.CAP.Dashboard" Version="7.0.1" />
|
||||||
<PackageReference Include="DotNetCore.CAP.MongoDB" Version="6.2.1" />
|
<PackageReference Include="DotNetCore.CAP.MongoDB" Version="7.0.1" />
|
||||||
<PackageReference Include="DotNetCore.CAP.OpenTelemetry" Version="6.2.1" />
|
<PackageReference Include="DotNetCore.CAP.OpenTelemetry" Version="7.0.1" />
|
||||||
<PackageReference Include="DotNetCore.CAP.RabbitMQ" Version="6.2.1" />
|
<PackageReference Include="DotNetCore.CAP.RabbitMQ" Version="7.0.1" />
|
||||||
<PackageReference Include="DotNetCore.CAP.SqlServer" Version="6.2.1" />
|
<PackageReference Include="DotNetCore.CAP.SqlServer" Version="7.0.1" />
|
||||||
<PackageReference Include="Duende.IdentityServer" Version="6.2.0" />
|
<PackageReference Include="Duende.IdentityServer" Version="6.2.0" />
|
||||||
<PackageReference Include="Duende.IdentityServer.AspNetIdentity" Version="6.2.0" />
|
<PackageReference Include="Duende.IdentityServer.AspNetIdentity" Version="6.2.0" />
|
||||||
<PackageReference Include="Duende.IdentityServer.EntityFramework" Version="6.2.0" />
|
<PackageReference Include="Duende.IdentityServer.EntityFramework" Version="6.2.0" />
|
||||||
<PackageReference Include="Duende.IdentityServer.EntityFramework.Storage" Version="6.2.0" />
|
<PackageReference Include="Duende.IdentityServer.EntityFramework.Storage" Version="6.2.0" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="7.0.0" />
|
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="7.0.1" />
|
||||||
<PackageReference Include="Testcontainers" Version="2.2.0" />
|
<PackageReference Include="Testcontainers" Version="2.3.0" />
|
||||||
|
<PackageReference Include="Unchase.Swashbuckle.AspNetCore.Extensions" Version="2.7.1" />
|
||||||
<PackageReference Include="Yarp.ReverseProxy" Version="1.1.1" />
|
<PackageReference Include="Yarp.ReverseProxy" Version="1.1.1" />
|
||||||
<PackageReference Include="Microsoft.Identity.Web" Version="2.0.5-preview" />
|
<PackageReference Include="Microsoft.Identity.Web" Version="2.0.5-preview" />
|
||||||
|
|
||||||
@ -121,28 +123,27 @@
|
|||||||
|
|
||||||
<PackageReference Include="EventStore.Client.Grpc.Streams" Version="22.0.0" />
|
<PackageReference Include="EventStore.Client.Grpc.Streams" Version="22.0.0" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="7.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Hosting" Version="7.0.0" />
|
||||||
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="7.0.0" />
|
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="7.0.1" />
|
||||||
|
|
||||||
<PackageReference Include="Nito.AsyncEx" Version="5.1.2" />
|
<PackageReference Include="Nito.AsyncEx" Version="5.1.2" />
|
||||||
<PackageReference Include="AutoBogus" Version="2.13.1" />
|
<PackageReference Include="AutoBogus" Version="2.13.1" />
|
||||||
<PackageReference Include="Bogus" Version="34.0.2" />
|
<PackageReference Include="Bogus" Version="34.0.2" />
|
||||||
<PackageReference Include="FluentAssertions" Version="6.8.0" />
|
<PackageReference Include="FluentAssertions" Version="6.8.0" />
|
||||||
<PackageReference Include="MediatR" Version="9.0.0" />
|
|
||||||
<PackageReference Include="Respawn" Version="6.0.0" />
|
<PackageReference Include="Respawn" Version="6.0.0" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.TestHost" Version="7.0.0" />
|
<PackageReference Include="Microsoft.AspNetCore.TestHost" Version="7.0.1" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="7.0.0" />
|
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="7.0.1" />
|
||||||
<PackageReference Include="Moq" Version="4.18.2" />
|
<PackageReference Include="Moq" Version="4.18.4" />
|
||||||
|
|
||||||
<PackageReference Include="Google.Protobuf" Version="3.21.9" />
|
<PackageReference Include="Google.Protobuf" Version="3.21.12" />
|
||||||
<PackageReference Include="Grpc.Net.Client" Version="2.49.0" />
|
<PackageReference Include="Grpc.Net.Client" Version="2.51.0" />
|
||||||
<PackageReference Include="Grpc.Net.ClientFactory" Version="2.49.0" />
|
<PackageReference Include="Grpc.Net.ClientFactory" Version="2.51.0" />
|
||||||
<PackageReference Update="AsyncFixer" Version="1.6.0" />
|
<PackageReference Update="AsyncFixer" Version="1.6.0" />
|
||||||
<PackageReference Update="Meziantou.Analyzer" Version="1.0.747" />
|
<PackageReference Update="Meziantou.Analyzer" Version="1.0.758" />
|
||||||
<PackageReference Remove="Microsoft.VisualStudio.Threading.Analyzers" />
|
<PackageReference Remove="Microsoft.VisualStudio.Threading.Analyzers" />
|
||||||
<PackageReference Update="Microsoft.VisualStudio.Threading.Analyzers" Version="17.4.27" />
|
<PackageReference Update="Microsoft.VisualStudio.Threading.Analyzers" Version="17.4.27" />
|
||||||
<PackageReference Update="Roslynator.Analyzers" Version="4.1.2" />
|
<PackageReference Update="Roslynator.Analyzers" Version="4.2.0" />
|
||||||
<PackageReference Update="Roslynator.CodeAnalysis.Analyzers" Version="4.1.2" />
|
<PackageReference Update="Roslynator.CodeAnalysis.Analyzers" Version="4.2.0" />
|
||||||
<PackageReference Update="Roslynator.Formatting.Analyzers" Version="4.1.2" />
|
<PackageReference Update="Roslynator.Formatting.Analyzers" Version="4.2.0" />
|
||||||
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|||||||
@ -16,6 +16,10 @@ public static class Extensions
|
|||||||
{
|
{
|
||||||
public static IServiceCollection AddCustomHealthCheck(this IServiceCollection services)
|
public static IServiceCollection AddCustomHealthCheck(this IServiceCollection services)
|
||||||
{
|
{
|
||||||
|
var healthOptions = services.GetOptions<HealthOptions>(nameof(HealthOptions));
|
||||||
|
|
||||||
|
if (!healthOptions.Enabled) return services;
|
||||||
|
|
||||||
var appOptions = services.GetOptions<AppOptions>(nameof(AppOptions));
|
var appOptions = services.GetOptions<AppOptions>(nameof(AppOptions));
|
||||||
var sqlOptions = services.GetOptions<DatabaseOptions>(nameof(DatabaseOptions));
|
var sqlOptions = services.GetOptions<DatabaseOptions>(nameof(DatabaseOptions));
|
||||||
var rabbitMqOptions = services.GetOptions<RabbitMqOptions>(nameof(RabbitMqOptions));
|
var rabbitMqOptions = services.GetOptions<RabbitMqOptions>(nameof(RabbitMqOptions));
|
||||||
@ -23,7 +27,9 @@ public static class Extensions
|
|||||||
var logOptions = services.GetOptions<LogOptions>(nameof(LogOptions));
|
var logOptions = services.GetOptions<LogOptions>(nameof(LogOptions));
|
||||||
|
|
||||||
var healthChecksBuilder = services.AddHealthChecks()
|
var healthChecksBuilder = services.AddHealthChecks()
|
||||||
.AddRabbitMQ(rabbitConnectionString: $"amqp://{rabbitMqOptions.UserName}:{rabbitMqOptions.Password}@{rabbitMqOptions.HostName}")
|
.AddRabbitMQ(
|
||||||
|
rabbitConnectionString:
|
||||||
|
$"amqp://{rabbitMqOptions.UserName}:{rabbitMqOptions.Password}@{rabbitMqOptions.HostName}")
|
||||||
.AddElasticsearch(logOptions.Elastic.ElasticServiceUrl);
|
.AddElasticsearch(logOptions.Elastic.ElasticServiceUrl);
|
||||||
|
|
||||||
if (mongoOptions.ConnectionString is not null)
|
if (mongoOptions.ConnectionString is not null)
|
||||||
@ -43,6 +49,10 @@ public static class Extensions
|
|||||||
|
|
||||||
public static WebApplication UseCustomHealthCheck(this WebApplication app)
|
public static WebApplication UseCustomHealthCheck(this WebApplication app)
|
||||||
{
|
{
|
||||||
|
var healthOptions = app.Configuration.GetOptions<HealthOptions>(nameof(HealthOptions));
|
||||||
|
|
||||||
|
if (!healthOptions.Enabled) return app;
|
||||||
|
|
||||||
app.UseHealthChecks("/healthz",
|
app.UseHealthChecks("/healthz",
|
||||||
new HealthCheckOptions
|
new HealthCheckOptions
|
||||||
{
|
{
|
||||||
|
|||||||
6
src/BuildingBlocks/HealthCheck/HealthOptions.cs
Normal file
6
src/BuildingBlocks/HealthCheck/HealthOptions.cs
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
namespace BuildingBlocks.HealthCheck;
|
||||||
|
|
||||||
|
public class HealthOptions
|
||||||
|
{
|
||||||
|
public bool Enabled { get; set; } = true;
|
||||||
|
}
|
||||||
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
public class ElasticOptions
|
public class ElasticOptions
|
||||||
{
|
{
|
||||||
public bool Enable { get; set; }
|
public bool Enabled { get; set; }
|
||||||
public string ElasticServiceUrl { get; set; }
|
public string ElasticServiceUrl { get; set; }
|
||||||
public string ElasticSearchIndex { get; set; }
|
public string ElasticSearchIndex { get; set; }
|
||||||
}
|
}
|
||||||
@ -38,7 +38,7 @@ namespace BuildingBlocks.Logging
|
|||||||
.Enrich.FromLogContext()
|
.Enrich.FromLogContext()
|
||||||
.ReadFrom.Configuration(context.Configuration);
|
.ReadFrom.Configuration(context.Configuration);
|
||||||
|
|
||||||
if (logOptions.Elastic is { Enable: true })
|
if (logOptions.Elastic is { Enabled: true })
|
||||||
{
|
{
|
||||||
loggerConfiguration.WriteTo.Elasticsearch(
|
loggerConfiguration.WriteTo.Elasticsearch(
|
||||||
new ElasticsearchSinkOptions(new Uri(logOptions.Elastic.ElasticServiceUrl))
|
new ElasticsearchSinkOptions(new Uri(logOptions.Elastic.ElasticServiceUrl))
|
||||||
@ -48,7 +48,26 @@ namespace BuildingBlocks.Logging
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (logOptions.File is { Enable: true })
|
|
||||||
|
if (logOptions?.Sentry is {Enabled: true})
|
||||||
|
{
|
||||||
|
var minimumBreadcrumbLevel = Enum.TryParse<LogEventLevel>(logOptions.Level, true, out var minBreadcrumbLevel)
|
||||||
|
? minBreadcrumbLevel
|
||||||
|
: LogEventLevel.Information;
|
||||||
|
|
||||||
|
var minimumEventLevel = Enum.TryParse<LogEventLevel>(logOptions.Sentry.MinimumEventLevel, true, out var minEventLevel)
|
||||||
|
? minEventLevel
|
||||||
|
: LogEventLevel.Error;
|
||||||
|
|
||||||
|
loggerConfiguration.WriteTo.Sentry(o =>
|
||||||
|
{
|
||||||
|
o.Dsn = logOptions.Sentry.Dsn;
|
||||||
|
o.MinimumBreadcrumbLevel = minimumBreadcrumbLevel;
|
||||||
|
o.MinimumEventLevel = minimumEventLevel;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (logOptions.File is { Enabled: true })
|
||||||
{
|
{
|
||||||
var root = env.ContentRootPath;
|
var root = env.ContentRootPath;
|
||||||
Directory.CreateDirectory(Path.Combine(root, "logs"));
|
Directory.CreateDirectory(Path.Combine(root, "logs"));
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
public class FileOptions
|
public class FileOptions
|
||||||
{
|
{
|
||||||
public bool Enable { get; set; }
|
public bool Enabled { get; set; }
|
||||||
public string Path { get; set; }
|
public string Path { get; set; }
|
||||||
public string Interval { get; set; }
|
public string Interval { get; set; }
|
||||||
}
|
}
|
||||||
@ -4,6 +4,8 @@
|
|||||||
{
|
{
|
||||||
public string Level { get; set; }
|
public string Level { get; set; }
|
||||||
public ElasticOptions Elastic { get; set; }
|
public ElasticOptions Elastic { get; set; }
|
||||||
|
|
||||||
|
public SentryOptions Sentry { get; set; }
|
||||||
public FileOptions File { get; set; }
|
public FileOptions File { get; set; }
|
||||||
public string LogTemplate { get; set; }
|
public string LogTemplate { get; set; }
|
||||||
}
|
}
|
||||||
|
|||||||
9
src/BuildingBlocks/Logging/SentryOptions.cs
Normal file
9
src/BuildingBlocks/Logging/SentryOptions.cs
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
namespace BuildingBlocks.Logging;
|
||||||
|
|
||||||
|
public class SentryOptions
|
||||||
|
{
|
||||||
|
public bool Enabled { get; set; }
|
||||||
|
public string Dsn { get; set; }
|
||||||
|
public string MinimumBreadcrumbLevel { get; set; }
|
||||||
|
public string MinimumEventLevel { get; set; }
|
||||||
|
}
|
||||||
@ -9,8 +9,7 @@ public class DesignTimeDbContextFactory : IDesignTimeDbContextFactory<PersistMes
|
|||||||
{
|
{
|
||||||
var builder = new DbContextOptionsBuilder<PersistMessageDbContext>();
|
var builder = new DbContextOptionsBuilder<PersistMessageDbContext>();
|
||||||
|
|
||||||
builder.UseSqlServer(
|
builder.UseSqlServer("Server=localhost;Database=PersistMessageDB;User ID=sa;Password=@Aa123456;TrustServerCertificate=True");
|
||||||
"Data Source=.\\sqlexpress;Initial Catalog=PersistMessageDB;Persist Security Info=False;Integrated Security=SSPI;TrustServerCertificate=True");
|
|
||||||
return new PersistMessageDbContext(builder.Options);
|
return new PersistMessageDbContext(builder.Options);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,6 +5,7 @@ using Microsoft.Extensions.DependencyInjection;
|
|||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
using Microsoft.OpenApi.Models;
|
using Microsoft.OpenApi.Models;
|
||||||
using Swashbuckle.AspNetCore.SwaggerGen;
|
using Swashbuckle.AspNetCore.SwaggerGen;
|
||||||
|
using Unchase.Swashbuckle.AspNetCore.Extensions.Extensions;
|
||||||
|
|
||||||
namespace BuildingBlocks.Swagger;
|
namespace BuildingBlocks.Swagger;
|
||||||
|
|
||||||
@ -17,7 +18,7 @@ public static class ServiceCollectionExtensions
|
|||||||
// https://github.com/dotnet/aspnet-api-versioning/tree/88323136a97a59fcee24517a514c1a445530c7e2/examples/AspNetCore/WebApi/MinimalOpenApiExample
|
// https://github.com/dotnet/aspnet-api-versioning/tree/88323136a97a59fcee24517a514c1a445530c7e2/examples/AspNetCore/WebApi/MinimalOpenApiExample
|
||||||
public static IServiceCollection AddCustomSwagger(this IServiceCollection services,
|
public static IServiceCollection AddCustomSwagger(this IServiceCollection services,
|
||||||
IConfiguration configuration,
|
IConfiguration configuration,
|
||||||
Assembly assembly)
|
params Assembly[] assemblies)
|
||||||
{
|
{
|
||||||
// https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis/openapi
|
// https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis/openapi
|
||||||
services.AddEndpointsApiExplorer();
|
services.AddEndpointsApiExplorer();
|
||||||
@ -31,9 +32,14 @@ public static class ServiceCollectionExtensions
|
|||||||
{
|
{
|
||||||
options.OperationFilter<SwaggerDefaultValues>();
|
options.OperationFilter<SwaggerDefaultValues>();
|
||||||
|
|
||||||
|
foreach (var assembly in assemblies)
|
||||||
|
{
|
||||||
var xmlFile = XmlCommentsFilePath(assembly);
|
var xmlFile = XmlCommentsFilePath(assembly);
|
||||||
if (File.Exists(xmlFile)) options.IncludeXmlComments(xmlFile);
|
|
||||||
|
|
||||||
|
if (File.Exists(xmlFile)) options.IncludeXmlComments(xmlFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
options.AddEnumsWithValuesFixFilters();
|
||||||
|
|
||||||
options.AddSecurityRequirement(new OpenApiSecurityRequirement
|
options.AddSecurityRequirement(new OpenApiSecurityRequirement
|
||||||
{
|
{
|
||||||
|
|||||||
@ -48,7 +48,7 @@ public static class TestContainers
|
|||||||
Username = Guid.NewGuid().ToString("D"),
|
Username = Guid.NewGuid().ToString("D"),
|
||||||
Password = Guid.NewGuid().ToString("D"),
|
Password = Guid.NewGuid().ToString("D"),
|
||||||
})
|
})
|
||||||
.WithImage("mongo:4")
|
.WithImage("mongo:5")
|
||||||
.WithCleanUp(true)
|
.WithCleanUp(true)
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
"PersistMessageOptions": {
|
"PersistMessageOptions": {
|
||||||
"Interval": 30,
|
"Interval": 30,
|
||||||
"Enabled": true,
|
"Enabled": true,
|
||||||
"ConnectionString": "Server=db;Database=PersistMessageDB;User ID=sa;Password=@Aa123456"
|
"ConnectionString": "Server=sql;Database=PersistMessageDB;User ID=sa;Password=@Aa123456;TrustServerCertificate=True"
|
||||||
},
|
},
|
||||||
"RabbitMqOptions": {
|
"RabbitMqOptions": {
|
||||||
"HostName": "rabbitmq",
|
"HostName": "rabbitmq",
|
||||||
|
|||||||
@ -6,13 +6,19 @@
|
|||||||
"Level": "information",
|
"Level": "information",
|
||||||
"LogTemplate": "{Timestamp:HH:mm:ss} [{Level:u4}] {Message:lj}{NewLine}{Exception}",
|
"LogTemplate": "{Timestamp:HH:mm:ss} [{Level:u4}] {Message:lj}{NewLine}{Exception}",
|
||||||
"Elastic": {
|
"Elastic": {
|
||||||
"Enable": true,
|
"Enabled": true,
|
||||||
"ElasticServiceUrl": "http://localhost:9200"
|
"ElasticServiceUrl": "http://localhost:9200"
|
||||||
},
|
},
|
||||||
"File": {
|
"File": {
|
||||||
"enable": false,
|
"Enabled": false,
|
||||||
"path": "logs/logs.txt",
|
"Path": "logs/logs.txt",
|
||||||
"interval": "day"
|
"Interval": "day"
|
||||||
|
},
|
||||||
|
"Sentry": {
|
||||||
|
"Enabled": false,
|
||||||
|
"Dsn": "",
|
||||||
|
"MinimumBreadcrumbLevel": "information",
|
||||||
|
"MinimumEventLevel":"error"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Jwt": {
|
"Jwt": {
|
||||||
@ -37,10 +43,13 @@
|
|||||||
"ConnectionString": "mongodb://localhost:27017",
|
"ConnectionString": "mongodb://localhost:27017",
|
||||||
"DatabaseName": "booking-db"
|
"DatabaseName": "booking-db"
|
||||||
},
|
},
|
||||||
|
"HealthOptions": {
|
||||||
|
"Enabled": false
|
||||||
|
},
|
||||||
"PersistMessageOptions": {
|
"PersistMessageOptions": {
|
||||||
"Interval": 30,
|
"Interval": 30,
|
||||||
"Enabled": true,
|
"Enabled": true,
|
||||||
"ConnectionString": "Server=.\\sqlexpress;Database=PersistMessageDB;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True"
|
"ConnectionString": "Server=localhost;Database=PersistMessageDB;User ID=sa;Password=@Aa123456;TrustServerCertificate=True"
|
||||||
},
|
},
|
||||||
"AllowedHosts": "*"
|
"AllowedHosts": "*"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,6 +24,6 @@
|
|||||||
"PersistMessageOptions": {
|
"PersistMessageOptions": {
|
||||||
"Interval": 30,
|
"Interval": 30,
|
||||||
"Enabled": true,
|
"Enabled": true,
|
||||||
"ConnectionString": "Server=.\\sqlexpress;Database=PersistMessageDB_Test;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True"
|
"ConnectionString": "Server=localhost;Database=PersistMessageDB_Test;User ID=sa;Password=@Aa123456;TrustServerCertificate=True"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Grpc.Tools" Version="2.50.0">
|
<PackageReference Include="Grpc.Tools" Version="2.51.0">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
|
|||||||
@ -12,18 +12,9 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" />
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.1" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="7.0.0" />
|
|
||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" />
|
|
||||||
<PackageReference Include="xunit" Version="2.4.2" />
|
<PackageReference Include="xunit" Version="2.4.2" />
|
||||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
|
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5" />
|
||||||
<PrivateAssets>all</PrivateAssets>
|
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
||||||
</PackageReference>
|
|
||||||
<PackageReference Include="coverlet.collector" Version="3.2.0">
|
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
||||||
<PrivateAssets>all</PrivateAssets>
|
|
||||||
</PackageReference>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DatabaseOptions": {
|
"DatabaseOptions": {
|
||||||
"DefaultConnection": "Server=db;Database=FlightDB;User ID=sa;Password=@Aa123456"
|
"DefaultConnection": "Server=sql;Database=FlightDB;User ID=sa;Password=@Aa123456;TrustServerCertificate=True"
|
||||||
},
|
},
|
||||||
"Jwt": {
|
"Jwt": {
|
||||||
"Authority": "https://localhost:5005",
|
"Authority": "https://localhost:5005",
|
||||||
@ -23,7 +23,7 @@
|
|||||||
"PersistMessageOptions": {
|
"PersistMessageOptions": {
|
||||||
"Interval": 30,
|
"Interval": 30,
|
||||||
"Enabled": true,
|
"Enabled": true,
|
||||||
"ConnectionString": "Server=db;Database=PersistMessageDB;User ID=sa;Password=@Aa123456"
|
"ConnectionString": "Server=sql;Database=PersistMessageDB;User ID=sa;Password=@Aa123456;TrustServerCertificate=True"
|
||||||
},
|
},
|
||||||
"AllowedHosts": "*"
|
"AllowedHosts": "*"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,17 +6,23 @@
|
|||||||
"Level": "information",
|
"Level": "information",
|
||||||
"LogTemplate": "{Timestamp:HH:mm:ss} [{Level:u4}] {Message:lj}{NewLine}{Exception}",
|
"LogTemplate": "{Timestamp:HH:mm:ss} [{Level:u4}] {Message:lj}{NewLine}{Exception}",
|
||||||
"Elastic": {
|
"Elastic": {
|
||||||
"Enable": true,
|
"Enabled": true,
|
||||||
"ElasticServiceUrl": "http://localhost:9200"
|
"ElasticServiceUrl": "http://localhost:9200"
|
||||||
},
|
},
|
||||||
"File": {
|
"File": {
|
||||||
"enable": false,
|
"Enabled": false,
|
||||||
"path": "logs/logs.txt",
|
"Path": "logs/logs.txt",
|
||||||
"interval": "day"
|
"Interval": "day"
|
||||||
|
},
|
||||||
|
"Sentry": {
|
||||||
|
"Enabled": false,
|
||||||
|
"Dsn": "",
|
||||||
|
"MinimumBreadcrumbLevel": "information",
|
||||||
|
"MinimumEventLevel": "error"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DatabaseOptions": {
|
"DatabaseOptions": {
|
||||||
"DefaultConnection": "Server=.\\sqlexpress;Database=FlightDB;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True"
|
"DefaultConnection": "Server=localhost;Database=FlightDB;User ID=sa;Password=@Aa123456;TrustServerCertificate=True"
|
||||||
},
|
},
|
||||||
"MongoOptions": {
|
"MongoOptions": {
|
||||||
"ConnectionString": "mongodb://localhost:27017",
|
"ConnectionString": "mongodb://localhost:27017",
|
||||||
@ -36,7 +42,10 @@
|
|||||||
"PersistMessageOptions": {
|
"PersistMessageOptions": {
|
||||||
"Interval": 30,
|
"Interval": 30,
|
||||||
"Enabled": true,
|
"Enabled": true,
|
||||||
"ConnectionString": "Server=.\\sqlexpress;Database=PersistMessageDB;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True"
|
"ConnectionString": "Server=localhost;Database=PersistMessageDB;User ID=sa;Password=@Aa123456;TrustServerCertificate=True"
|
||||||
|
},
|
||||||
|
"HealthOptions": {
|
||||||
|
"Enabled": false
|
||||||
},
|
},
|
||||||
"AllowedHosts": "*"
|
"AllowedHosts": "*"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"DatabaseOptions": {
|
"DatabaseOptions": {
|
||||||
"DefaultConnection": "Server=.\\sqlexpress;Database=FlightDB_Test;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True"
|
"DefaultConnection": "Server=localhost;Database=FlightDB_Test;User ID=sa;Password=@Aa123456;TrustServerCertificate=True"
|
||||||
},
|
},
|
||||||
"RabbitMqOptions": {
|
"RabbitMqOptions": {
|
||||||
"HostName": "localhost",
|
"HostName": "localhost",
|
||||||
@ -20,6 +20,6 @@
|
|||||||
"PersistMessageOptions": {
|
"PersistMessageOptions": {
|
||||||
"Interval": 2,
|
"Interval": 2,
|
||||||
"Enabled": true,
|
"Enabled": true,
|
||||||
"ConnectionString": "Server=.\\sqlexpress;Database=PersistMessageDB_Test;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True"
|
"ConnectionString": "Server=localhost;Database=PersistMessageDB_Test;User ID=sa;Password=@Aa123456;TrustServerCertificate=True"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,7 +9,7 @@ namespace Flight.Data
|
|||||||
{
|
{
|
||||||
var builder = new DbContextOptionsBuilder<FlightDbContext>();
|
var builder = new DbContextOptionsBuilder<FlightDbContext>();
|
||||||
|
|
||||||
builder.UseSqlServer("Data Source=.\\sqlexpress;Initial Catalog=FlightDB;Persist Security Info=False;Integrated Security=SSPI;TrustServerCertificate=True");
|
builder.UseSqlServer("Server=localhost;Database=FlightDB;User ID=sa;Password=@Aa123456;TrustServerCertificate=True");
|
||||||
return new FlightDbContext(builder.Options, null);
|
return new FlightDbContext(builder.Options, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,9 +5,9 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Grpc.AspNetCore" Version="2.49.0" />
|
<PackageReference Include="Grpc.AspNetCore" Version="2.51.0" />
|
||||||
<PackageReference Include="Grpc.Net.Client" Version="2.49.0" />
|
<PackageReference Include="Grpc.Net.Client" Version="2.51.0" />
|
||||||
<PackageReference Include="Grpc.Tools" Version="2.50.0">
|
<PackageReference Include="Grpc.Tools" Version="2.51.0">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
|
|||||||
@ -15,18 +15,9 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" />
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.1" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="7.0.0" />
|
|
||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" />
|
|
||||||
<PackageReference Include="xunit" Version="2.4.2" />
|
<PackageReference Include="xunit" Version="2.4.2" />
|
||||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
|
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5" />
|
||||||
<PrivateAssets>all</PrivateAssets>
|
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
||||||
</PackageReference>
|
|
||||||
<PackageReference Include="coverlet.collector" Version="3.2.0">
|
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
||||||
<PrivateAssets>all</PrivateAssets>
|
|
||||||
</PackageReference>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@ -12,18 +12,9 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" />
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.1" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="7.0.0" />
|
|
||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" />
|
|
||||||
<PackageReference Include="xunit" Version="2.4.2" />
|
<PackageReference Include="xunit" Version="2.4.2" />
|
||||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
|
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5" />
|
||||||
<PrivateAssets>all</PrivateAssets>
|
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
||||||
</PackageReference>
|
|
||||||
<PackageReference Include="coverlet.collector" Version="3.2.0">
|
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
||||||
<PrivateAssets>all</PrivateAssets>
|
|
||||||
</PackageReference>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@ -12,14 +12,9 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.1" />
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<PackageReference Include="xunit" Version="2.4.2" />
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5" />
|
||||||
</PackageReference>
|
|
||||||
<PackageReference Include="coverlet.collector" Version="3.2.0">
|
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
||||||
<PrivateAssets>all</PrivateAssets>
|
|
||||||
</PackageReference>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"App": "Identity-Service",
|
"App": "Identity-Service",
|
||||||
"DatabaseOptions": {
|
"DatabaseOptions": {
|
||||||
"DefaultConnection": "Server=db;Database=IdentityDB;User ID=sa;Password=@Aa123456"
|
"DefaultConnection": "Server=sql;Database=IdentityDB;User ID=sa;Password=@Aa123456;TrustServerCertificate=True"
|
||||||
},
|
},
|
||||||
"PersistMessageOptions": {
|
"PersistMessageOptions": {
|
||||||
"Interval": 30,
|
"Interval": 30,
|
||||||
"Enabled": true,
|
"Enabled": true,
|
||||||
"ConnectionString": "Server=db;Database=PersistMessageDB;User ID=sa;Password=@Aa123456"
|
"ConnectionString": "Server=sql;Database=PersistMessageDB;User ID=sa;Password=@Aa123456;TrustServerCertificate=True"
|
||||||
},
|
},
|
||||||
"RabbitMqOptions": {
|
"RabbitMqOptions": {
|
||||||
"HostName": "rabbitmq",
|
"HostName": "rabbitmq",
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
"Name": "Identity-Service"
|
"Name": "Identity-Service"
|
||||||
},
|
},
|
||||||
"DatabaseOptions": {
|
"DatabaseOptions": {
|
||||||
"DefaultConnection": "Server=.\\sqlexpress;Database=IdentityDB;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True"
|
"DefaultConnection": "Server=localhost;Database=IdentityDB;User ID=sa;Password=@Aa123456;TrustServerCertificate=True"
|
||||||
},
|
},
|
||||||
"RabbitMqOptions": {
|
"RabbitMqOptions": {
|
||||||
"HostName": "localhost",
|
"HostName": "localhost",
|
||||||
@ -20,19 +20,28 @@
|
|||||||
"Level": "information",
|
"Level": "information",
|
||||||
"LogTemplate": "{Timestamp:HH:mm:ss} [{Level:u4}] {Message:lj}{NewLine}{Exception}",
|
"LogTemplate": "{Timestamp:HH:mm:ss} [{Level:u4}] {Message:lj}{NewLine}{Exception}",
|
||||||
"Elastic": {
|
"Elastic": {
|
||||||
"Enable": true,
|
"Enabled": true,
|
||||||
"ElasticServiceUrl": "http://localhost:9200"
|
"ElasticServiceUrl": "http://localhost:9200"
|
||||||
},
|
},
|
||||||
"File": {
|
"File": {
|
||||||
"enable": false,
|
"Enabled": false,
|
||||||
"path": "logs/logs.txt",
|
"Path": "logs/logs.txt",
|
||||||
"interval": "day"
|
"Interval": "day"
|
||||||
|
},
|
||||||
|
"Sentry": {
|
||||||
|
"Enabled": false,
|
||||||
|
"Dsn": "",
|
||||||
|
"MinimumBreadcrumbLevel": "information",
|
||||||
|
"MinimumEventLevel":"error"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"HealthOptions": {
|
||||||
|
"Enabled": false
|
||||||
|
},
|
||||||
"PersistMessageOptions": {
|
"PersistMessageOptions": {
|
||||||
"Interval": 30,
|
"Interval": 30,
|
||||||
"Enabled": true,
|
"Enabled": true,
|
||||||
"ConnectionString": "Server=.\\sqlexpress;Database=PersistMessageDB;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True"
|
"ConnectionString": "Server=localhost;Database=PersistMessageDB;User ID=sa;Password=@Aa123456;TrustServerCertificate=True"
|
||||||
},
|
},
|
||||||
"AllowedHosts": "*"
|
"AllowedHosts": "*"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"DatabaseOptions": {
|
"DatabaseOptions": {
|
||||||
"DefaultConnection": "Server=.\\sqlexpress;Database=IdentityDB_Test;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True"
|
"DefaultConnection": "Server=localhost;Database=IdentityDB_Test;User ID=sa;Password=@Aa123456;TrustServerCertificate=True"
|
||||||
},
|
},
|
||||||
"RabbitMqOptions": {
|
"RabbitMqOptions": {
|
||||||
"HostName": "localhost",
|
"HostName": "localhost",
|
||||||
@ -20,6 +20,6 @@
|
|||||||
"PersistMessageOptions": {
|
"PersistMessageOptions": {
|
||||||
"Interval": 30,
|
"Interval": 30,
|
||||||
"Enabled": true,
|
"Enabled": true,
|
||||||
"ConnectionString": "Server=.\\sqlexpress;Database=PersistMessageDB_Test;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True"
|
"ConnectionString": "Server=localhost;Database=PersistMessageDB_Test;User ID=sa;Password=@Aa123456;TrustServerCertificate=True"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,7 +9,7 @@ public class DesignTimeDbContextFactory : IDesignTimeDbContextFactory<IdentityCo
|
|||||||
{
|
{
|
||||||
var builder = new DbContextOptionsBuilder<IdentityContext>();
|
var builder = new DbContextOptionsBuilder<IdentityContext>();
|
||||||
|
|
||||||
builder.UseSqlServer("Server=.\\sqlexpress;Database=IdentityDB;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True");
|
builder.UseSqlServer("Server=localhost;Database=IdentityDB;User ID=sa;Password=@Aa123456;TrustServerCertificate=True");
|
||||||
return new IdentityContext(builder.Options, null);
|
return new IdentityContext(builder.Options, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,18 +12,9 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" />
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.1" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="7.0.0" />
|
|
||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" />
|
|
||||||
<PackageReference Include="xunit" Version="2.4.2" />
|
<PackageReference Include="xunit" Version="2.4.2" />
|
||||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
|
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5" />
|
||||||
<PrivateAssets>all</PrivateAssets>
|
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
||||||
</PackageReference>
|
|
||||||
<PackageReference Include="coverlet.collector" Version="3.2.0">
|
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
||||||
<PrivateAssets>all</PrivateAssets>
|
|
||||||
</PackageReference>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@ -1,12 +1,13 @@
|
|||||||
{
|
{
|
||||||
"App": "Passenger-Service",
|
"App": "Passenger-Service",
|
||||||
"DatabaseOptions": {
|
"DatabaseOptions": {
|
||||||
"DefaultConnection": "Server=db;Database=PassengerDB;User ID=sa;Password=@Aa123456"
|
|
||||||
|
"DefaultConnection": "Server=sql;Database=PassengerDB;User ID=sa;Password=@Aa123456;TrustServerCertificate=True"
|
||||||
},
|
},
|
||||||
"PersistMessageOptions": {
|
"PersistMessageOptions": {
|
||||||
"Interval": 30,
|
"Interval": 30,
|
||||||
"Enabled": true,
|
"Enabled": true,
|
||||||
"ConnectionString": "Server=db;Database=PersistMessageDB;User ID=sa;Password=@Aa123456"
|
"ConnectionString": "Server=sql;Database=PersistMessageDB;User ID=sa;Password=@Aa123456;TrustServerCertificate=True"
|
||||||
},
|
},
|
||||||
"Jwt": {
|
"Jwt": {
|
||||||
"Authority": "https://localhost:5005",
|
"Authority": "https://localhost:5005",
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
"Name": "Passenger-Service"
|
"Name": "Passenger-Service"
|
||||||
},
|
},
|
||||||
"DatabaseOptions": {
|
"DatabaseOptions": {
|
||||||
"DefaultConnection": "Server=.\\sqlexpress;Database=PassengerDB;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True"
|
"DefaultConnection": "Server=localhost;Database=PassengerDB;User ID=sa;Password=@Aa123456;TrustServerCertificate=True"
|
||||||
},
|
},
|
||||||
"MongoOptions": {
|
"MongoOptions": {
|
||||||
"ConnectionString": "mongodb://localhost:27017",
|
"ConnectionString": "mongodb://localhost:27017",
|
||||||
@ -24,19 +24,28 @@
|
|||||||
"Level": "information",
|
"Level": "information",
|
||||||
"LogTemplate": "{Timestamp:HH:mm:ss} [{Level:u4}] {Message:lj}{NewLine}{Exception}",
|
"LogTemplate": "{Timestamp:HH:mm:ss} [{Level:u4}] {Message:lj}{NewLine}{Exception}",
|
||||||
"Elastic": {
|
"Elastic": {
|
||||||
"Enable": true,
|
"Enabled": true,
|
||||||
"ElasticServiceUrl": "http://localhost:9200"
|
"ElasticServiceUrl": "http://localhost:9200"
|
||||||
},
|
},
|
||||||
"File": {
|
"File": {
|
||||||
"enable": false,
|
"Enabled": false,
|
||||||
"path": "logs/logs.txt",
|
"Path": "logs/logs.txt",
|
||||||
"interval": "day"
|
"Interval": "day"
|
||||||
|
},
|
||||||
|
"Sentry": {
|
||||||
|
"Enabled": false,
|
||||||
|
"Dsn": "",
|
||||||
|
"MinimumBreadcrumbLevel": "information",
|
||||||
|
"MinimumEventLevel":"error"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"HealthOptions": {
|
||||||
|
"Enabled": false
|
||||||
|
},
|
||||||
"PersistMessageOptions": {
|
"PersistMessageOptions": {
|
||||||
"Interval": 30,
|
"Interval": 30,
|
||||||
"Enabled": true,
|
"Enabled": true,
|
||||||
"ConnectionString": "Server=.\\sqlexpress;Database=PersistMessageDB;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True"
|
"ConnectionString": "Server=localhost;Database=PersistMessageDB;User ID=sa;Password=@Aa123456;TrustServerCertificate=True"
|
||||||
},
|
},
|
||||||
"AllowedHosts": "*"
|
"AllowedHosts": "*"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"DatabaseOptions": {
|
"DatabaseOptions": {
|
||||||
"DefaultConnection": "Server=.\\sqlexpress;Database=PassengerDB;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True"
|
"DefaultConnection": "Server=localhost;Database=PassengerDB_Test;User ID=sa;Password=@Aa123456;TrustServerCertificate=True"
|
||||||
},
|
},
|
||||||
"RabbitMqOptions": {
|
"RabbitMqOptions": {
|
||||||
"HostName": "localhost",
|
"HostName": "localhost",
|
||||||
@ -20,6 +20,6 @@
|
|||||||
"PersistMessageOptions": {
|
"PersistMessageOptions": {
|
||||||
"Interval": 30,
|
"Interval": 30,
|
||||||
"Enabled": true,
|
"Enabled": true,
|
||||||
"ConnectionString": "Server=.\\sqlexpress;Database=PersistMessageDB_Test;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True"
|
"ConnectionString": "Server=localhost;Database=PersistMessageDB_Test;User ID=sa;Password=@Aa123456;TrustServerCertificate=True"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,8 +9,7 @@ public class DesignTimeDbContextFactory: IDesignTimeDbContextFactory<PassengerDb
|
|||||||
{
|
{
|
||||||
var builder = new DbContextOptionsBuilder<PassengerDbContext>();
|
var builder = new DbContextOptionsBuilder<PassengerDbContext>();
|
||||||
|
|
||||||
builder.UseSqlServer(
|
builder.UseSqlServer("Server=localhost;Database=PassengerDB;User ID=sa;Password=@Aa123456;TrustServerCertificate=True");
|
||||||
"Data Source=.\\sqlexpress;Initial Catalog=PassengerDB;Persist Security Info=False;Integrated Security=SSPI;TrustServerCertificate=True");
|
|
||||||
return new PassengerDbContext(builder.Options, null);
|
return new PassengerDbContext(builder.Options, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Grpc.AspNetCore" Version="2.49.0" />
|
<PackageReference Include="Grpc.AspNetCore" Version="2.51.0" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.0">
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.0">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
|
|||||||
@ -12,18 +12,9 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" />
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.1" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="7.0.0" />
|
|
||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" />
|
|
||||||
<PackageReference Include="xunit" Version="2.4.2" />
|
<PackageReference Include="xunit" Version="2.4.2" />
|
||||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
|
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5" />
|
||||||
<PrivateAssets>all</PrivateAssets>
|
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
||||||
</PackageReference>
|
|
||||||
<PackageReference Include="coverlet.collector" Version="3.2.0">
|
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
||||||
<PrivateAssets>all</PrivateAssets>
|
|
||||||
</PackageReference>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user