Merge branch 'jube-home:master' into master
This commit is contained in:
+27
-23
@@ -2,40 +2,44 @@
|
||||
*
|
||||
* This file is part of Jube™ software.
|
||||
*
|
||||
* Jube™ is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License
|
||||
* Jube™ is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License
|
||||
* as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
||||
* Jube™ is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
||||
* Jube™ is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
||||
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public License along with Jube™. If not,
|
||||
* You should have received a copy of the GNU Affero General Public License along with Jube™. If not,
|
||||
* see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IdentityModel.Tokens.Jwt;
|
||||
using System.Security.Claims;
|
||||
using System.Text;
|
||||
using Microsoft.IdentityModel.Tokens;
|
||||
|
||||
namespace Jube.App.Code
|
||||
{
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Claims;
|
||||
using System.Text;
|
||||
using Microsoft.IdentityModel.JsonWebTokens;
|
||||
using Microsoft.IdentityModel.Tokens;
|
||||
|
||||
public static class Jwt
|
||||
{
|
||||
public static JwtSecurityToken CreateToken(string userName,string jwtKey,string jwtIssuer, string jwtAudience)
|
||||
public static string CreateToken(string userName, string jwtKey, string jwtIssuer, string jwtAudience)
|
||||
{
|
||||
var authSigningKey = new
|
||||
SymmetricSecurityKey(Encoding.UTF8.GetBytes(jwtKey));
|
||||
|
||||
var claims = new List<Claim> {new(ClaimTypes.Name, userName)};
|
||||
var descriptor = new SecurityTokenDescriptor
|
||||
{
|
||||
Subject = new ClaimsIdentity(new List<Claim>
|
||||
{
|
||||
new Claim(ClaimTypes.Name, userName)
|
||||
}),
|
||||
Expires = DateTime.UtcNow.AddMinutes(15),
|
||||
Issuer = jwtIssuer,
|
||||
Audience = jwtAudience,
|
||||
SigningCredentials = new SigningCredentials(
|
||||
new SymmetricSecurityKey(Encoding.UTF8.GetBytes(jwtKey)),
|
||||
SecurityAlgorithms.HmacSha256
|
||||
)
|
||||
};
|
||||
|
||||
return new JwtSecurityToken(
|
||||
jwtIssuer,
|
||||
jwtAudience,
|
||||
expires: DateTime.UtcNow.AddMinutes(15),
|
||||
claims: claims,
|
||||
signingCredentials: new SigningCredentials(authSigningKey, SecurityAlgorithms.HmacSha256)
|
||||
);
|
||||
return new JsonWebTokenHandler().CreateToken(descriptor);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
namespace Jube.App.Controllers.Authentication
|
||||
{
|
||||
using System;
|
||||
using System.IdentityModel.Tokens.Jwt;
|
||||
using System.Net;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
@@ -110,8 +109,8 @@ namespace Jube.App.Controllers.Authentication
|
||||
|
||||
var authenticationDto = new AuthenticationResponseDto
|
||||
{
|
||||
Token = new JwtSecurityTokenHandler().WriteToken(token),
|
||||
Expiration = expiration
|
||||
Token = token,
|
||||
Expiration = DateTime.UtcNow.AddMinutes(15)
|
||||
};
|
||||
|
||||
var cookieOptions = new CookieOptions
|
||||
@@ -122,6 +121,7 @@ namespace Jube.App.Controllers.Authentication
|
||||
|
||||
Response.Cookies.Append("authentication",
|
||||
authenticationDto.Token, cookieOptions);
|
||||
|
||||
return authenticationDto;
|
||||
}
|
||||
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
namespace Jube.App.Controllers.Authentication
|
||||
{
|
||||
using System;
|
||||
using System.IdentityModel.Tokens.Jwt;
|
||||
using System.Net;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
@@ -107,7 +106,7 @@ namespace Jube.App.Controllers.Authentication
|
||||
|
||||
var authenticationDto = new AuthenticationResponseDto
|
||||
{
|
||||
Token = new JwtSecurityTokenHandler().WriteToken(token),
|
||||
Token = token,
|
||||
Expiration = expiration
|
||||
};
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using Validators;
|
||||
@@ -73,7 +74,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<Case, CaseDto>();
|
||||
cfg.CreateMap<CaseDto, Case>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repositoryCase = new CaseRepository(dbContext, userName);
|
||||
|
||||
@@ -29,6 +29,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
[Produces("application/json")]
|
||||
@@ -58,7 +59,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<CaseFile, CaseFileDto>();
|
||||
cfg.CreateMap<CaseFileDto, CaseFile>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new CaseFileRepository(dbContext, userName);
|
||||
|
||||
@@ -33,6 +33,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using Validators;
|
||||
@@ -72,7 +73,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<CaseNote, CaseNoteDto>();
|
||||
cfg.CreateMap<CaseNoteDto, CaseNote>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repositoryCaseNote = new CaseNoteRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<CaseWorkflowAction, CaseWorkflowActionDto>();
|
||||
cfg.CreateMap<CaseWorkflowActionDto, CaseWorkflowAction>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new CaseWorkflowActionRepository(dbContext, userName);
|
||||
|
||||
@@ -30,6 +30,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -61,7 +62,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<CaseWorkflowActionRole, CaseWorkflowActionRoleDto>();
|
||||
cfg.CreateMap<CaseWorkflowActionRoleDto, CaseWorkflowActionRole>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new CaseWorkflowActionRoleRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<CaseWorkflow, CaseWorkflowDto>();
|
||||
cfg.CreateMap<CaseWorkflowDto, CaseWorkflow>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new CaseWorkflowRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<CaseWorkflowDisplay, CaseWorkflowDisplayDto>();
|
||||
cfg.CreateMap<CaseWorkflowDisplayDto, CaseWorkflowDisplay>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new CaseWorkflowDisplayRepository(dbContext, userName);
|
||||
|
||||
@@ -29,6 +29,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -60,7 +61,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<CaseWorkflowDisplayRole, CaseWorkflowDisplayRoleDto>();
|
||||
cfg.CreateMap<CaseWorkflowDisplayRoleDto, CaseWorkflowDisplayRole>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new CaseWorkflowDisplayRoleRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<CaseWorkflowFilter, CaseWorkflowFilterDto>();
|
||||
cfg.CreateMap<CaseWorkflowFilterDto, CaseWorkflowFilter>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new CaseWorkflowFilterRepository(dbContext, userName);
|
||||
|
||||
@@ -29,6 +29,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -60,7 +61,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<CaseWorkflowFilterRole, CaseWorkflowFilterRoleDto>();
|
||||
cfg.CreateMap<CaseWorkflowFilterRoleDto, CaseWorkflowFilterRole>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new CaseWorkflowFilterRoleRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<CaseWorkflowForm, CaseWorkflowFormDto>();
|
||||
cfg.CreateMap<CaseWorkflowFormDto, CaseWorkflowForm>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new CaseWorkflowFormRepository(dbContext, userName);
|
||||
|
||||
@@ -35,6 +35,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using Validators;
|
||||
@@ -72,7 +73,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<CaseWorkflowFormEntry, CaseWorkflowFormEntryDto>();
|
||||
cfg.CreateMap<CaseWorkflowFormEntryDto, CaseWorkflowFormEntry>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repositoryCaseWorkflowFormEntry = new CaseWorkflowFormEntryRepository(dbContext, userName);
|
||||
|
||||
@@ -28,6 +28,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
[Produces("application/json")]
|
||||
@@ -57,7 +58,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<CaseWorkflowFormEntryValue, CaseWorkflowFormEntryValueDto>();
|
||||
cfg.CreateMap<CaseWorkflowFormEntryValueDto, CaseWorkflowFormEntryValue>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new CaseWorkflowFormEntryValueRepository(dbContext, userName);
|
||||
|
||||
@@ -29,6 +29,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -60,7 +61,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<CaseWorkflowFormRole, CaseWorkflowFormRoleDto>();
|
||||
cfg.CreateMap<CaseWorkflowFormRoleDto, CaseWorkflowFormRole>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new CaseWorkflowFormRoleRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<CaseWorkflowMacro, CaseWorkflowMacroDto>();
|
||||
cfg.CreateMap<CaseWorkflowMacroDto, CaseWorkflowMacro>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new CaseWorkflowMacroRepository(dbContext, userName);
|
||||
|
||||
@@ -29,6 +29,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -60,7 +61,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<CaseWorkflowMacroRole, CaseWorkflowMacroRoleDto>();
|
||||
cfg.CreateMap<CaseWorkflowMacroRoleDto, CaseWorkflowMacroRole>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new CaseWorkflowMacroRoleRepository(dbContext, userName);
|
||||
|
||||
@@ -29,6 +29,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -60,7 +61,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<CaseWorkflowRole, CaseWorkflowRoleDto>();
|
||||
cfg.CreateMap<CaseWorkflowRoleDto, CaseWorkflowRole>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new CaseWorkflowRoleRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<CaseWorkflowStatus, CaseWorkflowStatusDto>();
|
||||
cfg.CreateMap<CaseWorkflowStatusDto, CaseWorkflowStatus>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new CaseWorkflowStatusRepository(dbContext, userName);
|
||||
|
||||
@@ -29,6 +29,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -60,7 +61,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<CaseWorkflowStatusRole, CaseWorkflowStatusRoleDto>();
|
||||
cfg.CreateMap<CaseWorkflowStatusRoleDto, CaseWorkflowStatusRole>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new CaseWorkflowStatusRoleRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<CaseWorkflowXPath, CaseWorkflowXPathDto>();
|
||||
cfg.CreateMap<CaseWorkflowXPathDto, CaseWorkflowXPath>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new CaseWorkflowXPathRepository(dbContext, userName);
|
||||
|
||||
@@ -29,6 +29,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -60,7 +61,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<CaseWorkflowXPathRole, CaseWorkflowXPathRoleDto>();
|
||||
cfg.CreateMap<CaseWorkflowXPathRoleDto, CaseWorkflowXPathRole>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new CaseWorkflowXPathRoleRepository(dbContext, userName);
|
||||
|
||||
@@ -28,6 +28,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
[Produces("application/json")]
|
||||
@@ -57,7 +58,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisAsynchronousQueueBalanceDto, EntityAnalysisAsynchronousQueueBalance>();
|
||||
cfg.CreateMap<EntityAnalysisAsynchronousQueueBalance, EntityAnalysisAsynchronousQueueBalanceDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new EntityAnalysisAsynchronousQueueBalanceRepository(dbContext);
|
||||
|
||||
@@ -28,6 +28,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
[Produces("application/json")]
|
||||
@@ -57,7 +58,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisInlineScriptDto, EntityAnalysisInlineScript>();
|
||||
cfg.CreateMap<EntityAnalysisInlineScript, EntityAnalysisInlineScriptDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new EntityAnalysisInlineScriptRepository(dbContext);
|
||||
|
||||
+2
-1
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -64,7 +65,7 @@ namespace Jube.App.Controllers.Repository
|
||||
EntityAnalysisModelAbstractionCalculation>();
|
||||
cfg.CreateMap<EntityAnalysisModelAbstractionCalculation,
|
||||
EntityAnalysisModelAbstractionCalculationDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new EntityAnalysisModelAbstractionCalculationRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisModelAbstractionRuleDto, EntityAnalysisModelAbstractionRule>();
|
||||
cfg.CreateMap<EntityAnalysisModelAbstractionRule, EntityAnalysisModelAbstractionRuleDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new EntityAnalysisModelAbstractionRuleRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisModelActivationRuleDto, EntityAnalysisModelActivationRule>();
|
||||
cfg.CreateMap<EntityAnalysisModelActivationRule, EntityAnalysisModelActivationRuleDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new EntityAnalysisModelActivationRuleRepository(dbContext, userName);
|
||||
|
||||
+2
-1
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -64,7 +65,7 @@ namespace Jube.App.Controllers.Repository
|
||||
EntityAnalysisModelActivationRuleSuppression>();
|
||||
cfg.CreateMap<EntityAnalysisModelActivationRuleSuppression,
|
||||
EntityAnalysisModelActivationRuleSuppressionDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new EntityAnalysisModelActivationRuleSuppressionRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisModelAdaptationDto, EntityAnalysisModelHttpAdaptation>();
|
||||
cfg.CreateMap<EntityAnalysisModelHttpAdaptation, EntityAnalysisModelAdaptationDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new EntityAnalysisModelHttpAdaptationRepository(dbContext, userName);
|
||||
|
||||
+2
-1
@@ -27,6 +27,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
[Produces("application/json")]
|
||||
@@ -57,7 +58,7 @@ namespace Jube.App.Controllers.Repository
|
||||
GetEntityAnalysisModelAsynchronousQueueBalancesQuery.Dto>();
|
||||
cfg.CreateMap<GetEntityAnalysisModelAsynchronousQueueBalancesQuery.Dto,
|
||||
EntityAnalysisModelAsynchronousQueueBalanceDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisModel, EntityAnalysisModelDto>();
|
||||
cfg.CreateMap<EntityAnalysisModelDto, EntityAnalysisModel>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new EntityAnalysisModelRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisModelsDictionaryDto, EntityAnalysisModelDictionary>();
|
||||
cfg.CreateMap<EntityAnalysisModelDictionary, EntityAnalysisModelsDictionaryDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new EntityAnalysisModelDictionaryRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisModelDictionaryKvpDto, EntityAnalysisModelDictionaryKvp>();
|
||||
cfg.CreateMap<EntityAnalysisModelDictionaryKvp, EntityAnalysisModelDictionaryKvpDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new EntityAnalysisModelDictionaryKvpRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisModelGatewayRuleDto, EntityAnalysisModelGatewayRule>();
|
||||
cfg.CreateMap<EntityAnalysisModelGatewayRule, EntityAnalysisModelGatewayRuleDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new EntityAnalysisModelGatewayRuleRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisModelInlineFunctionDto, EntityAnalysisModelInlineFunction>();
|
||||
cfg.CreateMap<EntityAnalysisModelInlineFunction, EntityAnalysisModelInlineFunctionDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new EntityAnalysisModelInlineFunctionRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisModelInlineScriptDto, EntityAnalysisModelInlineScript>();
|
||||
cfg.CreateMap<EntityAnalysisModelInlineScript, EntityAnalysisModelInlineScriptDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new EntityAnalysisModelInlineScriptRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisModelsListDto, EntityAnalysisModelList>();
|
||||
cfg.CreateMap<EntityAnalysisModelList, EntityAnalysisModelsListDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new EntityAnalysisModelListRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisModelListValueDto, EntityAnalysisModelListValue>();
|
||||
cfg.CreateMap<EntityAnalysisModelListValue, EntityAnalysisModelListValueDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new EntityAnalysisModelListValueRepository(dbContext, userName);
|
||||
|
||||
@@ -27,6 +27,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
[Produces("application/json")]
|
||||
@@ -57,7 +58,7 @@ namespace Jube.App.Controllers.Repository
|
||||
GetEntityAnalysisModelProcessingCountersQuery.Dto>();
|
||||
cfg.CreateMap<GetEntityAnalysisModelProcessingCountersQuery.Dto,
|
||||
EntityAnalysisModelProcessingCounterDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisModelReprocessingRuleDto, EntityAnalysisModelReprocessingRule>();
|
||||
cfg.CreateMap<EntityAnalysisModelReprocessingRule, EntityAnalysisModelReprocessingRuleDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new EntityAnalysisModelReprocessingRuleRepository(dbContext, userName);
|
||||
|
||||
+2
-1
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -64,7 +65,7 @@ namespace Jube.App.Controllers.Repository
|
||||
EntityAnalysisModelReprocessingRuleInstance>();
|
||||
cfg.CreateMap<EntityAnalysisModelReprocessingRuleInstance,
|
||||
EntityAnalysisModelReprocessingRuleInstanceDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new EntityAnalysisModelReprocessingRuleInstanceRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisModelRequestXPathDto, EntityAnalysisModelRequestXpath>();
|
||||
cfg.CreateMap<EntityAnalysisModelRequestXpath, EntityAnalysisModelRequestXPathDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new EntityAnalysisModelRequestXPathRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisModelSanctionDto, EntityAnalysisModelSanction>();
|
||||
cfg.CreateMap<EntityAnalysisModelSanction, EntityAnalysisModelSanctionDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new EntityAnalysisModelSanctionRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisModelSuppressionDto, EntityAnalysisModelSuppression>();
|
||||
cfg.CreateMap<EntityAnalysisModelSuppression, EntityAnalysisModelSuppressionDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new EntityAnalysisModelSuppressionRepository(dbContext, userName);
|
||||
|
||||
+2
-1
@@ -30,6 +30,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -63,7 +64,7 @@ namespace Jube.App.Controllers.Repository
|
||||
EntityAnalysisModelSynchronisationSchedule>();
|
||||
cfg.CreateMap<EntityAnalysisModelSynchronisationSchedule,
|
||||
EntityAnalysisModelSynchronisationScheduleDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new EntityAnalysisModelSynchronisationScheduleRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisModelTagDto, EntityAnalysisModelTag>();
|
||||
cfg.CreateMap<EntityAnalysisModelTag, EntityAnalysisModelTagDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new EntityAnalysisModelTagRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisModelTtlCounterDto, EntityAnalysisModelTtlCounter>();
|
||||
cfg.CreateMap<EntityAnalysisModelTtlCounter, EntityAnalysisModelTtlCounterDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new EntityAnalysisModelTtlCounterRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<ExhaustiveSearchInstanceDto, ExhaustiveSearchInstance>();
|
||||
cfg.CreateMap<ExhaustiveSearchInstance, ExhaustiveSearchInstanceDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new ExhaustiveSearchInstanceRepository(dbContext, userName);
|
||||
|
||||
@@ -28,6 +28,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
[Produces("application/json")]
|
||||
@@ -57,7 +58,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<HttpProcessingCounterDto, HttpProcessingCounter>();
|
||||
cfg.CreateMap<HttpProcessingCounter, HttpProcessingCounterDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new HttpProcessingCounterRepository(dbContext);
|
||||
|
||||
@@ -28,6 +28,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
[Produces("application/json")]
|
||||
@@ -57,7 +58,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<PermissionSpecificationDto, PermissionSpecification>();
|
||||
cfg.CreateMap<PermissionSpecification, PermissionSpecificationDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new PermissionSpecificationRepository(dbContext);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<RoleRegistry, RoleRegistryDto>();
|
||||
cfg.CreateMap<RoleRegistryDto, RoleRegistry>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new RoleRegistryRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<RoleRegistryPermission, RoleRegistryPermissionDto>();
|
||||
cfg.CreateMap<RoleRegistryPermissionDto, RoleRegistryPermission>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new RoleRegistryPermissionRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<TenantRegistry, TenantRegistryDto>();
|
||||
cfg.CreateMap<TenantRegistryDto, TenantRegistry>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new TenantRegistryRepository(dbContext, userName);
|
||||
|
||||
@@ -30,6 +30,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
[Produces("application/json")]
|
||||
@@ -59,7 +60,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<UserInTenantDto, UserInTenant>();
|
||||
cfg.CreateMap<UserInTenant, UserInTenantDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new UserInTenantRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
using PermissionValidation=Code.PermissionValidation;
|
||||
|
||||
@@ -65,7 +66,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<UserRegistryDto, UserRegistry>();
|
||||
cfg.CreateMap<UserRegistry, UserRegistryDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new UserRegistryRepository(dbContext, userName);
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<VisualisationRegistry, VisualisationRegistryDto>();
|
||||
cfg.CreateMap<VisualisationRegistryDto, VisualisationRegistry>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new VisualisationRegistryRepository(dbContext, userName);
|
||||
|
||||
@@ -32,6 +32,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -63,7 +64,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<VisualisationRegistryDatasourceDto, VisualisationRegistryDatasource>();
|
||||
cfg.CreateMap<VisualisationRegistryDatasource, VisualisationRegistryDatasourceDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new VisualisationRegistryDatasourceRepository(dbContext, userName);
|
||||
|
||||
@@ -29,6 +29,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -60,7 +61,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<VisualisationRegistryDatasourceRole, VisualisationRegistryDatasourceRoleDto>();
|
||||
cfg.CreateMap<VisualisationRegistryDatasourceRoleDto, VisualisationRegistryDatasourceRole>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new VisualisationRegistryDatasourceRoleRepository(dbContext, userName);
|
||||
|
||||
@@ -28,6 +28,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
[Produces("application/json")]
|
||||
@@ -58,7 +59,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<VisualisationRegistryDatasourceSeriesDto, VisualisationRegistryDatasourceSeries>();
|
||||
cfg.CreateMap<VisualisationRegistryDatasourceSeries, VisualisationRegistryDatasourceSeriesDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -62,7 +63,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<VisualisationRegistryParameterDto, VisualisationRegistryParameter>();
|
||||
cfg.CreateMap<VisualisationRegistryParameter, VisualisationRegistryParameterDto>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new VisualisationRegistryParameterRepository(dbContext, userName);
|
||||
|
||||
@@ -29,6 +29,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -60,7 +61,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<VisualisationRegistryParameterRole, VisualisationRegistryParameterRoleDto>();
|
||||
cfg.CreateMap<VisualisationRegistryParameterRoleDto, VisualisationRegistryParameterRole>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new VisualisationRegistryParameterRoleRepository(dbContext, userName);
|
||||
|
||||
@@ -29,6 +29,7 @@ namespace Jube.App.Controllers.Repository
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -60,7 +61,7 @@ namespace Jube.App.Controllers.Repository
|
||||
{
|
||||
cfg.CreateMap<VisualisationRegistryRole, VisualisationRegistryRoleDto>();
|
||||
cfg.CreateMap<VisualisationRegistryRoleDto, VisualisationRegistryRole>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new VisualisationRegistryRoleRepository(dbContext, userName);
|
||||
|
||||
@@ -147,7 +147,7 @@ namespace Jube.App.Controllers.Session
|
||||
|
||||
try
|
||||
{
|
||||
var postgres = new Postgres(reportConnectionString ?? dbContext.ConnectionString, log);
|
||||
using var postgres = new Postgres(reportConnectionString ?? dbContext.ConnectionString, log);
|
||||
await postgres.PrepareAsync(model.SelectSqlSearch + " " + model.WhereSql + " " + model.OrderSql,
|
||||
filterRule.Tokens, token).ConfigureAwait(false);
|
||||
model.Prepared = 1;
|
||||
|
||||
@@ -30,6 +30,7 @@ namespace Jube.App.Controllers.Session
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Validators;
|
||||
|
||||
[Route("api/[controller]")]
|
||||
@@ -61,7 +62,7 @@ namespace Jube.App.Controllers.Session
|
||||
{
|
||||
cfg.CreateMap<SessionCaseJournal, SessionCaseJournalDto>();
|
||||
cfg.CreateMap<SessionCaseJournalDto, SessionCaseJournal>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
repository = new SessionCaseJournalRepository(dbContext, userName);
|
||||
|
||||
@@ -33,6 +33,7 @@ namespace Jube.App.Controllers.Session
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Newtonsoft.Json;
|
||||
using Validators;
|
||||
|
||||
@@ -67,7 +68,7 @@ namespace Jube.App.Controllers.Session
|
||||
{
|
||||
cfg.CreateMap<SessionCaseSearchCompiledSql, SessionCaseSearchCompiledSqlDto>();
|
||||
cfg.CreateMap<SessionCaseSearchCompiledSqlDto, SessionCaseSearchCompiledSql>();
|
||||
});
|
||||
}, NullLoggerFactory.Instance);
|
||||
|
||||
mapper = new Mapper(config);
|
||||
|
||||
@@ -108,7 +109,7 @@ namespace Jube.App.Controllers.Session
|
||||
|
||||
await CheckRebuildAsync(modelCompiled, token).ConfigureAwait(false);
|
||||
|
||||
var postgres = new Postgres(reportConnectionString, log);
|
||||
using var postgres = new Postgres(reportConnectionString, log);
|
||||
var tokens = JsonConvert.DeserializeObject<List<object>>(modelCompiled.FilterTokens);
|
||||
|
||||
var sw = new StopWatch();
|
||||
|
||||
@@ -30,6 +30,7 @@ COPY ["Jube.TaskCancellation/Jube.TaskCancellation.csproj", "Jube.TaskCancellati
|
||||
COPY ["Jube.Tests/Jube.Tests.csproj", "Jube.Tests/"]
|
||||
COPY ["Jube.ResilientNpgsql/Jube.ResilientNpgsql.csproj", "Jube.ResilientNpgsql/"]
|
||||
COPY ["Jube.ResilientRedisConnection/Jube.ResilientRedisConnection.csproj", "Jube.ResilientRedisConnection/"]
|
||||
COPY ["Jube.Tokenisation/Jube.Tokenisation.csproj", "Jube.Tokenisation/"]
|
||||
COPY ["Jube.CLI/Jube.CLI.csproj", "Jube.CLI/"]
|
||||
|
||||
RUN dotnet restore "Jube.App/Jube.App.csproj"
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="AutoMapper" Version="13.0.1"/>
|
||||
<PackageReference Include="AutoMapper" Version="15.1.3"/>
|
||||
<PackageReference Include="FluentValidation" Version="10.3.6"/>
|
||||
<PackageReference Include="Isopoh.Cryptography.Argon2" Version="1.1.12"/>
|
||||
<PackageReference Include="linq2db" Version="3.6.0"/>
|
||||
<PackageReference Include="linq2db.AspNet" Version="3.6.0"/>
|
||||
<PackageReference Include="log4net" Version="2.0.14"/>
|
||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.6"/>
|
||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="9.0.14"/>
|
||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.Negotiate" Version="6.0.8"/>
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="9.0.11"/>
|
||||
<PackageReference Include="Microsoft.AspNetCore.SignalR.Common" Version="6.0.6"/>
|
||||
|
||||
+3
-5
@@ -15,7 +15,6 @@ namespace Jube.App
|
||||
{
|
||||
using System;
|
||||
using System.Collections.Concurrent;
|
||||
using System.IdentityModel.Tokens.Jwt;
|
||||
using System.Net;
|
||||
using System.Security.Claims;
|
||||
using System.Text;
|
||||
@@ -213,6 +212,7 @@ namespace Jube.App
|
||||
options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
|
||||
}).AddJwtBearer(options =>
|
||||
{
|
||||
options.UseSecurityTokenValidators = false;
|
||||
options.SaveToken = true;
|
||||
options.AutomaticRefreshInterval = TimeSpan.FromMinutes(5);
|
||||
options.RequireHttpsMetadata = false;
|
||||
@@ -247,12 +247,10 @@ namespace Jube.App
|
||||
HttpOnly = true
|
||||
};
|
||||
|
||||
var tokenString = new JwtSecurityTokenHandler().WriteToken(token);
|
||||
|
||||
context.Response.Headers.Append("authentication",
|
||||
tokenString);
|
||||
token);
|
||||
|
||||
context.Response.Cookies.Append("authentication", tokenString
|
||||
context.Response.Cookies.Append("authentication", token
|
||||
, cookieOptions);
|
||||
|
||||
return Task.CompletedTask;
|
||||
|
||||
@@ -17,6 +17,7 @@ namespace Jube.Cache
|
||||
using log4net;
|
||||
using Redis;
|
||||
using Redis.Callback;
|
||||
using ResilientRedisConnection;
|
||||
using StackExchange.Redis;
|
||||
using TaskCancellation;
|
||||
|
||||
@@ -52,12 +53,12 @@ namespace Jube.Cache
|
||||
ConnectionMultiplexer =
|
||||
ConnectionMultiplexer.Connect(redisConnectionString);
|
||||
|
||||
RedisDatabase = ConnectionMultiplexer.GetDatabase();
|
||||
RedisDatabase = new ResilientRedisConnection(ConnectionMultiplexer, log).GetDatabase();
|
||||
}
|
||||
|
||||
public Task InstantiateRepositoriesTask { get; set; }
|
||||
public ConnectionMultiplexer ConnectionMultiplexer { get; set; }
|
||||
public IDatabase RedisDatabase { get; set; }
|
||||
public ResilientRedisDatabase RedisDatabase { get; set; }
|
||||
public CacheAbstractionRepository CacheAbstractionRepository { get; set; }
|
||||
public CachePayloadLatestRepository CachePayloadLatestRepository { get; set; }
|
||||
public CachePayloadRepository CachePayloadRepository { get; set; }
|
||||
|
||||
@@ -16,10 +16,11 @@ namespace Jube.Cache.Redis
|
||||
using Interfaces;
|
||||
using log4net;
|
||||
using Models;
|
||||
using ResilientRedisConnection;
|
||||
using StackExchange.Redis;
|
||||
|
||||
public class CacheAbstractionRepository(
|
||||
IDatabaseAsync redisDatabase,
|
||||
ResilientRedisDatabase redisDatabase,
|
||||
ILog log,
|
||||
CommandFlags commandFlag = CommandFlags.FireAndForget) : ICacheAbstractionRepository
|
||||
{
|
||||
|
||||
@@ -16,6 +16,7 @@ namespace Jube.Cache.Redis
|
||||
using System.Collections.Concurrent;
|
||||
using System.Net;
|
||||
using log4net;
|
||||
using ResilientRedisConnection;
|
||||
using StackExchange.Redis;
|
||||
using TaskCancellation;
|
||||
|
||||
@@ -30,10 +31,10 @@ namespace Jube.Cache.Redis
|
||||
private readonly ConnectionMultiplexer connectionMultiplexer;
|
||||
private readonly string localCacheInstanceGuidString;
|
||||
private readonly ILog log;
|
||||
private readonly IDatabaseAsync redisDatabase;
|
||||
private readonly ResilientRedisDatabase redisDatabase;
|
||||
|
||||
public CacheCallbackPublishSubscribe(ConnectionMultiplexer connectionMultiplexer,
|
||||
IDatabaseAsync redisDatabase,
|
||||
ResilientRedisDatabase redisDatabase,
|
||||
ConcurrentDictionary<Guid, TaskCompletionSource<Callback.Callback>> callbacks,
|
||||
int callbackTimeout,
|
||||
ILog log,
|
||||
|
||||
@@ -25,13 +25,14 @@ namespace Jube.Cache.Redis
|
||||
using log4net;
|
||||
using MessagePack;
|
||||
using Models;
|
||||
using ResilientRedisConnection;
|
||||
using Serialization;
|
||||
using StackExchange.Redis;
|
||||
using TaskCancellation.TaskHelper;
|
||||
|
||||
public class CachePayloadLatestRepository(
|
||||
string postgresConnectionString,
|
||||
IDatabaseAsync redisDatabase,
|
||||
ResilientRedisDatabase redisDatabase,
|
||||
ILog log,
|
||||
CommandFlags commandFlag = CommandFlags.FireAndForget) : ICachePayloadLatestRepository
|
||||
{
|
||||
@@ -191,7 +192,7 @@ namespace Jube.Cache.Redis
|
||||
|
||||
var updateLatestTask = redisDatabase.SortedSetUpdateAsync(redisKeyReferenceDateLatest, redisHSetKey, referenceDateTimestamp);
|
||||
|
||||
await redisDatabase.HashIncrementAsync(redisKeyPayloadLatestCount, entryKey);
|
||||
await redisDatabase.HashIncrementAsync(redisKeyPayloadLatestCount, entryKey, 1);
|
||||
await redisDatabase.HashSetAsync(redisKeyPayloadLatest, redisHSetKey, bytes);
|
||||
|
||||
await updateLatestTask;
|
||||
@@ -286,7 +287,7 @@ namespace Jube.Cache.Redis
|
||||
}
|
||||
}
|
||||
|
||||
private static async Task BatchSortedSetRemoveAsync(IDatabaseAsync db, RedisKey key, IEnumerable<RedisValue> values, CommandFlags flags)
|
||||
private static async Task BatchSortedSetRemoveAsync(ResilientRedisDatabase db, RedisKey key, IEnumerable<RedisValue> values, CommandFlags flags)
|
||||
{
|
||||
const int batchSize = 1000;
|
||||
var valuesArray = values.ToArray();
|
||||
@@ -300,7 +301,7 @@ namespace Jube.Cache.Redis
|
||||
}
|
||||
}
|
||||
|
||||
private static async Task BatchHashDeleteAsync(IDatabaseAsync db, RedisKey key, IEnumerable<RedisValue> fields, CommandFlags flags)
|
||||
private static async Task BatchHashDeleteAsync(ResilientRedisDatabase db, RedisKey key, IEnumerable<RedisValue> fields, CommandFlags flags)
|
||||
{
|
||||
const int batchSize = 1000;
|
||||
var fieldsArray = fields.ToArray();
|
||||
|
||||
@@ -24,6 +24,7 @@ namespace Jube.Cache.Redis
|
||||
using Interfaces;
|
||||
using log4net;
|
||||
using MessagePack;
|
||||
using ResilientRedisConnection;
|
||||
using Serialization;
|
||||
using Serialization.DictionaryNoBoxing.MessagePack;
|
||||
using StackExchange.Redis;
|
||||
@@ -43,7 +44,7 @@ namespace Jube.Cache.Redis
|
||||
private readonly MessagePackSerializerOptions messagePackSerializerOptions;
|
||||
private readonly string postgresConnectionString;
|
||||
private readonly bool publishSubscribe;
|
||||
private readonly IDatabaseAsync redisDatabase;
|
||||
private readonly ResilientRedisDatabase redisDatabase;
|
||||
private readonly bool storePayloadCountsAndBytes;
|
||||
private readonly SemaphoreSlim timerSemaphore = new SemaphoreSlim(1, 1);
|
||||
private LocalCacheInstance localCacheInstance;
|
||||
@@ -52,7 +53,7 @@ namespace Jube.Cache.Redis
|
||||
private LruCacheConcurrentSizedDictionary<string, byte[]> lruCacheConcurrentSizedDictionary;
|
||||
private Timer timer;
|
||||
|
||||
private CachePayloadRepository(ConnectionMultiplexer connectionMultiplexer, IDatabaseAsync redisDatabase,
|
||||
private CachePayloadRepository(ConnectionMultiplexer connectionMultiplexer, ResilientRedisDatabase redisDatabase,
|
||||
string postgresConnectionString, ILog log,
|
||||
CommandFlags commandFlag, bool fill, bool localCache, long localCacheBytes, bool messagePackCompression, bool storePayloadCountsAndBytes,
|
||||
bool publishSubscribe, CancellationToken token = default)
|
||||
@@ -120,7 +121,7 @@ namespace Jube.Cache.Redis
|
||||
{
|
||||
var redisKeyPayloadCount = $"PayloadCount:{tenantRegistryId}";
|
||||
var redisKeyPayloadBytes = $"PayloadBytes:{tenantRegistryId}";
|
||||
tasks.Add(redisDatabase.HashIncrementAsync(redisKeyPayloadCount, entityAnalysisModelGuid.ToString("N")));
|
||||
tasks.Add(redisDatabase.HashIncrementAsync(redisKeyPayloadCount, entityAnalysisModelGuid.ToString("N"), 1));
|
||||
tasks.Add(redisDatabase.HashIncrementAsync(redisKeyPayloadBytes, entityAnalysisModelGuid.ToString("N"), bytes.Length));
|
||||
}
|
||||
|
||||
@@ -299,7 +300,7 @@ namespace Jube.Cache.Redis
|
||||
|
||||
public static async Task<CachePayloadRepository> CreateAsync(
|
||||
ConnectionMultiplexer connectionMultiplexer,
|
||||
IDatabaseAsync redisDatabase,
|
||||
ResilientRedisDatabase redisDatabase,
|
||||
string postgresConnectionString,
|
||||
ILog log,
|
||||
CommandFlags commandFlag,
|
||||
@@ -826,7 +827,7 @@ namespace Jube.Cache.Redis
|
||||
)));
|
||||
|
||||
tasks.Add(TaskHelper.MeasureTaskTimeAndMemoryAllocatedAsync(TaskType.HashDecrementCount, async () => await redisDatabase.HashDecrementAsync(
|
||||
redisKeyCount, redisHashKeyForRedisKey
|
||||
redisKeyCount, redisHashKeyForRedisKey, 1
|
||||
)));
|
||||
|
||||
tasks.Add(TaskHelper.MeasureTaskTimeAndMemoryAllocatedAsync(TaskType.HashDeletePayload, async () => await redisDatabase.HashDeleteAsync(
|
||||
@@ -1073,7 +1074,7 @@ namespace Jube.Cache.Redis
|
||||
}
|
||||
|
||||
|
||||
private async Task BatchSortedSetRemoveAsync(IDatabaseAsync db, RedisKey key, IEnumerable<RedisValue> values)
|
||||
private async Task BatchSortedSetRemoveAsync(ResilientRedisDatabase db, RedisKey key, IEnumerable<RedisValue> values)
|
||||
{
|
||||
const int batchSize = 1000;
|
||||
var valuesArray = values.ToArray();
|
||||
|
||||
@@ -16,10 +16,11 @@ namespace Jube.Cache.Redis
|
||||
using Extensions;
|
||||
using Interfaces;
|
||||
using log4net;
|
||||
using ResilientRedisConnection;
|
||||
using StackExchange.Redis;
|
||||
|
||||
public class CacheReferenceDate(
|
||||
IDatabaseAsync redisDatabase,
|
||||
ResilientRedisDatabase redisDatabase,
|
||||
ILog log,
|
||||
CommandFlags commandFlag = CommandFlags.FireAndForget) : ICacheReferenceDate
|
||||
{
|
||||
|
||||
@@ -17,11 +17,12 @@ namespace Jube.Cache.Redis
|
||||
using log4net;
|
||||
using MessagePack;
|
||||
using Models;
|
||||
using ResilientRedisConnection;
|
||||
using Serialization;
|
||||
using StackExchange.Redis;
|
||||
|
||||
public class CacheSanctionRepository(
|
||||
IDatabaseAsync redisDatabase,
|
||||
ResilientRedisDatabase redisDatabase,
|
||||
ILog log,
|
||||
CommandFlags commandFlag = CommandFlags.FireAndForget) : ICacheSanctionRepository
|
||||
{
|
||||
|
||||
@@ -17,10 +17,11 @@ namespace Jube.Cache.Redis
|
||||
using Interfaces;
|
||||
using log4net;
|
||||
using Models;
|
||||
using ResilientRedisConnection;
|
||||
using StackExchange.Redis;
|
||||
|
||||
public class CacheTtlCounterEntryRepository(
|
||||
IDatabaseAsync redisDatabase,
|
||||
ResilientRedisDatabase redisDatabase,
|
||||
ILog log,
|
||||
CommandFlags commandFlag = CommandFlags.FireAndForget) : ICacheTtlCounterEntryRepository
|
||||
{
|
||||
@@ -47,7 +48,7 @@ namespace Jube.Cache.Redis
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
if (keyTtlCounterEntry.Value.HasValue)
|
||||
{
|
||||
expired.Add(new ExpiredTtlCounterEntry
|
||||
|
||||
@@ -15,10 +15,11 @@ namespace Jube.Cache.Redis
|
||||
{
|
||||
using Interfaces;
|
||||
using log4net;
|
||||
using ResilientRedisConnection;
|
||||
using StackExchange.Redis;
|
||||
|
||||
public class CacheTtlCounterRepository(
|
||||
IDatabaseAsync redisDatabase,
|
||||
ResilientRedisDatabase redisDatabase,
|
||||
ILog log,
|
||||
CommandFlags commandFlag = CommandFlags.FireAndForget) : ICacheTtlCounterRepository
|
||||
{
|
||||
|
||||
@@ -15,10 +15,11 @@ namespace Jube.Cache.Redis
|
||||
{
|
||||
using Interfaces;
|
||||
using log4net;
|
||||
using ResilientRedisConnection;
|
||||
using StackExchange.Redis;
|
||||
|
||||
public class CacheWalRepository(
|
||||
IDatabaseAsync redisDatabase,
|
||||
ResilientRedisDatabase redisDatabase,
|
||||
ILog log,
|
||||
CommandFlags commandFlag = CommandFlags.FireAndForget) : ICacheWalRepository
|
||||
{
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Jube.DynamicEnvironment\Jube.DynamicEnvironment.csproj"/>
|
||||
<ProjectReference Include="..\Jube.Tokenisation\Jube.Tokenisation.csproj"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="AutoMapper" Version="13.0.1"/>
|
||||
<PackageReference Include="AutoMapper" Version="15.1.3"/>
|
||||
<PackageReference Include="FluentMigrator.Runner" Version="3.3.2"/>
|
||||
<PackageReference Include="Isopoh.Cryptography.Argon2" Version="1.1.12"/>
|
||||
<PackageReference Include="linq2db" Version="3.6.0"/>
|
||||
|
||||
@@ -61,7 +61,7 @@ namespace Jube.Data.Query.CaseQuery
|
||||
var sw = new StopWatch();
|
||||
sw.Start();
|
||||
|
||||
var postgres = new Postgres(reportConnectionString, log);
|
||||
using var postgres = new Postgres(reportConnectionString, log);
|
||||
|
||||
var value = await
|
||||
postgres.ExecuteByOrderedParametersAsync(modelCompiled.SelectSqlDisplay
|
||||
|
||||
@@ -95,7 +95,7 @@ namespace Jube.Data.Query
|
||||
}
|
||||
}
|
||||
|
||||
var postgres = new Postgres(reportConnectionString ?? dbContext.ConnectionString, log);
|
||||
using var postgres = new Postgres(reportConnectionString ?? dbContext.ConnectionString, log);
|
||||
return await postgres.ExecuteByNamedParametersAsync(visualisationRegistryDatasource.Command,
|
||||
mergedParametersByName, token).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ namespace Jube.Data.Query
|
||||
limit
|
||||
};
|
||||
|
||||
var postgres = new Postgres(reportConnectionString ?? dbContext.ConnectionString, log);
|
||||
using var postgres = new Postgres(reportConnectionString ?? dbContext.ConnectionString, log);
|
||||
|
||||
await postgres.PrepareAsync(sql, tokens, token).ConfigureAwait(false);
|
||||
|
||||
|
||||
@@ -34,7 +34,15 @@ namespace Jube.Data.Reporting
|
||||
public Postgres(string connectionString, ILog log)
|
||||
{
|
||||
connection = new ResilientNpgsqlConnection(connectionString, log);
|
||||
connection.Open();
|
||||
try
|
||||
{
|
||||
connection.Open();
|
||||
}
|
||||
catch
|
||||
{
|
||||
connection.Dispose();
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
|
||||
@@ -21,6 +21,7 @@ namespace Jube.Data.Repository
|
||||
using AutoMapper;
|
||||
using Context;
|
||||
using LinqToDB;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Poco;
|
||||
|
||||
public class CaseWorkflowActionRepository
|
||||
@@ -185,7 +186,7 @@ namespace Jube.Data.Repository
|
||||
var mapper = new Mapper(new MapperConfiguration(cfg =>
|
||||
{
|
||||
cfg.CreateMap<CaseWorkflowAction, CaseWorkflowActionVersion>();
|
||||
}));
|
||||
}, NullLoggerFactory.Instance));
|
||||
|
||||
var audit = mapper.Map<CaseWorkflowActionVersion>(existing);
|
||||
audit.CaseWorkflowActionId = existing.Id;
|
||||
|
||||
@@ -21,6 +21,7 @@ namespace Jube.Data.Repository
|
||||
using AutoMapper;
|
||||
using Context;
|
||||
using LinqToDB;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Poco;
|
||||
|
||||
public class CaseWorkflowDisplayRepository
|
||||
@@ -171,7 +172,7 @@ namespace Jube.Data.Repository
|
||||
var mapper = new Mapper(new MapperConfiguration(cfg =>
|
||||
{
|
||||
cfg.CreateMap<CaseWorkflowDisplay, CaseWorkflowDisplayVersion>();
|
||||
}));
|
||||
}, NullLoggerFactory.Instance));
|
||||
|
||||
var audit = mapper.Map<CaseWorkflowDisplayVersion>(existing);
|
||||
audit.CaseWorkflowDisplayId = existing.Id;
|
||||
|
||||
@@ -21,6 +21,7 @@ namespace Jube.Data.Repository
|
||||
using AutoMapper;
|
||||
using Context;
|
||||
using LinqToDB;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Poco;
|
||||
|
||||
public class CaseWorkflowFilterRepository
|
||||
@@ -169,7 +170,7 @@ namespace Jube.Data.Repository
|
||||
var mapper = new Mapper(new MapperConfiguration(cfg =>
|
||||
{
|
||||
cfg.CreateMap<CaseWorkflowFilter, CaseWorkflowFilterVersion>();
|
||||
}));
|
||||
}, NullLoggerFactory.Instance));
|
||||
|
||||
var audit = mapper.Map<CaseWorkflowFilterVersion>(existing);
|
||||
audit.CaseWorkflowFilterId = existing.Id;
|
||||
|
||||
@@ -21,6 +21,7 @@ namespace Jube.Data.Repository
|
||||
using AutoMapper;
|
||||
using Context;
|
||||
using LinqToDB;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Poco;
|
||||
|
||||
public class CaseWorkflowFormRepository
|
||||
@@ -142,7 +143,7 @@ namespace Jube.Data.Repository
|
||||
|
||||
await dbContext.UpdateAsync(model, token: token);
|
||||
|
||||
var mapper = new Mapper(new MapperConfiguration(cfg => { cfg.CreateMap<CaseWorkflowForm, CaseWorkflowFormVersion>(); }));
|
||||
var mapper = new Mapper(new MapperConfiguration(cfg => { cfg.CreateMap<CaseWorkflowForm, CaseWorkflowFormVersion>(); }, NullLoggerFactory.Instance));
|
||||
|
||||
var audit = mapper.Map<CaseWorkflowFormVersion>(existing);
|
||||
audit.CaseWorkflowFormId = existing.Id;
|
||||
|
||||
@@ -21,6 +21,7 @@ namespace Jube.Data.Repository
|
||||
using AutoMapper;
|
||||
using Context;
|
||||
using LinqToDB;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Poco;
|
||||
|
||||
public class CaseWorkflowMacroRepository
|
||||
@@ -178,7 +179,7 @@ namespace Jube.Data.Repository
|
||||
|
||||
await dbContext.UpdateAsync(model, token: token);
|
||||
|
||||
var mapper = new Mapper(new MapperConfiguration(cfg => { cfg.CreateMap<CaseWorkflowMacro, CaseWorkflowMacroVersion>(); }));
|
||||
var mapper = new Mapper(new MapperConfiguration(cfg => { cfg.CreateMap<CaseWorkflowMacro, CaseWorkflowMacroVersion>(); }, NullLoggerFactory.Instance));
|
||||
|
||||
var audit = mapper.Map<CaseWorkflowMacroVersion>(existing);
|
||||
audit.CaseWorkflowMacroId = existing.Id;
|
||||
|
||||
@@ -21,6 +21,7 @@ namespace Jube.Data.Repository
|
||||
using AutoMapper;
|
||||
using Context;
|
||||
using LinqToDB;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Poco;
|
||||
|
||||
public class CaseWorkflowRepository
|
||||
@@ -157,7 +158,7 @@ namespace Jube.Data.Repository
|
||||
|
||||
await dbContext.UpdateAsync(model, token: token);
|
||||
|
||||
var mapper = new Mapper(new MapperConfiguration(cfg => { cfg.CreateMap<CaseWorkflow, CaseWorkflowVersion>(); }));
|
||||
var mapper = new Mapper(new MapperConfiguration(cfg => { cfg.CreateMap<CaseWorkflow, CaseWorkflowVersion>(); }, NullLoggerFactory.Instance));
|
||||
|
||||
var audit = mapper.Map<CaseWorkflowVersion>(existing);
|
||||
audit.CaseWorkflowId = existing.Id;
|
||||
|
||||
@@ -21,6 +21,7 @@ namespace Jube.Data.Repository
|
||||
using AutoMapper;
|
||||
using Context;
|
||||
using LinqToDB;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Poco;
|
||||
|
||||
public class CaseWorkflowStatusRepository
|
||||
@@ -185,7 +186,7 @@ namespace Jube.Data.Repository
|
||||
var mapper = new Mapper(new MapperConfiguration(cfg =>
|
||||
{
|
||||
cfg.CreateMap<CaseWorkflowStatus, CaseWorkflowStatusVersion>();
|
||||
}));
|
||||
}, NullLoggerFactory.Instance));
|
||||
|
||||
var audit = mapper.Map<CaseWorkflowStatusVersion>(existing);
|
||||
audit.CaseWorkflowStatusId = existing.Id;
|
||||
|
||||
@@ -21,6 +21,7 @@ namespace Jube.Data.Repository
|
||||
using AutoMapper;
|
||||
using Context;
|
||||
using LinqToDB;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Poco;
|
||||
|
||||
public class CaseWorkflowXPathRepository
|
||||
@@ -205,7 +206,7 @@ namespace Jube.Data.Repository
|
||||
|
||||
await dbContext.UpdateAsync(model, token: token);
|
||||
|
||||
var mapper = new Mapper(new MapperConfiguration(cfg => { cfg.CreateMap<CaseWorkflowXPath, CaseWorkflowXPathVersion>(); }));
|
||||
var mapper = new Mapper(new MapperConfiguration(cfg => { cfg.CreateMap<CaseWorkflowXPath, CaseWorkflowXPathVersion>(); }, NullLoggerFactory.Instance));
|
||||
|
||||
var audit = mapper.Map<CaseWorkflowXPathVersion>(existing);
|
||||
audit.CaseWorkflowXPathId = existing.Id;
|
||||
|
||||
@@ -21,6 +21,7 @@ namespace Jube.Data.Repository
|
||||
using AutoMapper;
|
||||
using Context;
|
||||
using LinqToDB;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Poco;
|
||||
|
||||
public class EntityAnalysisModelAbstractionCalculationRepository
|
||||
@@ -126,7 +127,7 @@ namespace Jube.Data.Repository
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisModelAbstractionCalculation,
|
||||
EntityAnalysisModelAbstractionCalculationVersion>();
|
||||
}));
|
||||
}, NullLoggerFactory.Instance));
|
||||
|
||||
var audit = mapper.Map<EntityAnalysisModelAbstractionCalculationVersion>(existing);
|
||||
audit.EntityAnalysisModelAbstractionCalculationId = existing.Id;
|
||||
|
||||
@@ -21,6 +21,7 @@ namespace Jube.Data.Repository
|
||||
using AutoMapper;
|
||||
using Context;
|
||||
using LinqToDB;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Poco;
|
||||
|
||||
public class EntityAnalysisModelAbstractionRuleRepository
|
||||
@@ -130,7 +131,7 @@ namespace Jube.Data.Repository
|
||||
var mapper = new Mapper(new MapperConfiguration(cfg =>
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisModelAbstractionRule, EntityAnalysisModelAbstractionRuleVersion>();
|
||||
}));
|
||||
}, NullLoggerFactory.Instance));
|
||||
|
||||
var audit = mapper.Map<EntityAnalysisModelAbstractionRuleVersion>(existing);
|
||||
audit.EntityAnalysisModelAbstractionRuleId = existing.Id;
|
||||
|
||||
@@ -21,6 +21,7 @@ namespace Jube.Data.Repository
|
||||
using AutoMapper;
|
||||
using Context;
|
||||
using LinqToDB;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Poco;
|
||||
|
||||
public class EntityAnalysisModelActivationRuleRepository
|
||||
@@ -172,7 +173,7 @@ namespace Jube.Data.Repository
|
||||
var mapper = new Mapper(new MapperConfiguration(cfg =>
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisModelActivationRule, EntityAnalysisModelActivationRuleVersion>();
|
||||
}));
|
||||
}, NullLoggerFactory.Instance));
|
||||
|
||||
var audit = mapper.Map<EntityAnalysisModelActivationRuleVersion>(existing);
|
||||
audit.EntityAnalysisModelActivationRuleId = existing.Id;
|
||||
|
||||
@@ -21,6 +21,7 @@ namespace Jube.Data.Repository
|
||||
using AutoMapper;
|
||||
using Context;
|
||||
using LinqToDB;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Poco;
|
||||
|
||||
public class EntityAnalysisModelDictionaryKvpRepository
|
||||
@@ -121,7 +122,7 @@ namespace Jube.Data.Repository
|
||||
var mapper = new Mapper(new MapperConfiguration(cfg =>
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisModelDictionaryKvp, EntityAnalysisModelDictionaryKvpVersion>();
|
||||
}));
|
||||
}, NullLoggerFactory.Instance));
|
||||
|
||||
var audit = mapper.Map<EntityAnalysisModelDictionaryKvpVersion>(existing);
|
||||
audit.EntityAnalysisModelDictionaryKvpId = existing.Id;
|
||||
|
||||
@@ -21,6 +21,7 @@ namespace Jube.Data.Repository
|
||||
using AutoMapper;
|
||||
using Context;
|
||||
using LinqToDB;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Poco;
|
||||
|
||||
public class EntityAnalysisModelDictionaryRepository
|
||||
@@ -140,7 +141,7 @@ namespace Jube.Data.Repository
|
||||
var mapper = new Mapper(new MapperConfiguration(cfg =>
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisModelDictionary, EntityAnalysisModelDictionaryVersion>();
|
||||
}));
|
||||
}, NullLoggerFactory.Instance));
|
||||
|
||||
var audit = mapper.Map<EntityAnalysisModelDictionaryVersion>(existing);
|
||||
audit.EntityAnalysisModelDictionaryId = existing.Id;
|
||||
|
||||
@@ -21,6 +21,7 @@ namespace Jube.Data.Repository
|
||||
using AutoMapper;
|
||||
using Context;
|
||||
using LinqToDB;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Poco;
|
||||
|
||||
public class EntityAnalysisModelGatewayRuleRepository
|
||||
@@ -128,7 +129,7 @@ namespace Jube.Data.Repository
|
||||
var mapper = new Mapper(new MapperConfiguration(cfg =>
|
||||
{
|
||||
cfg.CreateMap<EntityAnalysisModelGatewayRule, EntityAnalysisModelGatewayRuleVersion>();
|
||||
}));
|
||||
}, NullLoggerFactory.Instance));
|
||||
|
||||
var audit = mapper.Map<EntityAnalysisModelGatewayRuleVersion>(existing);
|
||||
audit.EntityAnalysisModelGatewayRuleId = existing.Id;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user