Commit Graph

23 Commits

Author SHA1 Message Date
Cédric Michel
47f69eb294 protect basket by manual manipulation of basket shop cookie (#609)
* protect basket by manual maipulation of  basket shop cookie (get and set)

* add diagram to explain issue 449
2021-11-01 12:28:01 -04:00
Mykola
9168f3324b Fix for #507 - right arrow image not shown (#508) 2021-02-13 10:51:33 -05:00
Sumit Ghosh
28af1642f6 Feature/update net 5 (#487)
* Updated ApplicationCore to net 5

* Updated Infrastructure project to net 5

* Updated BlazorShared project to net 5

* Updated PublicApi project to net 5

* Updated Web mvc project to net 5

* Updated BlazorAdmin project to net-5

* Updated FunctionalTests to net 5

* Updated UnitTests project to net 5

* Updated IntegrationTests project to net 5

* Fixed CSS specific bug in BlazorAdmin project

* Updated github action worflow yaml

* Changes the name to only .NET

* Removed hardcoded minor version from github action workflow.

* Removed commneted code.

* Removed minor versions from the docker file

* Updated dotnet-ef tool version configuration to net-5

* Removed old migration plans

* Added net5 migration plans

* Updated infrastructure projecti setting.

* Removed database error page related configuration

* Removed commented package.
2020-12-03 11:23:11 -05:00
Steve Smith
e9a9dc06d7 Updating Blazor Admin (#442)
* 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>
2020-07-30 23:50:51 -04:00
Shady Nagy
4e935df311 Image added (#434)
* Image added

* ImageMaximumBytes

* FileController remove Authorized

* ApplicationCore.Constants.AuthorizationConstants.AUTH_KEY

* SavePicture in the interface.

* IFileSystem in Core

* WebFileSystem in Infrastructure

* PictureUri removed from UpdateCatalogItemRequest

* Modal scroll fix
2020-07-28 17:00:32 -04:00
Shady Nagy
e1f9ddd192 BlazorShared and Services (#430)
* Service to Services

* Change Shared project to BlazorShared

* change refrerances to BlazorShared
2020-07-25 17:28:21 -04:00
Steve Smith
8d3ac693d4 Add Blazor WebAssembly Admin Page (#426)
* 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>
2020-07-24 12:36:47 -04:00
Steve Smith
dd5a435cb4 Adding Endpoints with Authorization in separate PublicApi project (#413)
* 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>
2020-06-30 11:36:28 -04:00
yigith
3b1339787f 401 fix (#408)
* transfer basket on login

* review page

* unit tests for TransferBasketAsync
2020-06-24 20:48:23 -04:00
yigith
5c0f7fae29 preserve filters while paginating (#405) 2020-06-20 21:35:29 -04:00
Eric Fleming
d8848a96fb Carry basket with login (#404)
* Updating Checkout screen to login correctly when checking out

* Cleanup cshtml
2020-06-17 21:14:02 -04:00
Eric Fleming
248b8ed632 Prevent negative item orders (#392)
* Pulling changes over from previous branch

* Adding exception and guard clause
2020-06-12 21:06:23 -04:00
Cédric Michel
516d87aaa1 manage basket checkout after login (#371) 2020-05-06 15:53:52 -04:00
Cédric Michel
3e228035c0 Feature/respect encapsulation (#349)
* resolve osbsolete method

* put all properties as private, align unit test

* fix version of version in MD, add instruction to install ef tool

* fix url stored
2020-02-03 12:47:59 -07:00
Eric Fleming
f3f74a342e Admin page (#324)
* 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
2019-12-10 22:04:59 -05:00
Konrad Masalski
d422c42c24 minor code rearange, quantity as optional parameter, removed some unused fields 2019-10-28 22:44:40 +01:00
Eric Fleming
1cf176c107 Update style for when the basket is empty 2019-09-11 21:13:30 -04:00
Ovi
70e009bda2 Allow to remove items from the basket setting quantity to zero 2019-09-11 09:16:00 -04:00
Nemi Chand
1c0dbfa9bd Adding Continue shopping link/button to Cart 2019-07-15 23:01:14 +05:30
Eric Fleming
835528ece0 Removing unused uri composer 2019-05-23 21:40:44 -04:00
Eric Fleming
555c3295f1 Renaming CatalogServices to CatalogViewModelService
- 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.
2019-03-30 15:29:32 -04:00
Eric Fleming
5956ad9b57 Fixing pager styles 2019-02-19 21:54:03 -05:00
Steve Smith
99c416142f Consolidate Web and WebRazorPages Projects (#192)
* 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
2019-01-18 13:29:00 -05:00