public IActionResult ImportUser( [FromBody] UserImportDto import, [FromHeader(Name = "Authorization")] string token, int userId) { var tokenUserId = User.Claims.GetUserId(); if (!appSettings.AdminUserIds.Contains(tokenUserId)) { return(Forbid()); } queue.QueueBackgroundWorkItem(async cancelToken => { // https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-2.2#call-services-from-main using (var serviceScope = serviceScopeFactory.CreateScope()) { var services = serviceScope.ServiceProvider; var m = services.GetRequiredService <IMediator>(); Log.Information($"Starting ImportUser for user {userId}"); await m.Send(new ImportUser.Command(import, userId)).ConfigureAwait(false); } Log.Information("ImportUser has completed"); }); return(Accepted()); }
public Command(UserImportDto import, int userId) { Import = import; UserId = userId; }