Thank @armanozak, related to the Permission, I think it's better if ABP Suite can group permissions by Namespace:
Moreover, I found another issue ralated to ABP Suite: Inconsistent API endpoint generation rule between Server and Client (Angular). In [Acme.HttpApi], the route is using '%%entity-name-camelcase%%':
[RemoteService]
[Area("app")]
[ControllerName("MyEntity")]
[Route("api/app/myEntity")] // THIS LINE
public class MyEntityController : AbpController, IPaymentMethodAppService
{
...
}
In [my-entity.service.ts], the url is using '<%= kebab(name) %>':
create = (input: MyEntityCreateDto) =>
this.restService.request<any, MyEntityDto>({
method: 'POST',
url: '/api/app/my-entity', // THIS LINE
body: input,
},
{ apiName: this.apiName })
I think we should use '<%= kebab(namePlural) %>' for the enpoints, similar to other existing enpoints:
Generated solution using ABP CLI command:
abp new Acme.BookStore -t app-pro -d ef -u angular -m react-native -csf
Then using ABP Suite v3.1.0.0 to generate CRUD page.
It worked as usual when keeping the default Namespace:
But it did not work if using another Namespace:
The Books menu is missing:
If we type in the address bar:
http://localhost:4200/books
we got 403 error:
In our AspNetZero project, we are using Namespace to ogranize business sectors. We are trying to migrate to ABP, hope this feature should work as in AspNetZero.