* Updating Blazor services
* Adding Settings and Refactoring Services
* WIP - Fighting with DI
* Configuring dependencies in both Web Startup and BlazorAdmin Program.cs has them working again.
* Everything works; need to optimize calls to ListBrands
* LocalStorageBrandService decorator working
* Added cache duration of 1 minute
* Refactoring to reduce token storage
Fixed issue with dropdowns binding to int
* Remove token stuff from login; moved to CustomAuthStateProvider
* Migrated CatalogTypes to separate service
Implemented cache decorator
* Ardalis/blazor refactor (#440)
* 1. Migrate CatalogItemServices -> CatalogItemService.
3. Add caching to CatalogItemService.
* change to $"Loading {key} from local storage" ?
* docker settings added. (#441)
* docker settings added.
* InDocker Removed
* InDocker removed from web startup.
* removed unused using
* no reload list if close without save
* startup patch for localhost
* file name fixed
* removed docker from launchSettings.
* Configure logging via appsettings
Co-authored-by: Shady Nagy <info@shadynagy.com>
* replace NewtonSoft with System.Text.Json
* not use auth for brande and types and use GetFromJsonAsync
* fix
* fix
* Auth HttpGet more simple.
* Put, Delete and Post more simple.
* Fixed Edit for remove image and keep image and change other fields.
Added description required in Blazor Admin.
* Removed using not used
* Refactor AuthService and introduce HttpService. add validation for price.
* return null in HttpService if not success.
* Limt Price to 1000 mximum
* DI for Blazor Services
* one blazor service.
* fix
* static added to Constants
* Docker support for Blazor
* GetHttp, PostHttp, ... inside AuthService, Docker working with login, Cookies Configuration temporary disabled
* BaseAddress get web uri from Blazor Shared.
* cookie options changed to fix docker.
* Fixed returnUrl when inserting admin link and navigate without login
* Functions not used removed.
* AddPolicy using GetWebUrl
* Login link removed from NavMenu
* Change ConfigureCookieSettings, ConfigureCoreServices and ConfigureWebServices to be IServiceCollection extentions.
* GetOriginWebUrl added.
* Auto InDocker switch added.
* Removed not used using .
* Added Blazor Client
Configured PublicAPI CORS to allow traffic from client
* Make admin page home page; remove extra pages
Add CatalogType list endpoint
* Wired up Types and Brands in the API and the admin list page
* Adding a custom HttpClient to talk securely to API
* Ardalis/blazor (#419)
* Login added
* AuthService will handel http request secure and not secure.
* Logout added
* CatalogBrandService in it is own service
* Get token from localstorage when refresh.
* used GetAsync
* Fixed Login and Logout switch.
* CatalogItemService added
* CatalogTypeService added & Auth for CatalogType.
using not used removed.
* Made BlazorComponent and BlazorLayoutComponent for refresh.
Index now small enough to be in one file.
* Removed the service from program main and use lazy singleton.
* used OnInitialized
* Refactoring and detecting login status in login.razor
* Refactoring login to redirect if user is already logged in
* Blazor login with MVC (#420)
* Blazor login with MVC
* return back the PasswordSignInAsync in Login page
* CRUD added (#422)
* CRUD added
* Unit Test changed to meet new redirect /admin
* CreateCatalogItemRequest added.
* Action caption added.
* Validation added for name and price.
* Updated port of api
Redirect to returnUrl from login
* Add username to /admin; link to my profile
* Working on authorization of /admin
* Working on custom auth locking down /admin page
* Microsoft authorize working.Login.razor removed.Login from SignInMana… (#425)
* Microsoft authorize working.Login.razor removed.Login from SignInManager and create token from it.unit test fixed.
* GetTokenFromController function used in CustomAuthStateProvider
* Cleaned up button styles
Refactored to use codebehind for List component
Updated Not Authorized view
Co-authored-by: Shady Nagy <shadynagi@gmail.com>
* Adding tests for GetById endpoint
* Updating tests and messages
* Adding paged endpoint and also AutoMapper
* Authenticate endpoint works as bool with tests
* Got JWT token security working with Create and Delete endpoints and Swashbuckle.
* Working on getting cookie and jwt token auth working in the same app
All tests are passing
* Creating new project and moving APIs
Build succeeds; tests need updated.
* all tests passing after moving services to PublicApi project
* Fix authorize attributes
* Uncomment and update ApiCatalogControllerLists tests
Co-authored-by: Eric Fleming <eric-fleming18@hotmail.com>
* Changed the order of the projects, Web first to infer as startup.
* Added encapsulated JSON serialization - and moved to System.Text.Json
* Refactored a few minor updates out
Co-authored-by: Eric Fleming <eric-fleming18@hotmail.com>
* Updates based on documentation
* Getting the build passing
* Getting app functioning
* A few cleanups to confirm it's working as expected
* Fixing functional tests
* Updating dockerfile for 3.0
* Functional Tests now run sequentially
* Updating to latest version of moq
* Adding migration for post 3.0 upgrades
* Removing commented out lines
* Moving address and catalogitemordered configuration in to classes that own them
* Adding admin user
* Adding admin catalog screen
- will also only display menu option if user is logged in as an admin
* WIP - squash this
* Allow user to edit a catalog item
* Adding entry for new service
* Invalidating cache after catalog item update
- also a little bit of cleanup
* Fixing bad merge
* Removing Picture Uri and making Id readonly
* Adjusting style in menu dropdown so all options are shown
* Creating Cache helpers with unit tests
* Updates based on documentation
* Getting the build passing
* Getting app functioning
* A few cleanups to confirm it's working as expected
* Fixing functional tests
* Updating dockerfile for 3.0
* Functional Tests now run sequentially
* Updating to latest version of moq
* Adding migration for post 3.0 upgrades
* Removing commented out lines
* Moving address and catalogitemordered configuration in to classes that own them
* Installing MediatR nuget packages
* Configure MediatR in Startup
* Creating GetMyOrders MediatR query and handler
* Adding GetOrderDetails MediatR handler
* Refactoring out default values
* Added tests for GetOrderDetails mediator handler
* Defaulting values on Models for now
* Removing some spaces
* Splitting files
* Splitting out the GetOrderDetails files
* Adding test for GetMyOrders
* restructuing folders
* Using constant
* Updates based on documentation
* Getting the build passing
* Getting app functioning
* A few cleanups to confirm it's working as expected
* Fixing functional tests
* Updating dockerfile for 3.0
* Functional Tests now run sequentially
* Updating to latest version of moq
* Adding migration for post 3.0 upgrades
* Removing commented out lines
* Moving address and catalogitemordered configuration in to classes that own them
* Minor cleanups
- I believe this causes some confusion when people see "Service" in the Web project. We have another service in there named BasketViewModelService instead of BasketService anyways. Adding "ViewModel" to the name is a better representation of what the "services" in the Web project represent.
* Moved Privacy, Home page to Razor Pages
* Migrating Basket from RazorPages to Web.
* Removed BasketController; refactored viewmodels
* Moved BasketComponent into Pages/Shared
Added auth rules to Startup for Pages
Added notes to controllers about Pages usage.
* Fixed broken my orders test
Consolidated Functional Tests
* Fixed logo link to home page
Fixed Order Detail Total $ format
* Initial Web2 project working
* Initial WebRazorPages project working
* Adding additional sln files
* Removing old project
* Fixed integration tests
* Getting FunctionalTests working.
* Got Swagger working in Web
* Moved web2 to web
* Adding support for 2fa, more auth options
* WIP getting auth stuff working
* Added Manage views. 2FA working now for MVC app.
* Switching to using a controller for no-UI logout scenario
* Adding Razor Pages impl of 2FA auth stuff. Works.
* In progress copying code into new RP project
Cleaning up namespaces and whitespace in original Web project
* Cleaning up some more namespaces
* Removing unused page.
* Index page loads correctly.
* Fixing up paging.
* Moving views; getting ready to convert to RPs
* Auto stash before merge of "master" and "origin/master"
Basket and Checkout pages wired up
* WIP on Account pages
* Working on signin/signout
* Working on auth
* Getting order history working
Fixing auth bug
* Fixing Checkout issue
* Fixing link
* Moving Identity seeding to its own class and method.
* Adding tests for AddItem
* Added catalog api controller and functional tests
Added and cleaned up some comments
* Adding integration tests for OrderRepository
* Getting integration test for order working with inmemory db
* Ardalis/upgrade1 (#44)
* Upgrading to netcore 2.0
Updating repository to support async options and refactoring to use it.
* Starting work on tracking customer orders feature.
* Cleaning up some bugs
Working on basket view component implementation
* Fixing up styles, especially for basket in header.
* Adding Order Features (#47)
* Working on order model binding from checkout page - WIP
* Small layout tweaks (#43)
* Updating quantities implemented.
* Fixed basket widget count
* Order History (#49)
* working on creating and viewing orders.
* Working on wiring up listing of orders
* List orders page works as expected. Needed to support ThenInclude scenarios. Currently using strings.
* Renamed Cart to Basket throughout
* Implemented cookie-based anonymous basket handling and transfer to user upon login. Still need to implement transfer upon registration.
* Adding ConfigureProduction as copy of ConfigureDevelopment.
* Configuring bundling and updating default appsetting value to work for local images (the setting is still useful for CDN scenarios).
* Introducing repository and refactoring services.
Changing entities to use int keys everywhere.
* Refactoring application services to live in web project and only reference repositories, not EF contexts.
* Cleaning up implementations
* Moving logic out of CatalogController
Moving entity knowledge out of viewmodels.
* Implementing specification includes better for catalogservice
* Cleaning up and adding specification unit tests