ABP Suite Version: 10.4.1 Proxy generation happen automatically when you create/save an entity in ABP Suite @abp/ng.core: 10.4.1 @abp/ng.schematics: 10.4.1 PFB navigationProperties section of .suite/entities/Employee.json
"NavigationProperties": [ { "EntityNameWithDuplicationNumber": "Grade", "EntitySetNameWithDuplicationNumber": "EmployeeGrades", "ReferencePropertyName": "Grade", "UiPickType": "Dropdown", "IsRequired": true, "IncludeEntitiesFromModules": false, "FromAbpModule": false, "Name": "GradeId", "DisplayProperty": "Code", "Namespace": "Pulse.EmployeeGrades", "EntityName": "EmployeeGrade", "EntitySetName": "EmployeeGrades", "DtoNamespace": "Pulse.EmployeeGrades", "DtoEntityName": "EmployeeGradeDto", "Type": "Guid", "IsFilterable": true }, { "EntityNameWithDuplicationNumber": "Region", "EntitySetNameWithDuplicationNumber": "Regions", "ReferencePropertyName": "Region", "UiPickType": "Dropdown", "IsRequired": true, "IncludeEntitiesFromModules": false, "FromAbpModule": false, "Name": "RegionId", "DisplayProperty": "Name", "Namespace": "Pulse.Regions", "EntityName": "Region", "EntitySetName": "Regions", "DtoNamespace": "Pulse.Regions", "DtoEntityName": "RegionDto", "Type": "Guid", "IsFilterable": true }, { "EntityNameWithDuplicationNumber": "WorkingLocation", "EntitySetNameWithDuplicationNumber": "EmployeeLocations", "ReferencePropertyName": "WorkingLocation", "UiPickType": "Dropdown", "IsRequired": true, "IncludeEntitiesFromModules": false, "FromAbpModule": false, "Name": "WorkingLocationId", "DisplayProperty": "Name", "Namespace": "Pulse.EmployeeLocations", "EntityName": "EmployeeLocation", "EntitySetName": "EmployeeLocations", "DtoNamespace": "Pulse.EmployeeLocations", "DtoEntityName": "EmployeeLocationDto", "Type": "Guid", "IsFilterable": true }, { "EntityNameWithDuplicationNumber": "MappedLocation", "EntitySetNameWithDuplicationNumber": "EmployeeLocations1", "ReferencePropertyName": "MappedLocation", "UiPickType": "Dropdown", "IsRequired": true, "IncludeEntitiesFromModules": false, "FromAbpModule": false, "Name": "MappedLocationId", "DisplayProperty": "Name", "Namespace": "Pulse.EmployeeLocations", "EntityName": "EmployeeLocation", "EntitySetName": "EmployeeLocations", "DtoNamespace": "Pulse.EmployeeLocations", "DtoEntityName": "EmployeeLocationDto", "Type": "Guid", "IsFilterable": true }, { "EntityNameWithDuplicationNumber": "OrgUnit", "EntitySetNameWithDuplicationNumber": "OrganizationUnits", "ReferencePropertyName": "OrgUnit", "UiPickType": "Dropdown", "IsRequired": false, "IncludeEntitiesFromModules": true, "FromAbpModule": true, "Name": "OrgUnitId", "DisplayProperty": "DisplayName", "Namespace": "Volo.Abp.Identity", "EntityName": "OrganizationUnit", "EntitySetName": "OrganizationUnits", "DtoNamespace": "Volo.Abp.Identity", "DtoEntityName": "OrganizationUnitDto", "Type": "Guid", "IsFilterable": true }, { "EntityNameWithDuplicationNumber": "Role", "EntitySetNameWithDuplicationNumber": "EmployeeRoles", "ReferencePropertyName": "Role", "UiPickType": "Dropdown", "IsRequired": true, "IncludeEntitiesFromModules": false, "FromAbpModule": false, "Name": "RoleId", "DisplayProperty": "Name", "Namespace": "Pulse.EmployeeRoles", "EntityName": "EmployeeRole", "EntitySetName": "EmployeeRoles", "DtoNamespace": "Pulse.EmployeeRoles", "DtoEntityName": "EmployeeRoleDto", "Type": "Guid", "IsFilterable": true }, { "EntityNameWithDuplicationNumber": "TeamLead", "EntitySetNameWithDuplicationNumber": "Employees1", "ReferencePropertyName": "TeamLead", "UiPickType": "Dropdown", "IsRequired": false, "IncludeEntitiesFromModules": false, "FromAbpModule": false, "Name": "TeamLeadId", "DisplayProperty": "Name", "Namespace": "Pulse.Employees", "EntityName": "Employee", "EntitySetName": "Employees", "DtoNamespace": "Pulse.Employees", "DtoEntityName": "EmployeeDto", "Type": "Guid", "IsFilterable": true }, { "EntityNameWithDuplicationNumber": "ReportingManager", "EntitySetNameWithDuplicationNumber": "Employees2", "ReferencePropertyName": "ReportingManager", "UiPickType": "Dropdown", "IsRequired": false, "IncludeEntitiesFromModules": false, "FromAbpModule": false, "Name": "ReportingManagerId", "DisplayProperty": "Name", "Namespace": "Pulse.Employees", "EntityName": "Employee", "EntitySetName": "Employees", "DtoNamespace": "Pulse.Employees", "DtoEntityName": "EmployeeDto", "Type": "Guid", "IsFilterable": true }
API routes from EmployeeController: [HttpGet] [Route("grade-lookup")] public virtual Task<PagedResultDto<LookupDto<Guid>>> GetGradeLookupAsync(LookupRequestDto input) { return _employeesAppService.GetGradeLookupAsync(input); }
[HttpGet] [Route("region-lookup")] public virtual Task<PagedResultDto<LookupDto<Guid>>> GetRegionLookupAsync(LookupRequestDto input) { return _employeesAppService.GetRegionLookupAsync(input); }
[HttpGet] [Route("working-location-lookup")] public virtual Task<PagedResultDto<LookupDto<Guid>>> GetWorkingLocationLookupAsync(LookupRequestDto input) { return _employeesAppService.GetWorkingLocationLookupAsync(input); }
[HttpGet] [Route("mapped-location-lookup")] public virtual Task<PagedResultDto<LookupDto<Guid>>> GetMappedLocationLookupAsync(LookupRequestDto input) { return _employeesAppService.GetMappedLocationLookupAsync(input); }
[HttpGet] [Route("org-unit-lookup")] public virtual Task<PagedResultDto<LookupDto<Guid>>> GetOrgUnitLookupAsync(LookupRequestDto input) { return _employeesAppService.GetOrgUnitLookupAsync(input); }
[HttpGet] [Route("role-lookup")] public virtual Task<PagedResultDto<LookupDto<Guid>>> GetRoleLookupAsync(LookupRequestDto input) { return _employeesAppService.GetRoleLookupAsync(input); }
[HttpGet] [Route("team-lead-lookup")] public virtual Task<PagedResultDto<LookupDto<Guid>>> GetTeamLeadLookupAsync(LookupRequestDto input) { return _employeesAppService.GetTeamLeadLookupAsync(input); }
[HttpGet] [Route("reporting-manager-lookup")] public virtual Task<PagedResultDto<LookupDto<Guid>>> GetReportingManagerLookupAsync(LookupRequestDto input) { return _employeesAppService.GetReportingManagerLookupAsync(input); }
Issue: Proxies generated for already committed entities. There is no option for selective proxy generation in ABP Suite UI. Below is the same file in repo,”employee.service.ts”, before and after creating a new entity (any entity other than employee entity). 1. GetEmployeeLookup method was removed from code after proxy generation 2. Backend API URL is modified in multiple methods Method API URL Before API URL After getEmployeeGradeLookup /api/app/employees/grade-lookup /api/app/employees/employee-grade-lookup getEmployeeLocationLookup /api/app/employees/mapped-location-lookup /api/app/employees/employee-location-lookup getEmployeeRoleLookup /api/app/employees/role-lookup' /api/app/employees/employee-role-lookup getOrganizationUnitLookup /api/app/employees/org-unit-lookup /api/app/employees/organization-unit-lookup API URL Before is consistent with backend controller code. Attached are supporting versions of same “employee.service.ts” before and after new entity creation.employeeserviceafter.txtemployeeservicebefore.txt