I've created a module and now I neet to test in a multi tenat configuration during the development status.
How can configue a module to create and switch from host and tenant?
I've a solution in 7.4.5 with angular UI. If I try to add a properties from suite it works for backend but not for angular
2024-06-07 12:15:51.771 +02:00 [INF] 1/2 - GenerateProxyCommand started...
2024-06-07 12:15:51.776 +02:00 [INF] 1/2 - GenerateProxyCommand completed. | Duration: 1 ms.
2024-06-07 12:15:51.777 +02:00 [INF] 2/2 - AngularUiGenerateWithSchematicsCommand started...
2024-06-07 12:16:26.147 +02:00 [INF] Running the Angular Schematics command:
node run-schematics.mjs "C:/Repos/my-module/angular/.suite/schematics/node_modules/.bin/ng" g ".suite/schematics/collection.json:entity" module-pro Dm.MyModule "C:/Repos/my-module/.suite/entities/Product.json" "C:/Repos/my-module/angular"
2024-06-07 12:16:29.365 +02:00 [INF] Angular Schematics command failed.
C:\Repos\my-module\angular\.suite\schematics\node_modules\execa\lib\error.js:60
error = new Error(message);
^
Error: Command failed with exit code 1: .suite/schematics/node_modules/.bin/ng g .suite/schematics/collection.json:entity --template module-pro --target Dm.MyModule --source C:/Repos/my-module/.suite/entities/Product.json
Could not find an NgModule. Use the '--skip-import' option to skip importing in NgModule.
at makeError (C:\Repos\my-module\angular\.suite\schematics\node_modules\execa\lib\error.js:60:11)
at handlePromise (C:\Repos\my-module\angular\.suite\schematics\node_modules\execa\index.js:118:26)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async file:///C:/Repos/my-module/angular/.suite/schematics/run-schematics.mjs:6:20 {
shortMessage: 'Command failed with exit code 1: .suite/schematics/node_modules/.bin/ng g .suite/schematics/collection.json:entity --template module-pro --target Dm.MyModule --source C:/Repos/my-module/.suite/entities/Product.json',
command: '.suite/schematics/node_modules/.bin/ng g .suite/schematics/collection.json:entity --template module-pro --target Dm.MyModule --source C:/Repos/my-module/.suite/entities/Product.json',
escapedCommand: '".suite/schematics/node_modules/.bin/ng" g ".suite/schematics/collection.json:entity" --template module-pro --target Dm.MyModule --source "C:/Repos/my-module/.suite/entities/Product.json"',
exitCode: 1,
signal: undefined,
signalDescription: undefined,
stdout: '',
stderr: "Could not find an NgModule. Use the '--skip-import' option to skip importing in NgModule.",
failed: true,
timedOut: false,
isCanceled: false,
killed: false
}
Node.js v18.12.0
2024-06-07 12:16:29.523 +02:00 [INF] 2/2 - AngularUiGenerateWithSchematicsCommand completed. | Duration: 37746 ms.
2024-06-07 12:16:29.524 +02:00 [INF] Entity generation completed in 38 sec.
2024-06-07 12:16:29.535 +02:00 [INF] Executing StatusCodeResult, setting HTTP status code 204
2024-06-07 12:16:29.536 +02:00 [INF] Executed action Volo.Abp.Suite.Controllers.CrudPageGeneratorController.SaveAndGenerateEntityAsync (Volo.Abp.Suite) in 38903.462ms
2024-06-07 12:16:29.536 +02:00 [INF] Executed endpoint 'Volo.Abp.Suite.Controllers.CrudPageGeneratorController.SaveAndGenerateEntityAsync (Volo.Abp.Suite)'
2024-06-07 12:16:29.536 +02:00 [INF] Request finished HTTP/1.1 POST http://localhost:3000/api/abpSuite/crudPageGenerator/13c78b2d-bf62-4562-8522-0cb7020aae48/save-and-generate-entity application/json 2761 - 204 - - 38910.8480ms
2024-06-07 12:16:29.582 +02:00 [INF] Request starting HTTP/1.1 GET http://localhost:3000/api/abpSuite/crudPageGenerator/13c78b2d-bf62-4562-8522-0cb7020aae48/entities application/json -
2024-06-07 12:16:29.584 +02:00 [INF] Executing endpoint 'Volo.Abp.Suite.Controllers.CrudPageGeneratorController.GetEntitiesAsync (Volo.Abp.Suite)'
2024-06-07 12:16:29.584 +02:00 [INF] Route matched with {controller = "crudPageGenerator", action = "GetEntities", area = "", page = ""}. Executing controller action with signature System.Threading.Tasks.Task`1[System.Collections.Generic.List`1[Volo.Abp.Suite.Models.EntityModel]] GetEntitiesAsync(System.Guid) on controller Volo.Abp.Suite.Controllers.CrudPageGeneratorController (Volo.Abp.Suite).
2024-06-07 12:16:29.614 +02:00 [INF] Executing ObjectResult, writing value of type 'System.Collections.Generic.List`1[[Volo.Abp.Suite.Models.EntityModel, Volo.Abp.Suite, Version=7.4.5.0, Culture=neutral, PublicKeyToken=null]]'.
2024-06-07 12:16:29.616 +02:00 [INF] Executed action Volo.Abp.Suite.Controllers.CrudPageGeneratorController.GetEntitiesAsync (Volo.Abp.Suite) in 31.7284ms
2024-06-07 12:16:29.617 +02:00 [INF] Executed endpoint 'Volo.Abp.Suite.Controllers.CrudPageGeneratorController.GetEntitiesAsync (Volo.Abp.Suite)'
2024-06-07 12:16:29.617 +02:00 [INF] Request finished HTTP/1.1 GET http://localhost:3000/api/abpSuite/crudPageGenerator/13c78b2d-bf62-4562-8522-0cb7020aae48/entities application/json - - 200 - application/json;+charset=utf-8 34.8559ms
I try to use --skip-import but it doesn't work.
I have 2 microservices. In one of them, I expose an API to geolocate a point via GMaps.
So now I'm in this situation:
I can't reference my application contract from Service 1 in Service 2, and at the same time, I can't add the contract from Service 1 to Service 2. I tried to call my HttpClient from the Domain, but I can't check permissions and still have a 401 issue.
So my questions are:
We work on a mircroservice applicaction.
I have a function on service 2 (for sending message) that can be use from UI (user can send message) or via backgroud job (every x mins check if I've message to send).
If I try to send message via UI my user is valid and I can pass the token from service 1 -> service 2 but when I try to run it on background job it doesn't work. So it works correctly because background is different process/thread so it don't have an authenticated context.
My question wich is the correct configuration for allow my service 1 work for users and jobs? Is it possibile or I need to move my job in a different service?
I have an issue with auth server on 7.4.5.
I create a new solution 7.4.5 if you try to login on auth server the page not slide if area is small.
I see that in 7.4.5
<div class="container-fluid p-0 overflow-hidden">
...
</dv>
If I set overflow-x: hidden; it slide but I see a black band at the end off page.
How can we fix it?
I've an handler to sync data from microservices
public async Task HandleEventAsync(ProductEto eventData)
{
if (eventData != null)
{
using (var unitOfWork = _unitOfWorkManager.Begin())
{
_currentTenant.Change(eventData.TenantId);
try
{
var gmd = _objectMapper.Map<ProductEto, ProductSync>(eventData);
await _productSyncRepository.InsertAsync(gmd);
}
catch (Exception ex)
{
Logger.LogError(ex, "Handle Event ProductEto Error");
}
finally
{
await unitOfWork.CompleteAsync();
}
}
}
else
{
Logger.LogWarning("Input data is null into handle event ProductEto");
}
}
In this case I've a PK duplicate so Postgres raise an excetion but this happen in finally and my handler continue to retry process my data.
Also I observe that if I call InsertAsyc/UpdateAsync and not return to a local varibile update or insert in some case does't work, if I return the value it always work.
I've configured my host with AzureAD and I'm able to login on host, so I move to a tenant to try to login so I see the button to login with OpenIdConnection. I check in administration settings and I see that my provider has a checkbox to override settings from host. So if i don't to use openIdConnection provider in tenant is not possibile beacuse If I uncheck the OpenIdProvider "Use host settings" and leve all blanks I still using host provider.
I think is a big issue in a multitenat enviroment. My goal is use my openId provider for host but not all tenant can use it if a tenant need it can set it up on administration area.
I try to chage json on db enable for host disable for tenant but host win at all.
I write a module with UI angular component.
When I test it inside the module all works fine but when I mount in final app, where I use a LeptonX, some classes are missed for example
<a><i class="fas fa-comments fa-lg"></i>
<span *ngIf="hasData" class="badge badge-primary">
{{ count }}
</span></a
In final app not show the correct UI, according with LeptonX
<span class="lpx-menu-item-icon">
<small class="menu-item-badge">2</small>
<i class="lpx-icon action-icon bi bi-bell-fill" aria-hidden="true"></i>
</span>
So i need to create 2 component to work with Lepton Theme.
Where I can find a manal to explain all CSS/class of leptonX and of course a compare wiht lepton used inside the module template