Activities of "sgarad"

Question
  • ABP Framework version: 8.2.1
  • UI Type: Angular
  • Database System: MySQL
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Exception message and full stack trace:none
  • Steps to reproduce the issue:

Hi,

I've created an microservices application using ABP Studio and started all services/gateway/authserver and Angular application. I see the databases for each service is created when I browse and login to Angular application I do not see the multiple menu items like Auditing/OpenIddict/Saas on the menu list. After digging some more I see that in my Administration service database does not contains any permissions groups and permissions.

Even my own microservices permissions groups and permissions are not added.

Thanks Krishna

  • ABP Framework version: 8.2.0
  • UI Type: Angular
  • Database System: MySQL
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Exception message and full stack trace:
  • An exception was thrown while activating CastandCrew.PSL.VendorManagement.Samples.SampleController.
  • at Autofac.Core.Resolving.Middleware.ActivatorErrorHandlingMiddleware.Execute(ResolveRequestContext context, Action1 next) at Autofac.Core.Resolving.Middleware.SharingMiddleware.Execute(ResolveRequestContext context, Action1 next) at Autofac.Core.Resolving.Middleware.CircularDependencyDetectorMiddleware.Execute(ResolveRequestContext context, Action1 next) at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, ResolveRequest& request) at Autofac.Core.Resolving.ResolveOperation.ExecuteOperation(ResolveRequest& request) at Autofac.ResolutionExtensions.TryResolveService(IComponentContext context, Service service, IEnumerable1 parameters, Object& instance) at Autofac.ResolutionExtensions.ResolveService(IComponentContext context, Service service, IEnumerable`1 parameters) at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType) at Microsoft.AspNetCore.Mvc.Controllers.ControllerFactoryProvider.<>c__DisplayClass6_0.
  • Steps to reproduce the issue: I have create a new custom module and micro service. In my module I have below entity,appservice and controller. When accessing the the controller from swagger/UI I received the above error.

Entity

  public class Vendors : Entity&lt;int&gt;, ICreationAuditedObject
  {      
      [MaxLength(128)]
      public string Name { get; set; }
      public DateTime CreationTime { get; set; }
      public Guid? CreatorId { get; set; }
      internal Vendors(string name)
      {
          Name= name;
          CreationTime = DateTime.Now;
          CreatorId = Guid.NewGuid();
      }
  }

App Service

 public class VendorAppService : VendorManagementAppService, IVendorManagementAppService
 {
     private readonly VendorManager _vendorManager;
     private readonly IRepository&lt;Vendors, int&gt; _vendorRepository;

     public VendorAppService(VendorManager vendorManager, IRepository&lt;Vendors, int&gt; vendorRepository)
     {
         _vendorManager = vendorManager;
         _vendorRepository = vendorRepository;
         ObjectMapperContext = typeof(VendorManagementApplicationModule);
     }


     [Authorize(VendorManagementPermissions.Vendors.Create)]
     public async Task&lt;VendorDto&gt; CreateAsync(VendorDto vendor)
     {
         var vendor1 = await _vendorManager.CreateAsync(
              vendor.Name
          );

         return ObjectMapper.Map&lt;Vendors, VendorDto&gt;(vendor1);
     }



     [Authorize(VendorManagementPermissions.Vendors.Delete)]
     public async Task DeleteAsync(int id)
     {
         await _vendorRepository.DeleteAsync(id);
     }



     public async Task&lt;ListResultDto&lt;VendorDto&gt;> GetAllAsync()
     {
         var vendors = await _vendorRepository.GetListAsync();
         return new ListResultDto&lt;VendorDto&gt;(
             ObjectMapper.Map&lt;List&lt;Vendors&gt;, List&lt;VendorDto&gt;>(vendors)
         );
     }

     public async Task&lt;VendorDto&gt; GetAsync(int id)
     {
         return ObjectMapper.Map&lt;Vendors, VendorDto&gt;(await _vendorRepository.GetAsync(id));
     }


     [Authorize(VendorManagementPermissions.Vendors.Create)]
     public async Task&lt;VendorDto&gt; UpdateAsync(VendorDto input)
     {
         var vendor = await _vendorRepository.GetAsync(input.Id);

         vendor.Name = input.Name;

         await _vendorRepository.UpdateAsync(vendor);

         return ObjectMapper.Map&lt;Vendors, VendorDto&gt;(vendor);
     }
 }

Controller

[Area(VendorManagementRemoteServiceConsts.ModuleName)]
[RemoteService(Name = VendorManagementRemoteServiceConsts.RemoteServiceName)]
public class VendorController : IVendorManagementAppService
{
    private readonly IVendorManagementAppService _vendorManagementAppService;

    public VendorController(IVendorManagementAppService vendorManagementAppService)
    {
        _vendorManagementAppService = vendorManagementAppService;
    }

    [Authorize]
    public Task&lt;VendorDto&gt; CreateAsync(VendorDto vendor)
    {
        return _vendorManagementAppService.CreateAsync(vendor);

    }

    [Authorize]
    public Task DeleteAsync(int id)
    {
        return _vendorManagementAppService.DeleteAsync(id);
    }

    public Task&lt;VendorDto&gt; GetAsync(int id)
    {
        return _vendorManagementAppService.GetAsync(id);
    }

    [Authorize]
    public Task&lt;ListResultDto&lt;VendorDto&gt;> GetAllAsync()
    {
        return _vendorManagementAppService.GetAllAsync();
    }


    [Authorize]
    public Task&lt;VendorDto&gt; UpdateAsync(VendorDto vendor)
    {
        return _vendorManagementAppService.UpdateAsync(vendor);
    }
}

Module configuration to include the repositories

 public override void ConfigureServices(ServiceConfigurationContext context)
 {
     context.Services.AddAbpDbContext&lt;VendorManagementDbContext&gt;(options =>
     {
         options.AddDefaultRepositories(includeAllEntities: true);        
     });
 }

Above all code is written in DDD module and reference through the micro-service. Is there anything that I'm missing?

  • ABP Framework version: 8.2.1
  • UI Type: Angular
  • Database System: MySQL
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Exception message and full stack trace:
  • Steps to reproduce the issue:
  • Hi There we have created below entity inheriting from IMultiTenant and AppService in DDD Module which is then referenced in Microservice.
[Table("venclass")]
public class Venclass : AggregateRoot<int>, IMultiTenant
{
    public Venclass()
    {
        
    }
    public Venclass(string classcode, string description, string user_entered)
    {
        this.class_code = classcode;
        this.description = description;
        this.date_entered = DateTime.Now;
        this.time_entered = DateTime.Now;
        this.user_entered = user_entered;
    }
    [Column("oid")]
    public override int Id { get; protected set; }

    [Column(TypeName = "varchar(4)" + CollationConst.collation)]
    [StringLength(VenclassConsts.Maxclass_codeLength, MinimumLength = VenclassConsts.Minclass_codeLength)]
    public virtual string class_code { get; set; }

    [Column(TypeName = "varchar(30)" + CollationConst.collation)]
    [StringLength(VenclassConsts.MaxdescriptionLength, MinimumLength = VenclassConsts.MindescriptionLength)]
    public virtual string description { get; set; }

    [DataType(DataType.Date)]
    [Column(TypeName = "Date")]
    public virtual DateTime? date_entered { get; set; }


    [Column(TypeName = "datetime")]
    public virtual DateTime? time_entered { get; set; }

    [Column(TypeName = "varchar(32)" + CollationConst.collation)]
    [StringLength(VenclassConsts.Maxuser_enteredLength, MinimumLength = VenclassConsts.Minuser_enteredLength)]
    public virtual string user_entered { get; set; }

    [Column("tenant_id")]
    public virtual Guid? TenantId { get; }

}
[Authorize(VendorManagementPermissions.VendorClass.Default)]
public class VenClassAppService : VendorManagementAppService, IVenClassAppService
{
    private readonly VenClassManager _vendorClassManager;
    private readonly IRepository<Venclass, int> _vendorClassRepository;
    public VenClassAppService(VenClassManager vendorClassManager, IRepository<Venclass, int> vendorClassRepository)
    {
        _vendorClassManager = vendorClassManager;
        _vendorClassRepository = vendorClassRepository;
    }       
    [Authorize(VendorManagementPermissions.VendorClass.Create)]
    public async Task<VenclassDto> CreateAsync(VenclassDto input)
    {
        var venclass = await _vendorClassManager.CreateAsync(
              input.class_code,
              input.description,                 
              input.user_entered
          );

        return ObjectMapper.Map<Venclass, VenclassDto>(venclass,input);
    }

    [Authorize(VendorManagementPermissions.VendorClass.Delete)]
    public async Task DeleteAsync(int id)
    {
        await _vendorClassRepository.DeleteAsync(id);
    }

    [Authorize(VendorManagementPermissions.VendorClass.Default)]
    public async Task<ListResultDto<VenclassDto>> GetAllAsync()
    {
        var venclass = await _vendorClassRepository.GetListAsync();
        return new ListResultDto<VenclassDto>(
            ObjectMapper.Map<List<Venclass>, List<VenclassDto>>(venclass)
        );
    }

    [Authorize(VendorManagementPermissions.VendorClass.Default)]
    public async Task<VenclassDto> GetAsync(int id)
    {
        return ObjectMapper.Map<Venclass, VenclassDto>(await _vendorClassRepository.GetAsync(id));
    }

    [Authorize(VendorManagementPermissions.VendorClass.Update)]
    public async Task<VenclassDto> UpdateAsync(VenclassDto input)
    {
        var venclass = await _vendorClassRepository.GetAsync(input.Id);

        ObjectMapper.Map(input, venclass);

        await _vendorClassRepository.UpdateAsync(venclass);

        return ObjectMapper.Map<Venclass, VenclassDto>(venclass);
    }
}

Module configuration

 public override void ConfigureServices(ServiceConfigurationContext context)
 {
     context.Services.AddAutoMapperObjectMapper<VendorManagementApplicationModule>();
     Configure<AbpAutoMapperOptions>(options =>
     {
         options.AddMaps<VendorManagementApplicationModule>(validate: true);
     });
    
     Configure<AbpMultiTenancyOptions>(options =>
     {
         options.IsEnabled = true;
         
     });   

 }
 public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
    var app = context.GetApplicationBuilder();
    app.UseMultiTenancy();
}

After runnig my app service create function TenantId is stored as null. Am I missing anything?

Question
  • ABP Framework version: Any
  • UI Type: Angular
  • Database System: EF Core ( MySQL)
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Exception message and full stack trace:N/A
  • Steps to reproduce the issue: ABP Studio keeps hanging and to stop those applications we just have to restart the system. Restarting the ABP Studio does not resolve the issue. Is there any way to stop those external applications after ABP studio restart. Please see the below screenshot.
Showing 1 to 4 of 4 entries
Made with ❤️ on ABP v9.0.0-preview Updated on September 19, 2024, 10:13