├── .gitattributes ├── .gitignore ├── Expenses.sln ├── README.md ├── src ├── Expenses.Api.Common │ ├── Exceptions │ │ ├── BadRequestException.cs │ │ ├── ForbiddenException.cs │ │ └── NotFoundException.cs │ └── Expenses.Api.Common.csproj ├── Expenses.Api.Models │ ├── Common │ │ └── DataResult.cs │ ├── Expenses.Api.Models.csproj │ ├── Expenses │ │ ├── CreateExpenseModel.cs │ │ ├── ExpenseModel.cs │ │ └── UpdateExpenseModel.cs │ ├── Login │ │ ├── LoginModel.cs │ │ └── RegisterModel.cs │ └── Users │ │ ├── ChangeUserPasswordModel.cs │ │ ├── CreateUserModel.cs │ │ ├── UpdateUserModel.cs │ │ ├── UserModel.cs │ │ └── UserWithTokenModel.cs ├── Expenses.Data.Access │ ├── Constants │ │ └── Roles.cs │ ├── DAL │ │ ├── DbTransaction.cs │ │ ├── EFUnitOfWork.cs │ │ ├── ITransaction.cs │ │ ├── IUnitOfWork.cs │ │ ├── MainDbContext.cs │ │ └── MappingsHelper.cs │ ├── Expenses.Data.Access.csproj │ ├── Helpers │ │ └── EncryptionHelper.cs │ ├── Maps │ │ ├── Common │ │ │ └── IMap.cs │ │ └── Main │ │ │ ├── ExpenseMap.cs │ │ │ ├── RoleMap.cs │ │ │ ├── UserMap.cs │ │ │ └── UserRoleMap.cs │ └── Migrations │ │ ├── 20170525113918_InitialCreate.Designer.cs │ │ ├── 20170525113918_InitialCreate.cs │ │ ├── 20170525150451_UserRoles.Designer.cs │ │ ├── 20170525150451_UserRoles.cs │ │ ├── 20170526090430_AddExpenses.Designer.cs │ │ ├── 20170526090430_AddExpenses.cs │ │ ├── AddAdminToNewDatabase.cs │ │ ├── MainDbContextModelSnapshot.cs │ │ └── SeedRoles.cs ├── Expenses.Data.Model │ ├── Expense.cs │ ├── Expenses.Data.Model.csproj │ ├── Role.cs │ ├── User.cs │ └── UserRole.cs ├── Expenses.Queries │ ├── Expenses.Queries.csproj │ ├── Models │ │ └── UserWithToken.cs │ └── Queries │ │ ├── ExpensesQueryProcessor.cs │ │ ├── IExpensesQueryProcessor.cs │ │ ├── ILoginQueryProcessor.cs │ │ ├── IUsersQueryProcessor.cs │ │ ├── LoginQueryProcessor.cs │ │ └── UsersQueryProcessor.cs ├── Expenses.Security │ ├── Auth │ │ ├── ITokenBuilder.cs │ │ ├── RSAKeyHelper.cs │ │ ├── TokenAuthOption.cs │ │ └── TokenBuilder.cs │ ├── Expenses.Security.csproj │ └── ISecurityContext.cs └── Expenses │ ├── .vscode │ ├── launch.json │ ├── settings.json │ └── tasks.json │ ├── Client │ ├── app │ │ ├── app.component.html │ │ ├── app.component.scss │ │ ├── app.component.ts │ │ ├── app.module.ts │ │ ├── browser-app.module.ts │ │ ├── components │ │ │ ├── alert │ │ │ │ ├── alert.component.html │ │ │ │ └── alert.component.ts │ │ │ ├── change-password │ │ │ │ ├── change-password.component.html │ │ │ │ └── change-password.component.ts │ │ │ ├── current-user-info │ │ │ │ ├── current-user-info.component.css │ │ │ │ ├── current-user-info.component.html │ │ │ │ └── current-user-info.component.ts │ │ │ ├── expense-form │ │ │ │ ├── expense-form.component.html │ │ │ │ └── expense-form.component.ts │ │ │ ├── expense-list │ │ │ │ ├── expense-list.component.html │ │ │ │ └── expense-list.component.ts │ │ │ ├── expense-report │ │ │ │ ├── expense-report.component.html │ │ │ │ └── expense-report.component.ts │ │ │ ├── navmenu │ │ │ │ ├── navmenu.component.css │ │ │ │ ├── navmenu.component.html │ │ │ │ └── navmenu.component.ts │ │ │ ├── user-form │ │ │ │ ├── user-form.component.html │ │ │ │ └── user-form.component.ts │ │ │ └── user-list │ │ │ │ ├── user-list.component.html │ │ │ │ └── user-list.component.ts │ │ ├── containers │ │ │ ├── change-my-password │ │ │ │ ├── change-my-password.component.html │ │ │ │ └── change-my-password.component.ts │ │ │ ├── change-user-password │ │ │ │ ├── change-user-password.component.html │ │ │ │ └── change-user-password.component.ts │ │ │ ├── expenses │ │ │ │ ├── expenses.component.html │ │ │ │ └── expenses.component.ts │ │ │ ├── login │ │ │ │ ├── login.component.html │ │ │ │ └── login.component.ts │ │ │ ├── not-found │ │ │ │ ├── not-found.component.html │ │ │ │ └── not-found.component.ts │ │ │ ├── register │ │ │ │ ├── register.component.html │ │ │ │ └── register.component.ts │ │ │ └── users │ │ │ │ ├── users.component.html │ │ │ │ └── users.component.ts │ │ ├── models │ │ │ ├── IExpense.ts │ │ │ ├── IUser.ts │ │ │ └── IUserWithToken.ts │ │ ├── resolvers │ │ │ ├── expense.resolver.ts │ │ │ └── user.resolver.ts │ │ ├── security │ │ │ ├── auth.guard.ts │ │ │ └── auth.service.ts │ │ ├── server-app.module.ts │ │ └── shared │ │ │ ├── alert.service.ts │ │ │ ├── constants │ │ │ ├── baseurl.constants.ts │ │ │ └── request.ts │ │ │ ├── expense.service.ts │ │ │ ├── filter.helper.ts │ │ │ ├── http.service.ts │ │ │ ├── link.service.ts │ │ │ ├── route.resolver.ts │ │ │ └── user.service.ts │ ├── main.browser.ts │ ├── main.server.aot.ts │ ├── main.server.ts │ ├── modules │ │ ├── transfer-http │ │ │ ├── transfer-http.module.ts │ │ │ └── transfer-http.ts │ │ └── transfer-state │ │ │ ├── browser-transfer-state.module.ts │ │ │ ├── server-transfer-state.module.ts │ │ │ ├── server-transfer-state.ts │ │ │ └── transfer-state.ts │ ├── polyfills │ │ ├── browser.polyfills.ts │ │ ├── polyfills.ts │ │ ├── rx-imports.ts │ │ ├── server.polyfills.ts │ │ └── temporary-aspnetcore-engine.ts │ ├── test │ │ ├── jestGlobalMocks.ts │ │ └── setupJest.ts │ ├── tsconfig.browser.json │ ├── tsconfig.server.aot.json │ ├── tsconfig.server.json │ ├── tsconfig.spec.json │ └── typings.d.ts │ ├── Connected Services │ └── Application Insights │ │ └── ConnectedService.json │ ├── Expenses.csproj │ ├── Filters │ ├── ApiExceptionFilter.cs │ ├── AuthorizationHeaderParameterOperationFilter.cs │ ├── QueryableResult.cs │ ├── UnitOfWorkFilterAttribute.cs │ └── ValidateModelAttribute.cs │ ├── Helpers │ ├── ActionTransactionHelper.cs │ └── IActionTransactionHelper.cs │ ├── IoC │ └── ContainerSetup.cs │ ├── LICENSE.md │ ├── Maps │ ├── AutoMapperAdapter.cs │ ├── AutoMapperConfigurator.cs │ ├── ExpenseMap.cs │ ├── IAutoMapper.cs │ ├── IAutoMapperTypeConfigurator.cs │ ├── UserMap.cs │ └── UserWithTokenMap.cs │ ├── Properties │ └── launchSettings.json │ ├── README.md │ ├── Security │ └── SecurityContext.cs │ ├── Server │ ├── Controllers │ │ └── HomeController.cs │ └── RestAPI │ │ ├── ExpensesController.cs │ │ ├── LoginController.cs │ │ └── UsersController.cs │ ├── Startup.cs │ ├── Views │ ├── Home │ │ └── Index.cshtml │ ├── Shared │ │ ├── Error.cshtml │ │ └── _Layout.cshtml │ ├── _ViewImports.cshtml │ └── _ViewStart.cshtml │ ├── appsettings.Production.json │ ├── appsettings.json │ ├── docs │ ├── angular2-seo.png │ └── architecture.png │ ├── e2e │ ├── e2e.config.ts │ ├── pages │ │ ├── expense-form.page.ts │ │ ├── expense-list.page.ts │ │ ├── expense-row.control.ts │ │ ├── login.page.ts │ │ ├── user-form.page.ts │ │ ├── user-info.control.ts │ │ ├── user-list.page.ts │ │ └── user-row.control.ts │ ├── tests │ │ ├── expenses.tests.ts │ │ ├── login.tests.ts │ │ ├── logout.tests.ts │ │ └── users.tests.ts │ └── tsconfig.json │ ├── package.json │ ├── tsconfig.json │ ├── tslint.json │ ├── web.config │ ├── webpack.config.js │ ├── webpack │ ├── helpers.js │ ├── webpack.aot.js │ ├── webpack.client.js │ ├── webpack.common.js │ ├── webpack.prod.js │ └── webpack.server.js │ └── wwwroot │ ├── assets │ └── i18n │ │ ├── en.json │ │ └── no.json │ └── favicon.ico └── tests ├── Expenses.Api.IntegrationTests ├── Common │ ├── ApiCollection.cs │ └── ApiServer.cs ├── Expenses.Api.IntegrationTests.csproj ├── Expenses │ ├── DeleteShould.cs │ ├── GetItemShould.cs │ ├── GetListShould.cs │ ├── PostShould.cs │ └── PutShould.cs ├── Helpers │ ├── HttpClientWrapper.cs │ └── JsonContent.cs ├── Login │ └── PostShould.cs ├── Users │ ├── DeleteShould.cs │ ├── GetItemShould.cs │ ├── GetListShould.cs │ ├── PostShould.cs │ └── PutShould.cs └── appsettings.json └── Expenses.Queries.Tests ├── Expenses.Queries.Tests.csproj ├── ExpensesQueryProcessorTests.cs ├── Helpers ├── EFHelpers.cs └── TestAsyncEnumerable.cs ├── LoginQueryProcessorTests.cs └── UsersQueryProcessorTests.cs /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/.gitattributes -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/.gitignore -------------------------------------------------------------------------------- /Expenses.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/Expenses.sln -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/README.md -------------------------------------------------------------------------------- /src/Expenses.Api.Common/Exceptions/BadRequestException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Api.Common/Exceptions/BadRequestException.cs -------------------------------------------------------------------------------- /src/Expenses.Api.Common/Exceptions/ForbiddenException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Api.Common/Exceptions/ForbiddenException.cs -------------------------------------------------------------------------------- /src/Expenses.Api.Common/Exceptions/NotFoundException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Api.Common/Exceptions/NotFoundException.cs -------------------------------------------------------------------------------- /src/Expenses.Api.Common/Expenses.Api.Common.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Api.Common/Expenses.Api.Common.csproj -------------------------------------------------------------------------------- /src/Expenses.Api.Models/Common/DataResult.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Api.Models/Common/DataResult.cs -------------------------------------------------------------------------------- /src/Expenses.Api.Models/Expenses.Api.Models.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Api.Models/Expenses.Api.Models.csproj -------------------------------------------------------------------------------- /src/Expenses.Api.Models/Expenses/CreateExpenseModel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Api.Models/Expenses/CreateExpenseModel.cs -------------------------------------------------------------------------------- /src/Expenses.Api.Models/Expenses/ExpenseModel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Api.Models/Expenses/ExpenseModel.cs -------------------------------------------------------------------------------- /src/Expenses.Api.Models/Expenses/UpdateExpenseModel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Api.Models/Expenses/UpdateExpenseModel.cs -------------------------------------------------------------------------------- /src/Expenses.Api.Models/Login/LoginModel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Api.Models/Login/LoginModel.cs -------------------------------------------------------------------------------- /src/Expenses.Api.Models/Login/RegisterModel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Api.Models/Login/RegisterModel.cs -------------------------------------------------------------------------------- /src/Expenses.Api.Models/Users/ChangeUserPasswordModel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Api.Models/Users/ChangeUserPasswordModel.cs -------------------------------------------------------------------------------- /src/Expenses.Api.Models/Users/CreateUserModel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Api.Models/Users/CreateUserModel.cs -------------------------------------------------------------------------------- /src/Expenses.Api.Models/Users/UpdateUserModel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Api.Models/Users/UpdateUserModel.cs -------------------------------------------------------------------------------- /src/Expenses.Api.Models/Users/UserModel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Api.Models/Users/UserModel.cs -------------------------------------------------------------------------------- /src/Expenses.Api.Models/Users/UserWithTokenModel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Api.Models/Users/UserWithTokenModel.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Access/Constants/Roles.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Access/Constants/Roles.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Access/DAL/DbTransaction.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Access/DAL/DbTransaction.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Access/DAL/EFUnitOfWork.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Access/DAL/EFUnitOfWork.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Access/DAL/ITransaction.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Access/DAL/ITransaction.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Access/DAL/IUnitOfWork.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Access/DAL/IUnitOfWork.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Access/DAL/MainDbContext.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Access/DAL/MainDbContext.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Access/DAL/MappingsHelper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Access/DAL/MappingsHelper.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Access/Expenses.Data.Access.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Access/Expenses.Data.Access.csproj -------------------------------------------------------------------------------- /src/Expenses.Data.Access/Helpers/EncryptionHelper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Access/Helpers/EncryptionHelper.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Access/Maps/Common/IMap.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Access/Maps/Common/IMap.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Access/Maps/Main/ExpenseMap.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Access/Maps/Main/ExpenseMap.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Access/Maps/Main/RoleMap.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Access/Maps/Main/RoleMap.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Access/Maps/Main/UserMap.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Access/Maps/Main/UserMap.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Access/Maps/Main/UserRoleMap.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Access/Maps/Main/UserRoleMap.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Access/Migrations/20170525113918_InitialCreate.Designer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Access/Migrations/20170525113918_InitialCreate.Designer.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Access/Migrations/20170525113918_InitialCreate.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Access/Migrations/20170525113918_InitialCreate.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Access/Migrations/20170525150451_UserRoles.Designer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Access/Migrations/20170525150451_UserRoles.Designer.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Access/Migrations/20170525150451_UserRoles.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Access/Migrations/20170525150451_UserRoles.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Access/Migrations/20170526090430_AddExpenses.Designer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Access/Migrations/20170526090430_AddExpenses.Designer.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Access/Migrations/20170526090430_AddExpenses.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Access/Migrations/20170526090430_AddExpenses.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Access/Migrations/AddAdminToNewDatabase.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Access/Migrations/AddAdminToNewDatabase.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Access/Migrations/MainDbContextModelSnapshot.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Access/Migrations/MainDbContextModelSnapshot.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Access/Migrations/SeedRoles.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Access/Migrations/SeedRoles.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Model/Expense.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Model/Expense.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Model/Expenses.Data.Model.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Model/Expenses.Data.Model.csproj -------------------------------------------------------------------------------- /src/Expenses.Data.Model/Role.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Model/Role.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Model/User.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Model/User.cs -------------------------------------------------------------------------------- /src/Expenses.Data.Model/UserRole.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Data.Model/UserRole.cs -------------------------------------------------------------------------------- /src/Expenses.Queries/Expenses.Queries.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Queries/Expenses.Queries.csproj -------------------------------------------------------------------------------- /src/Expenses.Queries/Models/UserWithToken.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Queries/Models/UserWithToken.cs -------------------------------------------------------------------------------- /src/Expenses.Queries/Queries/ExpensesQueryProcessor.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Queries/Queries/ExpensesQueryProcessor.cs -------------------------------------------------------------------------------- /src/Expenses.Queries/Queries/IExpensesQueryProcessor.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Queries/Queries/IExpensesQueryProcessor.cs -------------------------------------------------------------------------------- /src/Expenses.Queries/Queries/ILoginQueryProcessor.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Queries/Queries/ILoginQueryProcessor.cs -------------------------------------------------------------------------------- /src/Expenses.Queries/Queries/IUsersQueryProcessor.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Queries/Queries/IUsersQueryProcessor.cs -------------------------------------------------------------------------------- /src/Expenses.Queries/Queries/LoginQueryProcessor.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Queries/Queries/LoginQueryProcessor.cs -------------------------------------------------------------------------------- /src/Expenses.Queries/Queries/UsersQueryProcessor.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Queries/Queries/UsersQueryProcessor.cs -------------------------------------------------------------------------------- /src/Expenses.Security/Auth/ITokenBuilder.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Security/Auth/ITokenBuilder.cs -------------------------------------------------------------------------------- /src/Expenses.Security/Auth/RSAKeyHelper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Security/Auth/RSAKeyHelper.cs -------------------------------------------------------------------------------- /src/Expenses.Security/Auth/TokenAuthOption.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Security/Auth/TokenAuthOption.cs -------------------------------------------------------------------------------- /src/Expenses.Security/Auth/TokenBuilder.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Security/Auth/TokenBuilder.cs -------------------------------------------------------------------------------- /src/Expenses.Security/Expenses.Security.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Security/Expenses.Security.csproj -------------------------------------------------------------------------------- /src/Expenses.Security/ISecurityContext.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses.Security/ISecurityContext.cs -------------------------------------------------------------------------------- /src/Expenses/.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/.vscode/launch.json -------------------------------------------------------------------------------- /src/Expenses/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "vsicons.presets.angular": true 3 | } -------------------------------------------------------------------------------- /src/Expenses/.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/.vscode/tasks.json -------------------------------------------------------------------------------- /src/Expenses/Client/app/app.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/app.component.html -------------------------------------------------------------------------------- /src/Expenses/Client/app/app.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/app.component.scss -------------------------------------------------------------------------------- /src/Expenses/Client/app/app.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/app.component.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/app.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/app.module.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/browser-app.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/browser-app.module.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/components/alert/alert.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/components/alert/alert.component.html -------------------------------------------------------------------------------- /src/Expenses/Client/app/components/alert/alert.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/components/alert/alert.component.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/components/change-password/change-password.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/components/change-password/change-password.component.html -------------------------------------------------------------------------------- /src/Expenses/Client/app/components/change-password/change-password.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/components/change-password/change-password.component.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/components/current-user-info/current-user-info.component.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/components/current-user-info/current-user-info.component.css -------------------------------------------------------------------------------- /src/Expenses/Client/app/components/current-user-info/current-user-info.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/components/current-user-info/current-user-info.component.html -------------------------------------------------------------------------------- /src/Expenses/Client/app/components/current-user-info/current-user-info.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/components/current-user-info/current-user-info.component.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/components/expense-form/expense-form.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/components/expense-form/expense-form.component.html -------------------------------------------------------------------------------- /src/Expenses/Client/app/components/expense-form/expense-form.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/components/expense-form/expense-form.component.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/components/expense-list/expense-list.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/components/expense-list/expense-list.component.html -------------------------------------------------------------------------------- /src/Expenses/Client/app/components/expense-list/expense-list.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/components/expense-list/expense-list.component.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/components/expense-report/expense-report.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/components/expense-report/expense-report.component.html -------------------------------------------------------------------------------- /src/Expenses/Client/app/components/expense-report/expense-report.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/components/expense-report/expense-report.component.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/components/navmenu/navmenu.component.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/components/navmenu/navmenu.component.css -------------------------------------------------------------------------------- /src/Expenses/Client/app/components/navmenu/navmenu.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/components/navmenu/navmenu.component.html -------------------------------------------------------------------------------- /src/Expenses/Client/app/components/navmenu/navmenu.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/components/navmenu/navmenu.component.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/components/user-form/user-form.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/components/user-form/user-form.component.html -------------------------------------------------------------------------------- /src/Expenses/Client/app/components/user-form/user-form.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/components/user-form/user-form.component.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/components/user-list/user-list.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/components/user-list/user-list.component.html -------------------------------------------------------------------------------- /src/Expenses/Client/app/components/user-list/user-list.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/components/user-list/user-list.component.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/containers/change-my-password/change-my-password.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/containers/change-my-password/change-my-password.component.html -------------------------------------------------------------------------------- /src/Expenses/Client/app/containers/change-my-password/change-my-password.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/containers/change-my-password/change-my-password.component.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/containers/change-user-password/change-user-password.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/containers/change-user-password/change-user-password.component.html -------------------------------------------------------------------------------- /src/Expenses/Client/app/containers/change-user-password/change-user-password.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/containers/change-user-password/change-user-password.component.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/containers/expenses/expenses.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/containers/expenses/expenses.component.html -------------------------------------------------------------------------------- /src/Expenses/Client/app/containers/expenses/expenses.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/containers/expenses/expenses.component.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/containers/login/login.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/containers/login/login.component.html -------------------------------------------------------------------------------- /src/Expenses/Client/app/containers/login/login.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/containers/login/login.component.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/containers/not-found/not-found.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/containers/not-found/not-found.component.html -------------------------------------------------------------------------------- /src/Expenses/Client/app/containers/not-found/not-found.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/containers/not-found/not-found.component.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/containers/register/register.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/containers/register/register.component.html -------------------------------------------------------------------------------- /src/Expenses/Client/app/containers/register/register.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/containers/register/register.component.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/containers/users/users.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/containers/users/users.component.html -------------------------------------------------------------------------------- /src/Expenses/Client/app/containers/users/users.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/containers/users/users.component.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/models/IExpense.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/models/IExpense.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/models/IUser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/models/IUser.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/models/IUserWithToken.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/models/IUserWithToken.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/resolvers/expense.resolver.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/resolvers/expense.resolver.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/resolvers/user.resolver.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/resolvers/user.resolver.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/security/auth.guard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/security/auth.guard.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/security/auth.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/security/auth.service.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/server-app.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/server-app.module.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/shared/alert.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/shared/alert.service.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/shared/constants/baseurl.constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/shared/constants/baseurl.constants.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/shared/constants/request.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/shared/constants/request.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/shared/expense.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/shared/expense.service.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/shared/filter.helper.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/shared/filter.helper.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/shared/http.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/shared/http.service.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/shared/link.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/shared/link.service.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/shared/route.resolver.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/shared/route.resolver.ts -------------------------------------------------------------------------------- /src/Expenses/Client/app/shared/user.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/app/shared/user.service.ts -------------------------------------------------------------------------------- /src/Expenses/Client/main.browser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/main.browser.ts -------------------------------------------------------------------------------- /src/Expenses/Client/main.server.aot.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/main.server.aot.ts -------------------------------------------------------------------------------- /src/Expenses/Client/main.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/main.server.ts -------------------------------------------------------------------------------- /src/Expenses/Client/modules/transfer-http/transfer-http.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/modules/transfer-http/transfer-http.module.ts -------------------------------------------------------------------------------- /src/Expenses/Client/modules/transfer-http/transfer-http.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/modules/transfer-http/transfer-http.ts -------------------------------------------------------------------------------- /src/Expenses/Client/modules/transfer-state/browser-transfer-state.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/modules/transfer-state/browser-transfer-state.module.ts -------------------------------------------------------------------------------- /src/Expenses/Client/modules/transfer-state/server-transfer-state.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/modules/transfer-state/server-transfer-state.module.ts -------------------------------------------------------------------------------- /src/Expenses/Client/modules/transfer-state/server-transfer-state.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/modules/transfer-state/server-transfer-state.ts -------------------------------------------------------------------------------- /src/Expenses/Client/modules/transfer-state/transfer-state.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/modules/transfer-state/transfer-state.ts -------------------------------------------------------------------------------- /src/Expenses/Client/polyfills/browser.polyfills.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/polyfills/browser.polyfills.ts -------------------------------------------------------------------------------- /src/Expenses/Client/polyfills/polyfills.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/polyfills/polyfills.ts -------------------------------------------------------------------------------- /src/Expenses/Client/polyfills/rx-imports.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/polyfills/rx-imports.ts -------------------------------------------------------------------------------- /src/Expenses/Client/polyfills/server.polyfills.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/polyfills/server.polyfills.ts -------------------------------------------------------------------------------- /src/Expenses/Client/polyfills/temporary-aspnetcore-engine.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/polyfills/temporary-aspnetcore-engine.ts -------------------------------------------------------------------------------- /src/Expenses/Client/test/jestGlobalMocks.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/test/jestGlobalMocks.ts -------------------------------------------------------------------------------- /src/Expenses/Client/test/setupJest.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/test/setupJest.ts -------------------------------------------------------------------------------- /src/Expenses/Client/tsconfig.browser.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/tsconfig.browser.json -------------------------------------------------------------------------------- /src/Expenses/Client/tsconfig.server.aot.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/tsconfig.server.aot.json -------------------------------------------------------------------------------- /src/Expenses/Client/tsconfig.server.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/tsconfig.server.json -------------------------------------------------------------------------------- /src/Expenses/Client/tsconfig.spec.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/tsconfig.spec.json -------------------------------------------------------------------------------- /src/Expenses/Client/typings.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Client/typings.d.ts -------------------------------------------------------------------------------- /src/Expenses/Connected Services/Application Insights/ConnectedService.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Connected Services/Application Insights/ConnectedService.json -------------------------------------------------------------------------------- /src/Expenses/Expenses.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Expenses.csproj -------------------------------------------------------------------------------- /src/Expenses/Filters/ApiExceptionFilter.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Filters/ApiExceptionFilter.cs -------------------------------------------------------------------------------- /src/Expenses/Filters/AuthorizationHeaderParameterOperationFilter.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Filters/AuthorizationHeaderParameterOperationFilter.cs -------------------------------------------------------------------------------- /src/Expenses/Filters/QueryableResult.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Filters/QueryableResult.cs -------------------------------------------------------------------------------- /src/Expenses/Filters/UnitOfWorkFilterAttribute.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Filters/UnitOfWorkFilterAttribute.cs -------------------------------------------------------------------------------- /src/Expenses/Filters/ValidateModelAttribute.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Filters/ValidateModelAttribute.cs -------------------------------------------------------------------------------- /src/Expenses/Helpers/ActionTransactionHelper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Helpers/ActionTransactionHelper.cs -------------------------------------------------------------------------------- /src/Expenses/Helpers/IActionTransactionHelper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Helpers/IActionTransactionHelper.cs -------------------------------------------------------------------------------- /src/Expenses/IoC/ContainerSetup.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/IoC/ContainerSetup.cs -------------------------------------------------------------------------------- /src/Expenses/LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/LICENSE.md -------------------------------------------------------------------------------- /src/Expenses/Maps/AutoMapperAdapter.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Maps/AutoMapperAdapter.cs -------------------------------------------------------------------------------- /src/Expenses/Maps/AutoMapperConfigurator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Maps/AutoMapperConfigurator.cs -------------------------------------------------------------------------------- /src/Expenses/Maps/ExpenseMap.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Maps/ExpenseMap.cs -------------------------------------------------------------------------------- /src/Expenses/Maps/IAutoMapper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Maps/IAutoMapper.cs -------------------------------------------------------------------------------- /src/Expenses/Maps/IAutoMapperTypeConfigurator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Maps/IAutoMapperTypeConfigurator.cs -------------------------------------------------------------------------------- /src/Expenses/Maps/UserMap.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Maps/UserMap.cs -------------------------------------------------------------------------------- /src/Expenses/Maps/UserWithTokenMap.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Maps/UserWithTokenMap.cs -------------------------------------------------------------------------------- /src/Expenses/Properties/launchSettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Properties/launchSettings.json -------------------------------------------------------------------------------- /src/Expenses/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/README.md -------------------------------------------------------------------------------- /src/Expenses/Security/SecurityContext.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Security/SecurityContext.cs -------------------------------------------------------------------------------- /src/Expenses/Server/Controllers/HomeController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Server/Controllers/HomeController.cs -------------------------------------------------------------------------------- /src/Expenses/Server/RestAPI/ExpensesController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Server/RestAPI/ExpensesController.cs -------------------------------------------------------------------------------- /src/Expenses/Server/RestAPI/LoginController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Server/RestAPI/LoginController.cs -------------------------------------------------------------------------------- /src/Expenses/Server/RestAPI/UsersController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Server/RestAPI/UsersController.cs -------------------------------------------------------------------------------- /src/Expenses/Startup.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Startup.cs -------------------------------------------------------------------------------- /src/Expenses/Views/Home/Index.cshtml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Views/Home/Index.cshtml -------------------------------------------------------------------------------- /src/Expenses/Views/Shared/Error.cshtml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Views/Shared/Error.cshtml -------------------------------------------------------------------------------- /src/Expenses/Views/Shared/_Layout.cshtml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Views/Shared/_Layout.cshtml -------------------------------------------------------------------------------- /src/Expenses/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper "*, Microsoft.AspNetCore.SpaServices" 2 | -------------------------------------------------------------------------------- /src/Expenses/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/Views/_ViewStart.cshtml -------------------------------------------------------------------------------- /src/Expenses/appsettings.Production.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/appsettings.Production.json -------------------------------------------------------------------------------- /src/Expenses/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/appsettings.json -------------------------------------------------------------------------------- /src/Expenses/docs/angular2-seo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/docs/angular2-seo.png -------------------------------------------------------------------------------- /src/Expenses/docs/architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/docs/architecture.png -------------------------------------------------------------------------------- /src/Expenses/e2e/e2e.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/e2e/e2e.config.ts -------------------------------------------------------------------------------- /src/Expenses/e2e/pages/expense-form.page.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/e2e/pages/expense-form.page.ts -------------------------------------------------------------------------------- /src/Expenses/e2e/pages/expense-list.page.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/e2e/pages/expense-list.page.ts -------------------------------------------------------------------------------- /src/Expenses/e2e/pages/expense-row.control.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/e2e/pages/expense-row.control.ts -------------------------------------------------------------------------------- /src/Expenses/e2e/pages/login.page.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/e2e/pages/login.page.ts -------------------------------------------------------------------------------- /src/Expenses/e2e/pages/user-form.page.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/e2e/pages/user-form.page.ts -------------------------------------------------------------------------------- /src/Expenses/e2e/pages/user-info.control.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/e2e/pages/user-info.control.ts -------------------------------------------------------------------------------- /src/Expenses/e2e/pages/user-list.page.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/e2e/pages/user-list.page.ts -------------------------------------------------------------------------------- /src/Expenses/e2e/pages/user-row.control.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/e2e/pages/user-row.control.ts -------------------------------------------------------------------------------- /src/Expenses/e2e/tests/expenses.tests.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/e2e/tests/expenses.tests.ts -------------------------------------------------------------------------------- /src/Expenses/e2e/tests/login.tests.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/e2e/tests/login.tests.ts -------------------------------------------------------------------------------- /src/Expenses/e2e/tests/logout.tests.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/e2e/tests/logout.tests.ts -------------------------------------------------------------------------------- /src/Expenses/e2e/tests/users.tests.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/e2e/tests/users.tests.ts -------------------------------------------------------------------------------- /src/Expenses/e2e/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/e2e/tsconfig.json -------------------------------------------------------------------------------- /src/Expenses/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/package.json -------------------------------------------------------------------------------- /src/Expenses/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/tsconfig.json -------------------------------------------------------------------------------- /src/Expenses/tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/tslint.json -------------------------------------------------------------------------------- /src/Expenses/web.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/web.config -------------------------------------------------------------------------------- /src/Expenses/webpack.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/webpack.config.js -------------------------------------------------------------------------------- /src/Expenses/webpack/helpers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/webpack/helpers.js -------------------------------------------------------------------------------- /src/Expenses/webpack/webpack.aot.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/webpack/webpack.aot.js -------------------------------------------------------------------------------- /src/Expenses/webpack/webpack.client.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/webpack/webpack.client.js -------------------------------------------------------------------------------- /src/Expenses/webpack/webpack.common.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/webpack/webpack.common.js -------------------------------------------------------------------------------- /src/Expenses/webpack/webpack.prod.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/webpack/webpack.prod.js -------------------------------------------------------------------------------- /src/Expenses/webpack/webpack.server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/webpack/webpack.server.js -------------------------------------------------------------------------------- /src/Expenses/wwwroot/assets/i18n/en.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/wwwroot/assets/i18n/en.json -------------------------------------------------------------------------------- /src/Expenses/wwwroot/assets/i18n/no.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/wwwroot/assets/i18n/no.json -------------------------------------------------------------------------------- /src/Expenses/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/src/Expenses/wwwroot/favicon.ico -------------------------------------------------------------------------------- /tests/Expenses.Api.IntegrationTests/Common/ApiCollection.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/tests/Expenses.Api.IntegrationTests/Common/ApiCollection.cs -------------------------------------------------------------------------------- /tests/Expenses.Api.IntegrationTests/Common/ApiServer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/tests/Expenses.Api.IntegrationTests/Common/ApiServer.cs -------------------------------------------------------------------------------- /tests/Expenses.Api.IntegrationTests/Expenses.Api.IntegrationTests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/tests/Expenses.Api.IntegrationTests/Expenses.Api.IntegrationTests.csproj -------------------------------------------------------------------------------- /tests/Expenses.Api.IntegrationTests/Expenses/DeleteShould.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/tests/Expenses.Api.IntegrationTests/Expenses/DeleteShould.cs -------------------------------------------------------------------------------- /tests/Expenses.Api.IntegrationTests/Expenses/GetItemShould.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/tests/Expenses.Api.IntegrationTests/Expenses/GetItemShould.cs -------------------------------------------------------------------------------- /tests/Expenses.Api.IntegrationTests/Expenses/GetListShould.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/tests/Expenses.Api.IntegrationTests/Expenses/GetListShould.cs -------------------------------------------------------------------------------- /tests/Expenses.Api.IntegrationTests/Expenses/PostShould.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/tests/Expenses.Api.IntegrationTests/Expenses/PostShould.cs -------------------------------------------------------------------------------- /tests/Expenses.Api.IntegrationTests/Expenses/PutShould.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/tests/Expenses.Api.IntegrationTests/Expenses/PutShould.cs -------------------------------------------------------------------------------- /tests/Expenses.Api.IntegrationTests/Helpers/HttpClientWrapper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/tests/Expenses.Api.IntegrationTests/Helpers/HttpClientWrapper.cs -------------------------------------------------------------------------------- /tests/Expenses.Api.IntegrationTests/Helpers/JsonContent.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/tests/Expenses.Api.IntegrationTests/Helpers/JsonContent.cs -------------------------------------------------------------------------------- /tests/Expenses.Api.IntegrationTests/Login/PostShould.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/tests/Expenses.Api.IntegrationTests/Login/PostShould.cs -------------------------------------------------------------------------------- /tests/Expenses.Api.IntegrationTests/Users/DeleteShould.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/tests/Expenses.Api.IntegrationTests/Users/DeleteShould.cs -------------------------------------------------------------------------------- /tests/Expenses.Api.IntegrationTests/Users/GetItemShould.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/tests/Expenses.Api.IntegrationTests/Users/GetItemShould.cs -------------------------------------------------------------------------------- /tests/Expenses.Api.IntegrationTests/Users/GetListShould.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/tests/Expenses.Api.IntegrationTests/Users/GetListShould.cs -------------------------------------------------------------------------------- /tests/Expenses.Api.IntegrationTests/Users/PostShould.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/tests/Expenses.Api.IntegrationTests/Users/PostShould.cs -------------------------------------------------------------------------------- /tests/Expenses.Api.IntegrationTests/Users/PutShould.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/tests/Expenses.Api.IntegrationTests/Users/PutShould.cs -------------------------------------------------------------------------------- /tests/Expenses.Api.IntegrationTests/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/tests/Expenses.Api.IntegrationTests/appsettings.json -------------------------------------------------------------------------------- /tests/Expenses.Queries.Tests/Expenses.Queries.Tests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/tests/Expenses.Queries.Tests/Expenses.Queries.Tests.csproj -------------------------------------------------------------------------------- /tests/Expenses.Queries.Tests/ExpensesQueryProcessorTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/tests/Expenses.Queries.Tests/ExpensesQueryProcessorTests.cs -------------------------------------------------------------------------------- /tests/Expenses.Queries.Tests/Helpers/EFHelpers.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/tests/Expenses.Queries.Tests/Helpers/EFHelpers.cs -------------------------------------------------------------------------------- /tests/Expenses.Queries.Tests/Helpers/TestAsyncEnumerable.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/tests/Expenses.Queries.Tests/Helpers/TestAsyncEnumerable.cs -------------------------------------------------------------------------------- /tests/Expenses.Queries.Tests/LoginQueryProcessorTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/tests/Expenses.Queries.Tests/LoginQueryProcessorTests.cs -------------------------------------------------------------------------------- /tests/Expenses.Queries.Tests/UsersQueryProcessorTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dimangulov/expenses/HEAD/tests/Expenses.Queries.Tests/UsersQueryProcessorTests.cs --------------------------------------------------------------------------------