gitextract_ug6sjdzw/ ├── .dockerignore ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── custom.md │ │ └── feature_request.md │ └── workflows/ │ └── dotnet-core.yml ├── .gitignore ├── AGENTS.md ├── Equinox.sln ├── LICENSE ├── README.md ├── docs/ │ ├── Architecture.dgml │ ├── _config.yml │ └── index.md ├── sql/ │ └── GenerateDataBase.sql ├── src/ │ ├── Equinox.Application/ │ │ ├── Equinox.Application.csproj │ │ ├── EventSourcedNormalizers/ │ │ │ ├── CustomerHistory.cs │ │ │ └── CustomerHistoryData.cs │ │ ├── Extensions/ │ │ │ └── CustomerExtensions.cs │ │ ├── Interfaces/ │ │ │ └── ICustomerAppService.cs │ │ ├── Services/ │ │ │ └── CustomerAppService.cs │ │ └── ViewModels/ │ │ └── CustomerViewModel.cs │ ├── Equinox.Domain/ │ │ ├── Commands/ │ │ │ ├── CustomerCommand.cs │ │ │ ├── CustomerCommandHandler.cs │ │ │ ├── RegisterNewCustomerCommand.cs │ │ │ ├── RemoveCustomerCommand.cs │ │ │ ├── UpdateCustomerCommand.cs │ │ │ └── Validations/ │ │ │ ├── CustomerValidation.cs │ │ │ ├── RegisterNewCustomerCommandValidation.cs │ │ │ ├── RemoveCustomerCommandValidation.cs │ │ │ └── UpdateCustomerCommandValidation.cs │ │ ├── Equinox.Domain.csproj │ │ ├── Events/ │ │ │ ├── CustomerEventHandler.cs │ │ │ ├── CustomerRegisteredEvent.cs │ │ │ ├── CustomerRemovedEvent.cs │ │ │ └── CustomerUpdatedEvent.cs │ │ ├── Interfaces/ │ │ │ └── ICustomerRepository.cs │ │ └── Models/ │ │ └── Customer.cs │ ├── Equinox.Domain.Core/ │ │ ├── Equinox.Domain.Core.csproj │ │ └── Events/ │ │ ├── IEventStore.cs │ │ └── StoredEvent.cs │ ├── Equinox.Infra.CrossCutting.Bus/ │ │ ├── Equinox.Infra.CrossCutting.Bus.csproj │ │ └── InMemoryBus.cs │ ├── Equinox.Infra.CrossCutting.Identity/ │ │ ├── API/ │ │ │ ├── AppJwtSettings.cs │ │ │ └── JwtBuilder.cs │ │ ├── Authorization/ │ │ │ ├── CustomAuthorizationValidation.cs │ │ │ ├── CustomAuthorizeAttribute.cs │ │ │ └── RequerimentClaimFilter.cs │ │ ├── Configuration/ │ │ │ └── AspNetIdentityConfig.cs │ │ ├── Data/ │ │ │ └── EquinoxIdentityContext.cs │ │ ├── Equinox.Infra.CrossCutting.Identity.csproj │ │ ├── Extensions/ │ │ │ └── ClaimsPrincipalExtensions.cs │ │ ├── Migrations/ │ │ │ ├── 20250408033115_SQLite.Designer.cs │ │ │ ├── 20250408033115_SQLite.cs │ │ │ └── EquinoxIdentityContextModelSnapshot.cs │ │ ├── Models/ │ │ │ ├── LoginUser.cs │ │ │ ├── RegisterUser.cs │ │ │ ├── UserClaim.cs │ │ │ ├── UserResponse.cs │ │ │ └── UserToken.cs │ │ └── User/ │ │ ├── AspNetUser.cs │ │ └── IAspNetUser.cs │ ├── Equinox.Infra.CrossCutting.IoC/ │ │ ├── Equinox.Infra.CrossCutting.IoC.csproj │ │ └── NativeInjectorBootStrapper.cs │ ├── Equinox.Infra.Data/ │ │ ├── Context/ │ │ │ ├── EquinoxContext.cs │ │ │ └── EventStoreSQLContext.cs │ │ ├── Equinox.Infra.Data.csproj │ │ ├── EventSourcing/ │ │ │ └── SqlEventStore.cs │ │ ├── Mappings/ │ │ │ ├── CustomerMap.cs │ │ │ └── StoredEventMap.cs │ │ ├── Migrations/ │ │ │ ├── 20250408031104_SQLite.Designer.cs │ │ │ ├── 20250408031104_SQLite.cs │ │ │ ├── EquinoxContextModelSnapshot.cs │ │ │ ├── EventStoreSQL/ │ │ │ │ └── EventStoreSQLContextModelSnapshot.cs │ │ │ └── EventStoreSql/ │ │ │ ├── 20250408031128_SQLite.Designer.cs │ │ │ └── 20250408031128_SQLite.cs │ │ ├── Repository/ │ │ │ ├── CustomerRepository.cs │ │ │ └── EventSourcing/ │ │ │ ├── EventStoreSQLRepository.cs │ │ │ └── IEventStoreRepository.cs │ │ └── appsettings.json │ ├── Equinox.Services.Api/ │ │ ├── Configurations/ │ │ │ ├── ApiConfig.cs │ │ │ ├── DatabaseConfig.cs │ │ │ ├── DependencyInjectionConfig.cs │ │ │ └── SwaggerConfig.cs │ │ ├── Controllers/ │ │ │ ├── AccountController.cs │ │ │ ├── ApiController.cs │ │ │ └── CustomerController.cs │ │ ├── Dockerfile │ │ ├── Equinox.Services.Api.csproj │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ └── launchSettings.json │ │ ├── appsettings.Development.json │ │ ├── appsettings.Staging.json │ │ ├── appsettings.Testing.json │ │ └── appsettings.json │ └── Equinox.UI.Web/ │ ├── Areas/ │ │ └── Identity/ │ │ ├── IdentityHostingStartup.cs │ │ └── Pages/ │ │ ├── Account/ │ │ │ ├── Login.cshtml │ │ │ ├── Login.cshtml.cs │ │ │ ├── Logout.cshtml │ │ │ ├── Logout.cshtml.cs │ │ │ ├── Register.cshtml │ │ │ ├── Register.cshtml.cs │ │ │ └── _ViewImports.cshtml │ │ ├── _ValidationScriptsPartial.cshtml │ │ ├── _ViewImports.cshtml │ │ └── _ViewStart.cshtml │ ├── Configurations/ │ │ ├── DatabaseConfig.cs │ │ ├── DbMigrationHelpers.cs │ │ ├── DependencyInjectionConfig.cs │ │ └── MvcConfig.cs │ ├── Controllers/ │ │ ├── BaseController.cs │ │ ├── CustomerController.cs │ │ └── HomeController.cs │ ├── Data/ │ │ ├── ApplicationDbContext.cs │ │ └── Migrations/ │ │ ├── 00000000000000_CreateIdentitySchema.Designer.cs │ │ ├── 00000000000000_CreateIdentitySchema.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ ├── Dockerfile │ ├── Equinox.UI.Web.csproj │ ├── Models/ │ │ └── ErrorViewModel.cs │ ├── Program.cs │ ├── Properties/ │ │ ├── launchSettings.json │ │ ├── serviceDependencies.json │ │ └── serviceDependencies.local.json │ ├── ScaffoldingReadMe.txt │ ├── ViewComponents/ │ │ └── SummaryViewComponent.cs │ ├── Views/ │ │ ├── Customer/ │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ └── Index.cshtml │ │ ├── Home/ │ │ │ ├── Index.cshtml │ │ │ └── Privacy.cshtml │ │ ├── Shared/ │ │ │ ├── Components/ │ │ │ │ └── Summary/ │ │ │ │ └── Default.cshtml │ │ │ ├── Error.cshtml │ │ │ ├── _CookieConsentPartial.cshtml │ │ │ ├── _Layout.cshtml │ │ │ ├── _LoginPartial.cshtml │ │ │ └── _ValidationScriptsPartial.cshtml │ │ ├── _ViewImports.cshtml │ │ └── _ViewStart.cshtml │ ├── appsettings.Development.json │ ├── appsettings.Staging.json │ ├── appsettings.Testing.json │ ├── appsettings.json │ ├── bundleconfig.json │ └── wwwroot/ │ ├── _references.js │ ├── css/ │ │ └── site.css │ ├── js/ │ │ └── site.js │ └── lib/ │ ├── bootstrap/ │ │ ├── .bower.json │ │ ├── LICENSE │ │ └── dist/ │ │ ├── css/ │ │ │ ├── bootstrap-grid.css │ │ │ ├── bootstrap-reboot.css │ │ │ ├── bootstrap-theme.css │ │ │ └── bootstrap.css │ │ └── js/ │ │ ├── bootstrap.bundle.js │ │ ├── bootstrap.js │ │ └── npm.js │ ├── jquery/ │ │ ├── .bower.json │ │ ├── LICENSE.txt │ │ └── dist/ │ │ └── jquery.js │ ├── jquery-validation/ │ │ ├── .bower.json │ │ ├── LICENSE.md │ │ └── dist/ │ │ ├── additional-methods.js │ │ └── jquery.validate.js │ ├── jquery-validation-unobtrusive/ │ │ ├── .bower.json │ │ ├── LICENSE.txt │ │ └── jquery.validate.unobtrusive.js │ └── qrcode.js └── tests/ └── Equinox.Tests.Architecture/ ├── DataBaseTests.cs ├── DomainTests.cs ├── Equinox.Tests.Architecture.csproj ├── GeneralPatternTests.cs ├── Support/ │ ├── ShouldUseDependencyInjectionRule.cs │ ├── TestOutputHelperTextWriter.cs │ └── TestsSupport.cs └── WebApplicationTests.cs