├── .dockerignore ├── .gitignore ├── CustomerLoyalty.sln ├── Dockerfile ├── LICENSE ├── README.md ├── docker-compose.yml ├── src ├── Application │ ├── Application.csproj │ ├── Behaviours │ │ └── ValidationBehaviour.cs │ ├── Constants │ │ └── UserConsts.cs │ ├── DependencyInjection.cs │ ├── RequestModels │ │ ├── EarnPointsRequest.cs │ │ └── LoginRequest.cs │ ├── ResponseModels │ │ ├── ErrorResponse.cs │ │ └── UserResponse.cs │ └── Users │ │ ├── Commands │ │ ├── EarnPointsCommand.cs │ │ └── EarnPointsCommandValidator.cs │ │ ├── Handlers │ │ ├── CommandHandlers │ │ │ └── EarnPointsHandler.cs │ │ └── QueryHandlers │ │ │ ├── GetUserHandler.cs │ │ │ └── LoginHandler.cs │ │ └── Queries │ │ ├── GetUserQuery.cs │ │ ├── GetUserQueryValidator.cs │ │ ├── LoginQuery.cs │ │ └── LoginQueryValidator.cs ├── Domain │ ├── Common │ │ ├── AuditableEntityBase.cs │ │ └── EntityBase.cs │ ├── Domain.csproj │ ├── Entities │ │ └── User.cs │ ├── Interfaces │ │ └── IUserRepository.cs │ └── ValueObjects │ │ └── Email.cs ├── Infrastructure │ ├── Configurations │ │ └── UserConfiguration.cs │ ├── DbContexts │ │ └── CustomerLoyaltyDBContext.cs │ ├── DependencyInjection.cs │ ├── Infrastructure.csproj │ ├── Migrations │ │ ├── 20240622103841_Initial.Designer.cs │ │ ├── 20240622103841_Initial.cs │ │ └── LoyaltyDBContextModelSnapshot.cs │ └── Repositories │ │ └── UserRepository.cs └── WebAPI │ ├── Controllers │ ├── IdentityController.cs │ └── UsersController.cs │ ├── Middleware │ └── GlobalExceptionHandler.cs │ ├── Program.cs │ ├── Properties │ └── launchSettings.json │ ├── WebAPI.csproj │ ├── WebApi.http │ ├── appsettings.Development.json │ └── appsettings.json └── tests ├── Application.Tests.Integration ├── Application.Tests.Integration.csproj ├── BaseHandlerTest.cs ├── GlobalUsings.cs ├── IntegrationTestWebApplicationFactory.cs └── UserHandlersTests │ ├── EarnPointsHandlerTests.cs │ └── GetUserHandlerTests.cs ├── Application.Tests.Unit ├── Application.Tests.Unit.csproj ├── GlobalUsings.cs └── UserHandlersTests │ ├── EarnPointsHandlerTests.cs │ └── GetUserHandlerTests.cs ├── Domain.Tests.Unit ├── Domain.Tests.Unit.csproj ├── GlobalUsings.cs └── ValueObjectsTests │ └── EmailTests.cs └── WebAPI.Tests.Integration ├── BaseControllerTest.cs ├── ControllersTests └── UsersControllerTests.cs ├── GlobalUsings.cs └── WebAPI.Tests.Integration.csproj /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/.dockerignore -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/.gitignore -------------------------------------------------------------------------------- /CustomerLoyalty.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/CustomerLoyalty.sln -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/README.md -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /src/Application/Application.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Application/Application.csproj -------------------------------------------------------------------------------- /src/Application/Behaviours/ValidationBehaviour.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Application/Behaviours/ValidationBehaviour.cs -------------------------------------------------------------------------------- /src/Application/Constants/UserConsts.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Application/Constants/UserConsts.cs -------------------------------------------------------------------------------- /src/Application/DependencyInjection.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Application/DependencyInjection.cs -------------------------------------------------------------------------------- /src/Application/RequestModels/EarnPointsRequest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Application/RequestModels/EarnPointsRequest.cs -------------------------------------------------------------------------------- /src/Application/RequestModels/LoginRequest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Application/RequestModels/LoginRequest.cs -------------------------------------------------------------------------------- /src/Application/ResponseModels/ErrorResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Application/ResponseModels/ErrorResponse.cs -------------------------------------------------------------------------------- /src/Application/ResponseModels/UserResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Application/ResponseModels/UserResponse.cs -------------------------------------------------------------------------------- /src/Application/Users/Commands/EarnPointsCommand.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Application/Users/Commands/EarnPointsCommand.cs -------------------------------------------------------------------------------- /src/Application/Users/Commands/EarnPointsCommandValidator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Application/Users/Commands/EarnPointsCommandValidator.cs -------------------------------------------------------------------------------- /src/Application/Users/Handlers/CommandHandlers/EarnPointsHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Application/Users/Handlers/CommandHandlers/EarnPointsHandler.cs -------------------------------------------------------------------------------- /src/Application/Users/Handlers/QueryHandlers/GetUserHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Application/Users/Handlers/QueryHandlers/GetUserHandler.cs -------------------------------------------------------------------------------- /src/Application/Users/Handlers/QueryHandlers/LoginHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Application/Users/Handlers/QueryHandlers/LoginHandler.cs -------------------------------------------------------------------------------- /src/Application/Users/Queries/GetUserQuery.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Application/Users/Queries/GetUserQuery.cs -------------------------------------------------------------------------------- /src/Application/Users/Queries/GetUserQueryValidator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Application/Users/Queries/GetUserQueryValidator.cs -------------------------------------------------------------------------------- /src/Application/Users/Queries/LoginQuery.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Application/Users/Queries/LoginQuery.cs -------------------------------------------------------------------------------- /src/Application/Users/Queries/LoginQueryValidator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Application/Users/Queries/LoginQueryValidator.cs -------------------------------------------------------------------------------- /src/Domain/Common/AuditableEntityBase.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Domain/Common/AuditableEntityBase.cs -------------------------------------------------------------------------------- /src/Domain/Common/EntityBase.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Domain/Common/EntityBase.cs -------------------------------------------------------------------------------- /src/Domain/Domain.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Domain/Domain.csproj -------------------------------------------------------------------------------- /src/Domain/Entities/User.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Domain/Entities/User.cs -------------------------------------------------------------------------------- /src/Domain/Interfaces/IUserRepository.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Domain/Interfaces/IUserRepository.cs -------------------------------------------------------------------------------- /src/Domain/ValueObjects/Email.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Domain/ValueObjects/Email.cs -------------------------------------------------------------------------------- /src/Infrastructure/Configurations/UserConfiguration.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Infrastructure/Configurations/UserConfiguration.cs -------------------------------------------------------------------------------- /src/Infrastructure/DbContexts/CustomerLoyaltyDBContext.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Infrastructure/DbContexts/CustomerLoyaltyDBContext.cs -------------------------------------------------------------------------------- /src/Infrastructure/DependencyInjection.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Infrastructure/DependencyInjection.cs -------------------------------------------------------------------------------- /src/Infrastructure/Infrastructure.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Infrastructure/Infrastructure.csproj -------------------------------------------------------------------------------- /src/Infrastructure/Migrations/20240622103841_Initial.Designer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Infrastructure/Migrations/20240622103841_Initial.Designer.cs -------------------------------------------------------------------------------- /src/Infrastructure/Migrations/20240622103841_Initial.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Infrastructure/Migrations/20240622103841_Initial.cs -------------------------------------------------------------------------------- /src/Infrastructure/Migrations/LoyaltyDBContextModelSnapshot.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Infrastructure/Migrations/LoyaltyDBContextModelSnapshot.cs -------------------------------------------------------------------------------- /src/Infrastructure/Repositories/UserRepository.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/Infrastructure/Repositories/UserRepository.cs -------------------------------------------------------------------------------- /src/WebAPI/Controllers/IdentityController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/WebAPI/Controllers/IdentityController.cs -------------------------------------------------------------------------------- /src/WebAPI/Controllers/UsersController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/WebAPI/Controllers/UsersController.cs -------------------------------------------------------------------------------- /src/WebAPI/Middleware/GlobalExceptionHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/WebAPI/Middleware/GlobalExceptionHandler.cs -------------------------------------------------------------------------------- /src/WebAPI/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/WebAPI/Program.cs -------------------------------------------------------------------------------- /src/WebAPI/Properties/launchSettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/WebAPI/Properties/launchSettings.json -------------------------------------------------------------------------------- /src/WebAPI/WebAPI.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/WebAPI/WebAPI.csproj -------------------------------------------------------------------------------- /src/WebAPI/WebApi.http: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/WebAPI/WebApi.http -------------------------------------------------------------------------------- /src/WebAPI/appsettings.Development.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/WebAPI/appsettings.Development.json -------------------------------------------------------------------------------- /src/WebAPI/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/src/WebAPI/appsettings.json -------------------------------------------------------------------------------- /tests/Application.Tests.Integration/Application.Tests.Integration.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/tests/Application.Tests.Integration/Application.Tests.Integration.csproj -------------------------------------------------------------------------------- /tests/Application.Tests.Integration/BaseHandlerTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/tests/Application.Tests.Integration/BaseHandlerTest.cs -------------------------------------------------------------------------------- /tests/Application.Tests.Integration/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/tests/Application.Tests.Integration/GlobalUsings.cs -------------------------------------------------------------------------------- /tests/Application.Tests.Integration/IntegrationTestWebApplicationFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/tests/Application.Tests.Integration/IntegrationTestWebApplicationFactory.cs -------------------------------------------------------------------------------- /tests/Application.Tests.Integration/UserHandlersTests/EarnPointsHandlerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/tests/Application.Tests.Integration/UserHandlersTests/EarnPointsHandlerTests.cs -------------------------------------------------------------------------------- /tests/Application.Tests.Integration/UserHandlersTests/GetUserHandlerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/tests/Application.Tests.Integration/UserHandlersTests/GetUserHandlerTests.cs -------------------------------------------------------------------------------- /tests/Application.Tests.Unit/Application.Tests.Unit.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/tests/Application.Tests.Unit/Application.Tests.Unit.csproj -------------------------------------------------------------------------------- /tests/Application.Tests.Unit/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/tests/Application.Tests.Unit/GlobalUsings.cs -------------------------------------------------------------------------------- /tests/Application.Tests.Unit/UserHandlersTests/EarnPointsHandlerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/tests/Application.Tests.Unit/UserHandlersTests/EarnPointsHandlerTests.cs -------------------------------------------------------------------------------- /tests/Application.Tests.Unit/UserHandlersTests/GetUserHandlerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/tests/Application.Tests.Unit/UserHandlersTests/GetUserHandlerTests.cs -------------------------------------------------------------------------------- /tests/Domain.Tests.Unit/Domain.Tests.Unit.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/tests/Domain.Tests.Unit/Domain.Tests.Unit.csproj -------------------------------------------------------------------------------- /tests/Domain.Tests.Unit/GlobalUsings.cs: -------------------------------------------------------------------------------- 1 | global using Xunit; -------------------------------------------------------------------------------- /tests/Domain.Tests.Unit/ValueObjectsTests/EmailTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/tests/Domain.Tests.Unit/ValueObjectsTests/EmailTests.cs -------------------------------------------------------------------------------- /tests/WebAPI.Tests.Integration/BaseControllerTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/tests/WebAPI.Tests.Integration/BaseControllerTest.cs -------------------------------------------------------------------------------- /tests/WebAPI.Tests.Integration/ControllersTests/UsersControllerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/tests/WebAPI.Tests.Integration/ControllersTests/UsersControllerTests.cs -------------------------------------------------------------------------------- /tests/WebAPI.Tests.Integration/GlobalUsings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/tests/WebAPI.Tests.Integration/GlobalUsings.cs -------------------------------------------------------------------------------- /tests/WebAPI.Tests.Integration/WebAPI.Tests.Integration.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaraRasoulian/DotNet-WebAPI-Sample/HEAD/tests/WebAPI.Tests.Integration/WebAPI.Tests.Integration.csproj --------------------------------------------------------------------------------