./node_modules/@volo/abp.ng.account/fesm2022/volo-abp.ng.account-public.mjs:5002:26-31 - Error: export 'model' (imported as 'model') was not found in '@angular/core' ...
./node_modules/@volo/abp.ng.identity/fesm2022/volo-abp.ng.identity.mjs:3765:26-31 - Error: export 'model' (imported as 'model') was not found in '@angular/core' ...
./node_modules/@volo/abp.ng.identity/fesm2022/volo-abp.ng.identity.mjs:3828:26-31 - Error: export 'model' (imported as 'model') was not found in '@angular/core' ...
Error: src/app/proxy/dci/aggregator/organizations/models.ts:4:15 - error TS2724: '"../../../volo/saas/tenant-activation-state.enum"' has no exported member named 'SaasTenantActivationState'. Did you mean 'TenantActivationState'?
4 import type { SaasTenantActivationState } from '../../../volo/saas/tenant-activation-state.enum';
src/app/proxy/volo/saas/tenant-activation-state.enum.ts:3:13 3 export enum TenantActivationState {
'TenantActivationState' is declared here.
Error: src/app/proxy/dci/aggregator/organizations/models.ts:13:20 - error TS2304: Cannot find name 'TenantActivationState'.
13 activationState: TenantActivationState;
Error: src/app/proxy/dci/aggregator/organizations/models.ts:26:20 - error TS2304: Cannot find name 'TenantActivationState'.
26 activationState: TenantActivationState;
Error: src/app/proxy/dci/aggregator/organizations/models.ts:47:20 - error TS2304: Cannot find name 'TenantActivationState'.
47 activationState: TenantActivationState;
Error: src/app/proxy/dci/aggregator/users/custom-identity-user.service.ts:4:197 - error TS2305: Module '"../../../volo/abp/identity/models"' has no exported member 'IdentityRoleDto'.
4 import type { ClaimTypeDto, DownloadTokenResultDto, ExternalLoginProviderDto, GetIdentityUserListAsFileInput, GetIdentityUsersInput, GetImportInvalidUsersFileInput, GetImportUsersSampleFileInput, IdentityRoleDto, IdentityRoleLookupDto, IdentityUserClaimDto, IdentityUserCreateDto, IdentityUserDto, IdentityUserUpdateDto, IdentityUserUpdatePasswordInput, IdentityUserUpdateRolesDto, ImportExternalUserInput, ImportUsersFromFileInputWithStream, ImportUsersFromFileOutput, OrganizationUnitDto, OrganizationUnitLookupDto, OrganizationUnitWithDetailsDto } from '../../../volo/abp/identity/models';
Error: src/app/proxy/dci/aggregator/users/custom-identity-user.service.ts:4:282 - error TS2724: '"../../../volo/abp/identity/models"' has no exported member named 'IdentityUserDto'. Did you mean 'IdentityUserClaimDto'?
4 import type { ClaimTypeDto, DownloadTokenResultDto, ExternalLoginProviderDto, GetIdentityUserListAsFileInput, GetIdentityUsersInput, GetImportInvalidUsersFileInput, GetImportUsersSampleFileInput, IdentityRoleDto, IdentityRoleLookupDto, IdentityUserClaimDto, IdentityUserCreateDto, IdentityUserDto, IdentityUserUpdateDto, IdentityUserUpdatePasswordInput, IdentityUserUpdateRolesDto, ImportExternalUserInput, ImportUsersFromFileInputWithStream, ImportUsersFromFileOutput, OrganizationUnitDto, OrganizationUnitLookupDto, OrganizationUnitWithDetailsDto } from '../../../volo/abp/identity/models';
Error: src/app/proxy/dci/enrollment/users/custom-identity-user.service.ts:4:197 - error TS2305: Module '"../../../volo/abp/identity/models"' has no exported member 'IdentityRoleDto'.
4 import type { ClaimTypeDto, DownloadTokenResultDto, ExternalLoginProviderDto, GetIdentityUserListAsFileInput, GetIdentityUsersInput, GetImportInvalidUsersFileInput, GetImportUsersSampleFileInput, IdentityRoleDto, IdentityRoleLookupDto, IdentityUserClaimDto, IdentityUserCreateDto, IdentityUserDto, IdentityUserUpdateDto, IdentityUserUpdatePasswordInput, IdentityUserUpdateRolesDto, ImportExternalUserInput, ImportUsersFromFileInputWithStream, ImportUsersFromFileOutput, OrganizationUnitDto, OrganizationUnitLookupDto, OrganizationUnitWithDetailsDto } from '../../../volo/abp/identity/models';
Error: src/app/proxy/dci/enrollment/users/custom-identity-user.service.ts:4:282 - error TS2724: '"../../../volo/abp/identity/models"' has no exported member named 'IdentityUserDto'. Did you mean 'IdentityUserClaimDto'?
4 import type { ClaimTypeDto, DownloadTokenResultDto, ExternalLoginProviderDto, GetIdentityUserListAsFileInput, GetIdentityUsersInput, GetImportInvalidUsersFileInput, GetImportUsersSampleFileInput, IdentityRoleDto, IdentityRoleLookupDto, IdentityUserClaimDto, IdentityUserCreateDto, IdentityUserDto, IdentityUserUpdateDto, IdentityUserUpdatePasswordInput, IdentityUserUpdateRolesDto, ImportExternalUserInput, ImportUsersFromFileInputWithStream, ImportUsersFromFileOutput, OrganizationUnitDto, OrganizationUnitLookupDto, OrganizationUnitWithDetailsDto } from '../../../volo/abp/identity/models';
Error: src/app/proxy/dci/message-center/messages/models.ts:4:15 - error TS2440: Import declaration conflicts with local declaration of 'MessageDto'.
4 import type { MessageDto } from './models';
Error: src/app/proxy/volo/abp/identity/models.ts:142:10 - error TS2304: Cannot find name 'IdentityRoleDto'.
142 roles: IdentityRoleDto[];
× Failed to compile.
If a user accesses a hyperlink like: http://localhost:4200/?__tenant=5a896a41-adb2-872d-7330-3a141289a314
The Angular UI will correctly recognize the Tenant Id, look up the tenant and set the Tenant cookie and http header. However, if the user is not yet logged in, when it redirects to the Auth Server, it does not pass the tenant Id in the http header or query string. The user is then required to select the tenant, even though the Angular UI already knows what tenant the user is trying to access.
This creates a problem when a separate application is redirecting a user into our ABP application. We already know the tenantId and can pass it via the query string, so the user should not have to know the name of the Tenant or select it when logging in.
The AuthServer already supports Tenant resolution via the various methods, so if I manually add the __tenant query string parameter like so: https://localhost:44372/Account/Login?__tenant=5a896a41-adb2-872d-7330-3a141289a314&ReturnUrl=%2Fconnect%2Fauthorize%3Fresponse_type%3Dcode%26client_id%3DSample_App%26state%3DQl9hQWsyZEpzSnBmUkMyejMuaDlILTZLemFUeERDNVBKaVdYaGVmT3ItX3pL%26redirect_uri%3Dhttp%253A%252F%252Flocalhost%253A4200%26scope%3Dopenid%2520offline_access%2520Sample%26code_challenge%3DG84U3eHCgDgoJP3vtsZuYV6gHdKUoAEh3Bgxt_oKz7Q%26code_challenge_method%3DS256%26nonce%3DQl9hQWsyZEpzSnBmUkMyejMuaDlILTZLemFUeERDNVBKaVdYaGVmT3ItX3pL%26culture%3Den%26ui-culture%3Den
The AuthServer will correctly select the Tenant. Is there a way to make the Angular UI send the tenant header or query string parameter?
In our Application.Contracts, we have the following class: public class MyEntityCustomPagedResultDto : PagedResultDto<MyEntityDto>
After running abp generate-proxy -t ng, the angular app fails to compile with this error: error TS2440: Import declaration conflicts with local declaration of 'MyEntityDto'
The resulting models.ts file includes both an import for MyEntityDto and and interface definition for MyEntityDto: import type { MyEntityDto } from './models';
Also, a slightly different error results if the custom class is instead defined like this: public class MyEntityCustomPagedResultDto<T> : PagedResultDto<T>
After running abp generate-proxy -t ng, the angular app fails to compile with this error: error TS2305: Module '"../../../models"' has no exported member 'T'.
The resulting models.ts file includes the following import: import type { T } from '../../../models';
After running abp generate-proxy -t ng, DTO properties that have a data type of DateOnly become "any" data type in the resulting TypeScript interfaces. In addition, it creates a system/models.ts as this:
export interface any extends any {
minValue: any;
maxValue: any;
year: number;
month: number;
day: number;
dayOfWeek: any;
dayOfYear: number;
dayNumber: number;
}
This results in the following error when trying to run the angular app:
Error: src/app/proxy/system/models.ts:2:18 - error TS2310: Type 'any' recursively references itself as a base type.
2 export interface any extends any { ~~~
Error: src/app/proxy/system/models.ts:2:18 - error TS2427: Interface name cannot be 'any'.
2 export interface any extends any {
DateOnly properties should be treated as strings in TypeScript since the .NET JSON Serializer natively supports writing DateOnly to/from string in the "yyyy-mm-dd" format.