├── .dockerignore ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── workflows │ └── CI.yml ├── .gitignore ├── .template.config └── template.json ├── CleanTemplate.sln ├── LICENSE ├── Package.nuspec ├── README.md ├── docs └── architecture.md ├── src ├── Common │ ├── ApiResultStatusCode.cs │ ├── Behaviours │ │ ├── LoggingBehaviour.cs │ │ ├── PerformanceBehaviour.cs │ │ ├── UnhandledExceptionBehaviour.cs │ │ └── ValidationBehaviour.cs │ ├── CleanArchAppException.cs │ ├── CleanTemplate.Common.csproj │ ├── DependencyInjection.cs │ ├── Exceptions │ │ ├── ExistingRecordException.cs │ │ ├── InvalidNullInputException.cs │ │ ├── NotFoundException.cs │ │ └── ValidationException.cs │ ├── General │ │ ├── AppOptions.cs │ │ ├── ConfigReader.cs │ │ ├── DistributedCacheConfig.cs │ │ └── SiteSettings.cs │ ├── IScopedDependency.cs │ └── Utilities │ │ ├── IdentityExtensions.cs │ │ ├── ModelBuilderExtensions.cs │ │ ├── PagingHelper.cs │ │ ├── SecurityHelper.cs │ │ └── StringExtensions.cs ├── Core │ ├── Application │ │ ├── CleanTemplate.Application.csproj │ │ ├── DependencyInjection.cs │ │ ├── Products │ │ │ ├── Command │ │ │ │ └── AddProduct │ │ │ │ │ └── AddProductCommand.cs │ │ │ └── Query │ │ │ │ ├── GetProductById │ │ │ │ ├── GetProductByIdQuery.cs │ │ │ │ └── ProductQueryModel.cs │ │ │ │ ├── GetProducts │ │ │ │ ├── GetProductsQuery.cs │ │ │ │ └── ProductsQueryModel.cs │ │ │ │ └── ReadProductFromRedis │ │ │ │ ├── ReadProductFromRedisQuery.cs │ │ │ │ └── ReadProductFromRedisResponse.cs │ │ └── Users │ │ │ └── Command │ │ │ ├── CreateUser │ │ │ └── CreateUserCommand.cs │ │ │ ├── Login │ │ │ ├── LoginCommand.cs │ │ │ └── LoginResponse.cs │ │ │ └── RefreshToken │ │ │ ├── RefreshTokenCommand.cs │ │ │ └── RefreshTokenResponse.cs │ └── Domain │ │ ├── CleanTemplate.Domain.csproj │ │ ├── Entities │ │ ├── IEntity.cs │ │ ├── Products │ │ │ └── Product.cs │ │ └── Users │ │ │ ├── RefreshToken.cs │ │ │ ├── Role.cs │ │ │ └── User.cs │ │ └── IRepositories │ │ ├── IReanOnlyRepository.cs │ │ ├── IRefreshTokenRepository.cs │ │ ├── IRepository.cs │ │ └── IUserRepository.cs ├── Infrastructure │ └── Persistance │ │ ├── AppDbContextFactory.cs │ │ ├── CleanTemplate.Persistence.csproj │ │ ├── CommandHandlers │ │ ├── Products │ │ │ └── AddProductCommandHandler.cs │ │ └── Users │ │ │ ├── CreateUserCommandHandler.cs │ │ │ ├── LoginCommandHandler.cs │ │ │ └── RefreshTokenCommandHandler.cs │ │ ├── Configuration │ │ ├── Products │ │ │ └── ProductConfiguration.cs │ │ └── Users │ │ │ ├── RoleConfiguration.cs │ │ │ └── UserConfiguration.cs │ │ ├── Db │ │ ├── AppDbContext.cs │ │ ├── CleanArchReadOnlyDbContext.cs │ │ ├── CleanArchWriteDbContext.cs │ │ └── IAppDbContext.cs │ │ ├── DependencyInjection.cs │ │ ├── DesignTimeDbContextFactoryBase.cs │ │ ├── Jwt │ │ ├── AccessToken.cs │ │ ├── IJwtService.cs │ │ └── JwtService.cs │ │ ├── Migrations │ │ ├── 20210610091537_InitDb.Designer.cs │ │ ├── 20210610091537_InitDb.cs │ │ ├── 20221002182020_refreshTokenColumns.Designer.cs │ │ ├── 20221002182020_refreshTokenColumns.cs │ │ ├── 20221002182348_RefreshTokenExpiryTimeNullable.Designer.cs │ │ ├── 20221002182348_RefreshTokenExpiryTimeNullable.cs │ │ ├── 20221009113306_RefreshTokenTableCreated.Designer.cs │ │ ├── 20221009113306_RefreshTokenTableCreated.cs │ │ ├── 20221016074041_removeRefreshTokenColumns.Designer.cs │ │ ├── 20221016074041_removeRefreshTokenColumns.cs │ │ └── AppDbContextModelSnapshot.cs │ │ ├── QueryHandlers │ │ └── Products │ │ │ ├── GetProductByIdQueryHandler.cs │ │ │ ├── GetProductsQueryHandler.cs │ │ │ └── ReadProductFromRedisQueryHandler.cs │ │ └── Repositories │ │ ├── EfReadOnlyRepository.cs │ │ ├── RefreshTokenRepository.cs │ │ ├── Repository.cs │ │ └── UserRepository.cs └── Web │ ├── Api │ ├── .config │ │ └── dotnet-tools.json │ ├── CleanTemplate.Api.csproj │ ├── Controllers │ │ └── v1 │ │ │ ├── BaseControllerV1.cs │ │ │ ├── Products │ │ │ ├── ProductController.cs │ │ │ ├── Requests │ │ │ │ ├── AddProductRequest.cs │ │ │ │ └── GetProductsRequest.cs │ │ │ └── Validators │ │ │ │ ├── AddProductRequestValidator.cs │ │ │ │ └── GetProductsRequestValidator.cs │ │ │ └── Users │ │ │ ├── Requests │ │ │ ├── LoginRequest.cs │ │ │ ├── RefreshTokenRequest.cs │ │ │ └── SingUpRequest.cs │ │ │ ├── UserController.cs │ │ │ └── Validators │ │ │ ├── LoginRequestValidator.cs │ │ │ ├── RefreshTokenRequestValidator.cs │ │ │ └── SingUpRequestValidator.cs │ ├── DependencyInjection.cs │ ├── Dockerfile │ ├── Filters │ │ └── ApiExceptionFilter.cs │ ├── MigrationService.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ ├── appsettings.Production.json │ ├── appsettings.Staging.json │ └── appsettings.json │ └── ApiFramework │ ├── Attributes │ └── ValidateModelStateAttribute.cs │ ├── CleanTemplate.ApiFramework.csproj │ ├── Configuration │ └── AutofacConfigurationExtensions.cs │ ├── Swagger │ ├── ApplySummariesOperationFilter.cs │ ├── RemoveVersionParameters.cs │ ├── SetVersionInPaths.cs │ └── UnauthorizedResponsesOperationFilter.cs │ └── Tools │ ├── ApiResult.cs │ ├── ConfigureSwaggerOptions.cs │ └── PagedApiResult.cs └── test ├── CleanTemplate.Api.EndToEndTests ├── CleanTemplate.Api.EndToEndTests.csproj └── ProductControllerTests.cs └── CleanTemplate.CommandHandler.Tests ├── AddProductCommandHandlerTests.cs ├── CleanTemplate.CommandHandler.Tests.csproj ├── CreateUserCommandHandlerTests.cs ├── LoginCommandHandlerTests.cs ├── RefreshTokenCommandHandlerTests.cs └── TestHelpers.cs /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/.dockerignore -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/workflows/CI.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/.github/workflows/CI.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/.gitignore -------------------------------------------------------------------------------- /.template.config/template.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/.template.config/template.json -------------------------------------------------------------------------------- /CleanTemplate.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/CleanTemplate.sln -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/LICENSE -------------------------------------------------------------------------------- /Package.nuspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/Package.nuspec -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/README.md -------------------------------------------------------------------------------- /docs/architecture.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/docs/architecture.md -------------------------------------------------------------------------------- /src/Common/ApiResultStatusCode.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Common/ApiResultStatusCode.cs -------------------------------------------------------------------------------- /src/Common/Behaviours/LoggingBehaviour.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Common/Behaviours/LoggingBehaviour.cs -------------------------------------------------------------------------------- /src/Common/Behaviours/PerformanceBehaviour.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Common/Behaviours/PerformanceBehaviour.cs -------------------------------------------------------------------------------- /src/Common/Behaviours/UnhandledExceptionBehaviour.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Common/Behaviours/UnhandledExceptionBehaviour.cs -------------------------------------------------------------------------------- /src/Common/Behaviours/ValidationBehaviour.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Common/Behaviours/ValidationBehaviour.cs -------------------------------------------------------------------------------- /src/Common/CleanArchAppException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Common/CleanArchAppException.cs -------------------------------------------------------------------------------- /src/Common/CleanTemplate.Common.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Common/CleanTemplate.Common.csproj -------------------------------------------------------------------------------- /src/Common/DependencyInjection.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Common/DependencyInjection.cs -------------------------------------------------------------------------------- /src/Common/Exceptions/ExistingRecordException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Common/Exceptions/ExistingRecordException.cs -------------------------------------------------------------------------------- /src/Common/Exceptions/InvalidNullInputException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Common/Exceptions/InvalidNullInputException.cs -------------------------------------------------------------------------------- /src/Common/Exceptions/NotFoundException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Common/Exceptions/NotFoundException.cs -------------------------------------------------------------------------------- /src/Common/Exceptions/ValidationException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Common/Exceptions/ValidationException.cs -------------------------------------------------------------------------------- /src/Common/General/AppOptions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Common/General/AppOptions.cs -------------------------------------------------------------------------------- /src/Common/General/ConfigReader.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Common/General/ConfigReader.cs -------------------------------------------------------------------------------- /src/Common/General/DistributedCacheConfig.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Common/General/DistributedCacheConfig.cs -------------------------------------------------------------------------------- /src/Common/General/SiteSettings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Common/General/SiteSettings.cs -------------------------------------------------------------------------------- /src/Common/IScopedDependency.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Common/IScopedDependency.cs -------------------------------------------------------------------------------- /src/Common/Utilities/IdentityExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Common/Utilities/IdentityExtensions.cs -------------------------------------------------------------------------------- /src/Common/Utilities/ModelBuilderExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Common/Utilities/ModelBuilderExtensions.cs -------------------------------------------------------------------------------- /src/Common/Utilities/PagingHelper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Common/Utilities/PagingHelper.cs -------------------------------------------------------------------------------- /src/Common/Utilities/SecurityHelper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Common/Utilities/SecurityHelper.cs -------------------------------------------------------------------------------- /src/Common/Utilities/StringExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Common/Utilities/StringExtensions.cs -------------------------------------------------------------------------------- /src/Core/Application/CleanTemplate.Application.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Core/Application/CleanTemplate.Application.csproj -------------------------------------------------------------------------------- /src/Core/Application/DependencyInjection.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Core/Application/DependencyInjection.cs -------------------------------------------------------------------------------- /src/Core/Application/Products/Command/AddProduct/AddProductCommand.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Core/Application/Products/Command/AddProduct/AddProductCommand.cs -------------------------------------------------------------------------------- /src/Core/Application/Products/Query/GetProductById/GetProductByIdQuery.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Core/Application/Products/Query/GetProductById/GetProductByIdQuery.cs -------------------------------------------------------------------------------- /src/Core/Application/Products/Query/GetProductById/ProductQueryModel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Core/Application/Products/Query/GetProductById/ProductQueryModel.cs -------------------------------------------------------------------------------- /src/Core/Application/Products/Query/GetProducts/GetProductsQuery.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Core/Application/Products/Query/GetProducts/GetProductsQuery.cs -------------------------------------------------------------------------------- /src/Core/Application/Products/Query/GetProducts/ProductsQueryModel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Core/Application/Products/Query/GetProducts/ProductsQueryModel.cs -------------------------------------------------------------------------------- /src/Core/Application/Products/Query/ReadProductFromRedis/ReadProductFromRedisQuery.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Core/Application/Products/Query/ReadProductFromRedis/ReadProductFromRedisQuery.cs -------------------------------------------------------------------------------- /src/Core/Application/Products/Query/ReadProductFromRedis/ReadProductFromRedisResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Core/Application/Products/Query/ReadProductFromRedis/ReadProductFromRedisResponse.cs -------------------------------------------------------------------------------- /src/Core/Application/Users/Command/CreateUser/CreateUserCommand.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Core/Application/Users/Command/CreateUser/CreateUserCommand.cs -------------------------------------------------------------------------------- /src/Core/Application/Users/Command/Login/LoginCommand.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Core/Application/Users/Command/Login/LoginCommand.cs -------------------------------------------------------------------------------- /src/Core/Application/Users/Command/Login/LoginResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Core/Application/Users/Command/Login/LoginResponse.cs -------------------------------------------------------------------------------- /src/Core/Application/Users/Command/RefreshToken/RefreshTokenCommand.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Core/Application/Users/Command/RefreshToken/RefreshTokenCommand.cs -------------------------------------------------------------------------------- /src/Core/Application/Users/Command/RefreshToken/RefreshTokenResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Core/Application/Users/Command/RefreshToken/RefreshTokenResponse.cs -------------------------------------------------------------------------------- /src/Core/Domain/CleanTemplate.Domain.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Core/Domain/CleanTemplate.Domain.csproj -------------------------------------------------------------------------------- /src/Core/Domain/Entities/IEntity.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Core/Domain/Entities/IEntity.cs -------------------------------------------------------------------------------- /src/Core/Domain/Entities/Products/Product.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Core/Domain/Entities/Products/Product.cs -------------------------------------------------------------------------------- /src/Core/Domain/Entities/Users/RefreshToken.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Core/Domain/Entities/Users/RefreshToken.cs -------------------------------------------------------------------------------- /src/Core/Domain/Entities/Users/Role.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Core/Domain/Entities/Users/Role.cs -------------------------------------------------------------------------------- /src/Core/Domain/Entities/Users/User.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Core/Domain/Entities/Users/User.cs -------------------------------------------------------------------------------- /src/Core/Domain/IRepositories/IReanOnlyRepository.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Core/Domain/IRepositories/IReanOnlyRepository.cs -------------------------------------------------------------------------------- /src/Core/Domain/IRepositories/IRefreshTokenRepository.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Core/Domain/IRepositories/IRefreshTokenRepository.cs -------------------------------------------------------------------------------- /src/Core/Domain/IRepositories/IRepository.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Core/Domain/IRepositories/IRepository.cs -------------------------------------------------------------------------------- /src/Core/Domain/IRepositories/IUserRepository.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Core/Domain/IRepositories/IUserRepository.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/AppDbContextFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/AppDbContextFactory.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/CleanTemplate.Persistence.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/CleanTemplate.Persistence.csproj -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/CommandHandlers/Products/AddProductCommandHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/CommandHandlers/Products/AddProductCommandHandler.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/CommandHandlers/Users/CreateUserCommandHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/CommandHandlers/Users/CreateUserCommandHandler.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/CommandHandlers/Users/LoginCommandHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/CommandHandlers/Users/LoginCommandHandler.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/CommandHandlers/Users/RefreshTokenCommandHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/CommandHandlers/Users/RefreshTokenCommandHandler.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Configuration/Products/ProductConfiguration.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Configuration/Products/ProductConfiguration.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Configuration/Users/RoleConfiguration.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Configuration/Users/RoleConfiguration.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Configuration/Users/UserConfiguration.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Configuration/Users/UserConfiguration.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Db/AppDbContext.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Db/AppDbContext.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Db/CleanArchReadOnlyDbContext.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Db/CleanArchReadOnlyDbContext.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Db/CleanArchWriteDbContext.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Db/CleanArchWriteDbContext.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Db/IAppDbContext.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Db/IAppDbContext.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/DependencyInjection.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/DependencyInjection.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/DesignTimeDbContextFactoryBase.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/DesignTimeDbContextFactoryBase.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Jwt/AccessToken.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Jwt/AccessToken.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Jwt/IJwtService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Jwt/IJwtService.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Jwt/JwtService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Jwt/JwtService.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Migrations/20210610091537_InitDb.Designer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Migrations/20210610091537_InitDb.Designer.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Migrations/20210610091537_InitDb.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Migrations/20210610091537_InitDb.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Migrations/20221002182020_refreshTokenColumns.Designer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Migrations/20221002182020_refreshTokenColumns.Designer.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Migrations/20221002182020_refreshTokenColumns.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Migrations/20221002182020_refreshTokenColumns.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Migrations/20221002182348_RefreshTokenExpiryTimeNullable.Designer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Migrations/20221002182348_RefreshTokenExpiryTimeNullable.Designer.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Migrations/20221002182348_RefreshTokenExpiryTimeNullable.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Migrations/20221002182348_RefreshTokenExpiryTimeNullable.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Migrations/20221009113306_RefreshTokenTableCreated.Designer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Migrations/20221009113306_RefreshTokenTableCreated.Designer.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Migrations/20221009113306_RefreshTokenTableCreated.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Migrations/20221009113306_RefreshTokenTableCreated.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Migrations/20221016074041_removeRefreshTokenColumns.Designer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Migrations/20221016074041_removeRefreshTokenColumns.Designer.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Migrations/20221016074041_removeRefreshTokenColumns.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Migrations/20221016074041_removeRefreshTokenColumns.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Migrations/AppDbContextModelSnapshot.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Migrations/AppDbContextModelSnapshot.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/QueryHandlers/Products/GetProductByIdQueryHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/QueryHandlers/Products/GetProductByIdQueryHandler.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/QueryHandlers/Products/GetProductsQueryHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/QueryHandlers/Products/GetProductsQueryHandler.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/QueryHandlers/Products/ReadProductFromRedisQueryHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/QueryHandlers/Products/ReadProductFromRedisQueryHandler.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Repositories/EfReadOnlyRepository.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Repositories/EfReadOnlyRepository.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Repositories/RefreshTokenRepository.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Repositories/RefreshTokenRepository.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Repositories/Repository.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Repositories/Repository.cs -------------------------------------------------------------------------------- /src/Infrastructure/Persistance/Repositories/UserRepository.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Infrastructure/Persistance/Repositories/UserRepository.cs -------------------------------------------------------------------------------- /src/Web/Api/.config/dotnet-tools.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/.config/dotnet-tools.json -------------------------------------------------------------------------------- /src/Web/Api/CleanTemplate.Api.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/CleanTemplate.Api.csproj -------------------------------------------------------------------------------- /src/Web/Api/Controllers/v1/BaseControllerV1.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/Controllers/v1/BaseControllerV1.cs -------------------------------------------------------------------------------- /src/Web/Api/Controllers/v1/Products/ProductController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/Controllers/v1/Products/ProductController.cs -------------------------------------------------------------------------------- /src/Web/Api/Controllers/v1/Products/Requests/AddProductRequest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/Controllers/v1/Products/Requests/AddProductRequest.cs -------------------------------------------------------------------------------- /src/Web/Api/Controllers/v1/Products/Requests/GetProductsRequest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/Controllers/v1/Products/Requests/GetProductsRequest.cs -------------------------------------------------------------------------------- /src/Web/Api/Controllers/v1/Products/Validators/AddProductRequestValidator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/Controllers/v1/Products/Validators/AddProductRequestValidator.cs -------------------------------------------------------------------------------- /src/Web/Api/Controllers/v1/Products/Validators/GetProductsRequestValidator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/Controllers/v1/Products/Validators/GetProductsRequestValidator.cs -------------------------------------------------------------------------------- /src/Web/Api/Controllers/v1/Users/Requests/LoginRequest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/Controllers/v1/Users/Requests/LoginRequest.cs -------------------------------------------------------------------------------- /src/Web/Api/Controllers/v1/Users/Requests/RefreshTokenRequest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/Controllers/v1/Users/Requests/RefreshTokenRequest.cs -------------------------------------------------------------------------------- /src/Web/Api/Controllers/v1/Users/Requests/SingUpRequest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/Controllers/v1/Users/Requests/SingUpRequest.cs -------------------------------------------------------------------------------- /src/Web/Api/Controllers/v1/Users/UserController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/Controllers/v1/Users/UserController.cs -------------------------------------------------------------------------------- /src/Web/Api/Controllers/v1/Users/Validators/LoginRequestValidator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/Controllers/v1/Users/Validators/LoginRequestValidator.cs -------------------------------------------------------------------------------- /src/Web/Api/Controllers/v1/Users/Validators/RefreshTokenRequestValidator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/Controllers/v1/Users/Validators/RefreshTokenRequestValidator.cs -------------------------------------------------------------------------------- /src/Web/Api/Controllers/v1/Users/Validators/SingUpRequestValidator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/Controllers/v1/Users/Validators/SingUpRequestValidator.cs -------------------------------------------------------------------------------- /src/Web/Api/DependencyInjection.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/DependencyInjection.cs -------------------------------------------------------------------------------- /src/Web/Api/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/Dockerfile -------------------------------------------------------------------------------- /src/Web/Api/Filters/ApiExceptionFilter.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/Filters/ApiExceptionFilter.cs -------------------------------------------------------------------------------- /src/Web/Api/MigrationService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/MigrationService.cs -------------------------------------------------------------------------------- /src/Web/Api/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/Program.cs -------------------------------------------------------------------------------- /src/Web/Api/Properties/launchSettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/Properties/launchSettings.json -------------------------------------------------------------------------------- /src/Web/Api/appsettings.Development.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/appsettings.Development.json -------------------------------------------------------------------------------- /src/Web/Api/appsettings.Production.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/appsettings.Production.json -------------------------------------------------------------------------------- /src/Web/Api/appsettings.Staging.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/appsettings.Staging.json -------------------------------------------------------------------------------- /src/Web/Api/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/Api/appsettings.json -------------------------------------------------------------------------------- /src/Web/ApiFramework/Attributes/ValidateModelStateAttribute.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/ApiFramework/Attributes/ValidateModelStateAttribute.cs -------------------------------------------------------------------------------- /src/Web/ApiFramework/CleanTemplate.ApiFramework.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/ApiFramework/CleanTemplate.ApiFramework.csproj -------------------------------------------------------------------------------- /src/Web/ApiFramework/Configuration/AutofacConfigurationExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/ApiFramework/Configuration/AutofacConfigurationExtensions.cs -------------------------------------------------------------------------------- /src/Web/ApiFramework/Swagger/ApplySummariesOperationFilter.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/ApiFramework/Swagger/ApplySummariesOperationFilter.cs -------------------------------------------------------------------------------- /src/Web/ApiFramework/Swagger/RemoveVersionParameters.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/ApiFramework/Swagger/RemoveVersionParameters.cs -------------------------------------------------------------------------------- /src/Web/ApiFramework/Swagger/SetVersionInPaths.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/ApiFramework/Swagger/SetVersionInPaths.cs -------------------------------------------------------------------------------- /src/Web/ApiFramework/Swagger/UnauthorizedResponsesOperationFilter.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/ApiFramework/Swagger/UnauthorizedResponsesOperationFilter.cs -------------------------------------------------------------------------------- /src/Web/ApiFramework/Tools/ApiResult.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/ApiFramework/Tools/ApiResult.cs -------------------------------------------------------------------------------- /src/Web/ApiFramework/Tools/ConfigureSwaggerOptions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/ApiFramework/Tools/ConfigureSwaggerOptions.cs -------------------------------------------------------------------------------- /src/Web/ApiFramework/Tools/PagedApiResult.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/src/Web/ApiFramework/Tools/PagedApiResult.cs -------------------------------------------------------------------------------- /test/CleanTemplate.Api.EndToEndTests/CleanTemplate.Api.EndToEndTests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/test/CleanTemplate.Api.EndToEndTests/CleanTemplate.Api.EndToEndTests.csproj -------------------------------------------------------------------------------- /test/CleanTemplate.Api.EndToEndTests/ProductControllerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/test/CleanTemplate.Api.EndToEndTests/ProductControllerTests.cs -------------------------------------------------------------------------------- /test/CleanTemplate.CommandHandler.Tests/AddProductCommandHandlerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/test/CleanTemplate.CommandHandler.Tests/AddProductCommandHandlerTests.cs -------------------------------------------------------------------------------- /test/CleanTemplate.CommandHandler.Tests/CleanTemplate.CommandHandler.Tests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/test/CleanTemplate.CommandHandler.Tests/CleanTemplate.CommandHandler.Tests.csproj -------------------------------------------------------------------------------- /test/CleanTemplate.CommandHandler.Tests/CreateUserCommandHandlerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/test/CleanTemplate.CommandHandler.Tests/CreateUserCommandHandlerTests.cs -------------------------------------------------------------------------------- /test/CleanTemplate.CommandHandler.Tests/LoginCommandHandlerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/test/CleanTemplate.CommandHandler.Tests/LoginCommandHandlerTests.cs -------------------------------------------------------------------------------- /test/CleanTemplate.CommandHandler.Tests/RefreshTokenCommandHandlerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/test/CleanTemplate.CommandHandler.Tests/RefreshTokenCommandHandlerTests.cs -------------------------------------------------------------------------------- /test/CleanTemplate.CommandHandler.Tests/TestHelpers.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omid-ahmadpour/CleanArchitecture-Template/HEAD/test/CleanTemplate.CommandHandler.Tests/TestHelpers.cs --------------------------------------------------------------------------------