I would like to follow up on the above issue. I am creating a project SchoolAutomater which has three modules - PurchaseOrder, StaffManagement and StoreManagement. Kindly find the solution structure below. I am trying add an entity using ABP Suite in the Purchase Order Module but the angular files do not get generated.
Hello,
There are no errors in the terminal. I have removed angular/.suite folder and tried as well but it is still not generated.
Please find the logs below:
2022-07-14 18:45:09.667 +03:00 [INF] Request starting HTTP/1.1 GET http://localhost:3000/api/abpSuite/solutions/44aeb635-93d0-41ce-8fb2-3d43d15f85b0/is-built application/json -
2022-07-14 18:45:09.672 +03:00 [INF] Executing endpoint 'Volo.Abp.Suite.Controllers.AbpSuiteController.IsSolutionBuiltAsync (Volo.Abp.Suite)'
2022-07-14 18:45:09.673 +03:00 [INF] Route matched with {action = "IsSolutionBuilt", controller = "AbpSuite", area = "", page = ""}. Executing controller action with signature System.Threading.Tasks.Task1[System.Boolean] IsSolutionBuiltAsync(System.Guid) on controller Volo.Abp.Suite.Controllers.AbpSuiteController (Volo.Abp.Suite). 2022-07-14 18:45:09.847 +03:00 [INF] Executing ObjectResult, writing value of type 'System.Boolean'. 2022-07-14 18:45:09.847 +03:00 [INF] Executed action Volo.Abp.Suite.Controllers.AbpSuiteController.IsSolutionBuiltAsync (Volo.Abp.Suite) in 174.2324ms 2022-07-14 18:45:09.847 +03:00 [INF] Executed endpoint 'Volo.Abp.Suite.Controllers.AbpSuiteController.IsSolutionBuiltAsync (Volo.Abp.Suite)' 2022-07-14 18:45:09.847 +03:00 [INF] Request finished HTTP/1.1 GET http://localhost:3000/api/abpSuite/solutions/44aeb635-93d0-41ce-8fb2-3d43d15f85b0/is-built application/json - - 200 - application/json;+charset=utf-8 181.8940ms 2022-07-14 18:45:09.858 +03:00 [INF] Request starting HTTP/1.1 GET http://localhost:3000/api/abpSuite/solutions/44aeb635-93d0-41ce-8fb2-3d43d15f85b0/is-running application/json - 2022-07-14 18:45:09.858 +03:00 [INF] Executing endpoint 'Volo.Abp.Suite.Controllers.AbpSuiteController.IsSolutionRunningAsync (Volo.Abp.Suite)' 2022-07-14 18:45:09.858 +03:00 [INF] Route matched with {action = "IsSolutionRunning", controller = "AbpSuite", area = "", page = ""}. Executing controller action with signature System.Threading.Tasks.Task1[System.Boolean] IsSolutionRunningAsync(System.Guid) on controller Volo.Abp.Suite.Controllers.AbpSuiteController (Volo.Abp.Suite).
2022-07-14 18:45:09.862 +03:00 [DBG] Checking if the solution is running and in-use...
2022-07-14 18:45:09.866 +03:00 [INF] Executing ObjectResult, writing value of type 'System.Boolean'.
2022-07-14 18:45:09.866 +03:00 [INF] Executed action Volo.Abp.Suite.Controllers.AbpSuiteController.IsSolutionRunningAsync (Volo.Abp.Suite) in 8.0659ms
2022-07-14 18:45:09.866 +03:00 [INF] Executed endpoint 'Volo.Abp.Suite.Controllers.AbpSuiteController.IsSolutionRunningAsync (Volo.Abp.Suite)'
2022-07-14 18:45:09.866 +03:00 [INF] Request finished HTTP/1.1 GET http://localhost:3000/api/abpSuite/solutions/44aeb635-93d0-41ce-8fb2-3d43d15f85b0/is-running application/json - - 200 - application/json;+charset=utf-8 8.6168ms
2022-07-14 18:45:09.883 +03:00 [INF] Request starting HTTP/1.1 POST http://localhost:3000/api/abpSuite/crudPageGenerator/44aeb635-93d0-41ce-8fb2-3d43d15f85b0/save-and-generate-entity application/json 4881
2022-07-14 18:45:09.884 +03:00 [INF] Executing endpoint 'Volo.Abp.Suite.Controllers.CrudPageGeneratorController.SaveAndGenerateEntityAsync (Volo.Abp.Suite)'
2022-07-14 18:45:09.884 +03:00 [INF] Route matched with {controller = "crudPageGenerator", action = "SaveAndGenerateEntity", area = "", page = ""}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.NoContentResult] SaveAndGenerateEntityAsync(System.Guid, Volo.Abp.Suite.Models.EntityModel) on controller Volo.Abp.Suite.Controllers.CrudPageGeneratorController (Volo.Abp.Suite).
2022-07-14 18:45:09.986 +03:00 [INF]
=== ENTITY GENERATION STARTED ===
* SOLUTION: PurchaseOrder
* ENTITY:{
"Id": "83cb6a0e-7326-41a6-b4fc-1f81c81654b4",
"Name": "ItemCatalog",
"OriginalName": "ItemCatalog",
"NamePlural": "ItemCatalogs",
"DatabaseTableName": "ItemCatalogs",
"Namespace": "ItemCatalogs",
"BaseClass": "FullAuditedAggregateRoot",
"PrimaryKeyType": "int",
"IsMultiTenant": true,
"CheckConcurrency": true,
"ShouldCreateUserInterface": true,
"ShouldCreateBackend": true,
"ShouldAddMigration": true,
"ShouldUpdateDatabase": true,
"CreateTests": true,
"Properties": [
{
"Id": "74b40dd1-f4c3-446e-b18f-59fcfb17a0e8",
"Name": "Code",
"Type": "string",
"EnumType": "",
"EnumNamespace": "",
"EnumAngularImport": "shared/enums",
"EnumFilePath": null,
"IsNullable": false,
"IsRequired": true,
"MinLength": 1,
"MaxLength": 50,
"SortOrder": 0,
"SortType": 0,
"Regex": "",
"EmailValidation": false,
"EnumValues": null,
"IsSelected": true,
"OrdinalIndex": 0
},
{
"Id": "e89ee099-8994-4ed6-9533-0fefc89b9853",
"Name": "Description",
"Type": "string",
"EnumType": "",
"EnumNamespace": "",
"EnumAngularImport": "shared/enums",
"EnumFilePath": null,
"IsNullable": false,
"IsRequired": false,
"MinLength": 0,
"MaxLength": 250,
"SortOrder": 0,
"SortType": 0,
"Regex": "",
"EmailValidation": false,
"EnumValues": null,
"IsSelected": true,
"OrdinalIndex": 0
},
{
"Id": "d08dc651-6275-4e03-bfcc-5c7ced954504",
"Name": "StoreID",
"Type": "int",
"EnumType": "",
"EnumNamespace": "",
"EnumAngularImport": "shared/enums",
"EnumFilePath": null,
"IsNullable": true,
"IsRequired": false,
"MinLength": null,
"MaxLength": null,
"SortOrder": 0,
"SortType": 0,
"Regex": "",
"EmailValidation": false,
"EnumValues": null,
"IsSelected": true,
"OrdinalIndex": 0
},
{
"Id": "66eeff38-472a-471c-96b1-6b32a7f569d1",
"Name": "Spec1",
"Type": "string",
"EnumType": "",
"EnumNamespace": "",
"EnumAngularImport": "shared/enums",
"EnumFilePath": null,
"IsNullable": false,
"IsRequired": false,
"MinLength": null,
"MaxLength": 100,
"SortOrder": 0,
"SortType": 0,
"Regex": "",
"EmailValidation": false,
"EnumValues": null,
"IsSelected": true,
"OrdinalIndex": 0
},
{
"Id": "4740a67c-9f0c-43e1-9fd1-ae3b5a2d33d3",
"Name": "Spec2",
"Type": "string",
"EnumType": "",
"EnumNamespace": "",
"EnumAngularImport": "shared/enums",
"EnumFilePath": null,
"IsNullable": false,
"IsRequired": false,
"MinLength": null,
"MaxLength": 100,
"SortOrder": 0,
"SortType": 0,
"Regex": "",
"EmailValidation": false,
"EnumValues": null,
"IsSelected": true,
"OrdinalIndex": 0
},
{
"Id": "a8f746ed-3bfd-4e4a-bfda-de29bddeeb18",
"Name": "Spec3",
"Type": "string",
"EnumType": "",
"EnumNamespace": "",
"EnumAngularImport": "shared/enums",
"EnumFilePath": null,
"IsNullable": false,
"IsRequired": false,
"MinLength": null,
"MaxLength": 100,
"SortOrder": 0,
"SortType": 0,
"Regex": "",
"EmailValidation": false,
"EnumValues": null,
"IsSelected": true,
"OrdinalIndex": 0
},
{
"Id": "086410db-4814-41f6-af5a-a14685e9ea39",
"Name": "TaxCode",
"Type": "string",
"EnumType": "",
"EnumNamespace": "",
"EnumAngularImport": "shared/enums",
"EnumFilePath": null,
"IsNullable": false,
"IsRequired": false,
"MinLength": null,
"MaxLength": 20,
"SortOrder": 0,
"SortType": 0,
"Regex": "",
"EmailValidation": false,
"EnumValues": null,
"IsSelected": true,
"OrdinalIndex": 0
},
{
"Id": "ca937a40-2cdd-4637-904b-c74e0fc6886f",
"Name": "TaxPercentage",
"Type": "decimal",
"EnumType": "",
"EnumNamespace": "",
"EnumAngularImport": "shared/enums",
"EnumFilePath": null,
"IsNullable": false,
"IsRequired": false,
"MinLength": null,
"MaxLength": null,
"SortOrder": 0,
"SortType": 0,
"Regex": "",
"EmailValidation": false,
"EnumValues": null,
"IsSelected": true,
"OrdinalIndex": 0
},
{
"Id": "1bd91db9-3770-4c22-9e43-975f2fed59b7",
"Name": "Currency",
"Type": "char",
"EnumType": "",
"EnumNamespace": "",
"EnumAngularImport": "shared/enums",
"EnumFilePath": null,
"IsNullable": false,
"IsRequired": false,
"MinLength": null,
"MaxLength": null,
"SortOrder": 0,
"SortType": 0,
"Regex": "",
"EmailValidation": false,
"EnumValues": null,
"IsSelected": true,
"OrdinalIndex": 0
},
{
"Id": "40e84126-eeb0-4aff-a4d9-e2969e0e14f0",
"Name": "CurrencyRate",
"Type": "decimal",
"EnumType": "",
"EnumNamespace": "",
"EnumAngularImport": "shared/enums",
"EnumFilePath": null,
"IsNullable": false,
"IsRequired": false,
"MinLength": null,
"MaxLength": null,
"SortOrder": 0,
"SortType": 0,
"Regex": "",
"EmailValidation": false,
"EnumValues": null,
"IsSelected": true,
"OrdinalIndex": 0
},
{
"Id": "74c8329d-a830-4b9c-9a86-09d600d78fa8",
"Name": "Rate",
"Type": "decimal",
"EnumType": "",
"EnumNamespace": "",
"EnumAngularImport": "shared/enums",
"EnumFilePath": null,
"IsNullable": false,
"IsRequired": false,
"MinLength": null,
"MaxLength": null,
"SortOrder": 0,
"SortType": 0,
"Regex": "",
"EmailValidation": false,
"EnumValues": null,
"IsSelected": true,
"OrdinalIndex": 0
},
{
"Id": "0e976c3d-c0c0-4066-b56e-c2018bfd682f",
"Name": "UoM",
"Type": "string",
"EnumType": "",
"EnumNamespace": "",
"EnumAngularImport": "shared/enums",
"EnumFilePath": null,
"IsNullable": false,
"IsRequired": false,
"MinLength": null,
"MaxLength": 50,
"SortOrder": 0,
"SortType": 0,
"Regex": "",
"EmailValidation": false,
"EnumValues": null,
"IsSelected": true,
"OrdinalIndex": 0
}
],
"NavigationProperties": [],
"NavigationConnections": [],
"PhysicalFileName": "ItemCatalog.json"
}
2022-07-14 18:45:09.987 +03:00 [INF] 1/8 - EntityGenerateCommand started...
2022-07-14 18:45:10.006 +03:00 [INF] 1/8 - EntityGenerateCommand completed. | Duration: 19 ms.
2022-07-14 18:45:10.007 +03:00 [INF] 2/8 - RepositoryCommand started...
2022-07-14 18:45:10.025 +03:00 [INF] 2/8 - RepositoryCommand completed. | Duration: 18 ms.
2022-07-14 18:45:10.026 +03:00 [INF] 3/8 - ManagerCommand started...
2022-07-14 18:45:10.029 +03:00 [INF] 3/8 - ManagerCommand completed. | Duration: 3 ms.
2022-07-14 18:45:10.029 +03:00 [INF] 4/8 - AppServiceCommand started...
2022-07-14 18:45:10.053 +03:00 [INF] 4/8 - AppServiceCommand completed. | Duration: 24 ms.
2022-07-14 18:45:10.054 +03:00 [INF] 5/8 - ProxyControllerCommand started...
2022-07-14 18:45:10.058 +03:00 [INF] 5/8 - ProxyControllerCommand completed. | Duration: 4 ms.
2022-07-14 18:45:10.058 +03:00 [INF] 6/8 - PermissionCommand started...
2022-07-14 18:45:10.060 +03:00 [INF] 6/8 - PermissionCommand completed. | Duration: 2 ms.
2022-07-14 18:45:10.060 +03:00 [INF] 7/8 - ApplicationObjectMappingCommand started...
2022-07-14 18:45:10.063 +03:00 [INF] 7/8 - ApplicationObjectMappingCommand completed. | Duration: 2 ms.
2022-07-14 18:45:10.063 +03:00 [INF] 8/8 - UnitTestCommandCommand started...
2022-07-14 18:45:10.063 +03:00 [WRN] Cannot find DataSeedContributor so skipping data seeding step!
2022-07-14 18:45:10.063 +03:00 [WRN] Cannot find ApplicationTestFile so skipping application test generation!
2022-07-14 18:45:10.063 +03:00 [WRN] Cannot find RepositoryTestFile so skipping repository test generation!
2022-07-14 18:45:10.063 +03:00 [INF] 8/8 - UnitTestCommandCommand completed. | Duration: 0 ms.
2022-07-14 18:45:10.064 +03:00 [INF] Entity generation completed in 0 sec.
2022-07-14 18:45:10.064 +03:00 [INF] Executing StatusCodeResult, setting HTTP status code 204
2022-07-14 18:45:10.064 +03:00 [INF] Executed action Volo.Abp.Suite.Controllers.CrudPageGeneratorController.SaveAndGenerateEntityAsync (Volo.Abp.Suite) in 179.9377ms
2022-07-14 18:45:10.064 +03:00 [INF] Executed endpoint 'Volo.Abp.Suite.Controllers.CrudPageGeneratorController.SaveAndGenerateEntityAsync (Volo.Abp.Suite)'
2022-07-14 18:45:10.064 +03:00 [INF] Request finished HTTP/1.1 POST http://localhost:3000/api/abpSuite/crudPageGenerator/44aeb635-93d0-41ce-8fb2-3d43d15f85b0/save-and-generate-entity application/json 4881 - 204 - - 180.3573ms
2022-07-14 18:45:10.071 +03:00 [INF] Request starting HTTP/1.1 GET http://localhost:3000/api/abpSuite/crudPageGenerator/44aeb635-93d0-41ce-8fb2-3d43d15f85b0/entities application/json -
2022-07-14 18:45:10.071 +03:00 [INF] Executing endpoint 'Volo.Abp.Suite.Controllers.CrudPageGeneratorController.GetEntitiesAsync (Volo.Abp.Suite)'
2022-07-14 18:45:10.071 +03:00 [INF] Route matched with {controller = "crudPageGenerator", action = "GetEntities", area = "", page = ""}. Executing controller action with signature System.Threading.Tasks.Task1[System.Collections.Generic.List1[Volo.Abp.Suite.Models.EntityModel]] GetEntitiesAsync(System.Guid) on controller Volo.Abp.Suite.Controllers.CrudPageGeneratorController (Volo.Abp.Suite).
2022-07-14 18:45:10.076 +03:00 [INF] Executing ObjectResult, writing value of type 'System.Collections.Generic.List`1[[Volo.Abp.Suite.Models.EntityModel, Volo.Abp.Suite, Version=5.3.1.0, Culture=neutral, PublicKeyToken=null]]'.
2022-07-14 18:45:10.077 +03:00 [INF] Executed action Volo.Abp.Suite.Controllers.CrudPageGeneratorController.GetEntitiesAsync (Volo.Abp.Suite) in 5.189ms
2022-07-14 18:45:10.077 +03:00 [INF] Executed endpoint 'Volo.Abp.Suite.Controllers.CrudPageGeneratorController.GetEntitiesAsync (Volo.Abp.Suite)'
2022-07-14 18:45:10.077 +03:00 [INF] Request finished HTTP/1.1 GET http://localhost:3000/api/abpSuite/crudPageGenerator/44aeb635-93d0-41ce-8fb2-3d43d15f85b0/entities application/json - - 200 - application/json;+charset=utf-8 5.5186ms
When is the 5.3.3 version releasing? If already release how to update my package.
Hello,
I have followed these steps but it generates proxies under projects/my-service while the components are generated under src/my-entity. How to ensure that both proxies and components for a service are generated in one location only?
Hello,
I created the my-service ng module as suggested in the gist but after updating to abp suite 5.3.3 I am getting an error when generating the angular UI from abp suite. Kindly see below the structure of the module and the error
I was able to generate the angular UI once the my-service library was removed from apps/angular/projects and apps/angular/angular.json
But the my-service library is required to regenerate proxies for the services so please let me know a fix or alternative for the same.
Finally i was able to get the error vanish, but don't know how. below are the steps I have done.
I have updated the repository settings. Is there any update or solution available for the above issue ?
I am still facing the same issue with ABP 7.0.1 as well. Please find the logs below. I have noticed that the issue is with only modules created in a project created with the module startup template but angular components and proxies are generated in modules created within a project created using an application startup template. Is there a workaround available to for the same?
We have updated the project so cannot reproduce the above error currently.
We are facing another issue where the angular components and proxies are not generated if the module name is hyphenated or has a '.' in the name. Kindly find the errors and steps to reproduce below. Kindly let us know if there is a workaround for the same.
Our Project have 2 parts
abp new SchoolAut0mater -t app-pro -u angular -m none --database-provider ef -csf
abp add-module SchoolAut0mater.Staff --new -t module-pro -u angular --add-to-solution-file --startup-project .\aspnet-core\src\SchoolAut0mater.HttpApi.Host\SchoolAut0mater.HttpApi.Host.csproj
First part worked, We were able to run the application. When we add part 2, we faced some issue somehow we fixed using below changes
"@school-aut0mater/staff" to "@staff" in '.\SchoolAut0mater\angular\projects\staff\package.json'"@school-aut0mater/staff" to "@staff" in '.\SchoolAut0mater\angular\tsconfig.json'"@school-aut0mater/staff/config" to "@staff/config" in '.\SchoolAut0mater\angular\tsconfig.json'import { StaffService } from './staff.service'; to import { StaffService } from './services/staff.service';import { StaffComponent } from './staff.component'; to import { StaffComponent } from './components/staff.component';some how the application is working
Now I am using abp suite to generate/scaffolding all required items including angular files for am entity "MITCatalog", Unfortunately the angular files are not generated.
No matter what I tried there are no signs of angular files generation.
So I had a doubts on name conversion of my Module solution name 'SchoolAut0mater.Staff'. I have delete all codes or Module 'SchoolAut0mater.Staff' and decided to recreate a new module with the name 'Staff'
abp add-module Staff --new -t module-pro -u angular --add-to-solution-file --startup-project .\aspnet-core\src\SchoolAut0mater.HttpApi.Host\SchoolAut0mater.HttpApi.Host.csproj
import { StaffService } from './staff.service'; to import { StaffService } from './services/staff.service';import { StaffComponent } from './staff.component'; to import { StaffComponent } from './components/staff.component';some how the application is working Now I am using abp suite to generate/scaffolding all required items including angular files for the same entity "MITCatalog", Now angular files are create this time.
We want all the name of module for our solutions to prefix with SchoolA0tomater
is there any solution....