-
-
Notifications
You must be signed in to change notification settings - Fork 372
RoadMap
Blazor Boilerplate has a decent start but we have several features that could use additional collaborator support to tackle. Below is the initial list. As more collaborator's join please make suggestions on the Gitter community
- Review Logging and Test on local & published | n/a
- Add Local Storage for User Profile & Theme options | n/a
- Create Wiki for Deployment both IIS and Azure | n/a
- Simple CRUD for Customers -> Orders or or Blog | n/a
- Unit, Integration and Automatized Tests | n/a
- Simple Chat using SignalR - maybe this repo can be a resource: https://github.com/conficient/BlazorChatSample | n/a
Breeze integration completed with ToDo example.
With Breeze the API design takes less code and makes easy some complex update.
In this project the Breeze Controller is ApplicationController. The EFPersistenceManager is ApplicationPersistenceManager and the Breeze.Sharp Entities (i.e. the Dto) are in BlazorBoilerplate.Shared.Dto.Db.
The breeze.sharp library is rarely updated, so to make BlazorBoilerplate working with Breeze I used my fork. You can find the package in folder nupkg and nuget.config tells Visual Studio to use this folder as a package source.
The ApplicationController has no Authorize attribute, because to keep policy management with Breeze, I implemented a simple custom policy management in ApplicationPersistenceManager.
First of all you can mark the EF entities with Permissions attribute which takes CRUD Actions flag enum as parameter. Examples:
[Permissions(Actions.Delete)]
public partial class Todo
{
...
}
[Permissions(Actions.Create | Actions.Update)]
public partial class Todo
{
...
}
[Permissions(Actions.CRUD)]
public partial class Todo
{
...
}
In BeforeSaveEntities method of ApplicationPersistenceManager the actions of the entities to be saved are compared with the claims of permission type of the current user. If a policy is violated an EntityErrorsException is thrown.