chore(api): Core-Bibliotheken und UserManager.Infrastructure auf 2.0.0.0 aktualisiert

- Core-Bibliotheken und UserManager.Infrastructure in den API-Schichten auf Version 2.0.0.0 erhöht.
This commit is contained in:
Developer 02 2024-09-20 11:05:00 +02:00
parent 017d03713b
commit 2fb8af9a4f
9 changed files with 78 additions and 60 deletions

View File

@ -1,4 +1,7 @@
namespace EnvelopeGenerator.Application.DTOs using DigitalData.Core.Abstractions;
using System.Text.Json.Serialization;
namespace EnvelopeGenerator.Application.DTOs
{ {
public record ConfigDto( public record ConfigDto(
string DocumentPath, string DocumentPath,
@ -8,5 +11,10 @@
string ExportPath, string ExportPath,
string DocumentPathDmz, string DocumentPathDmz,
string ExportPathDmz, string ExportPathDmz,
string DocumentPathMoveAftsend); string DocumentPathMoveAftsend) : IUnique<int>
{
[JsonIgnore]
[Obsolete("Configuration does not have an ID; it represents a single table in the database.")]
public int Id => throw new InvalidOperationException("This configuration does not support an ID as it represents a single row in the database.");
};
} }

View File

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk.Web"> <Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup> <PropertyGroup>
<TargetFramework>net7.0</TargetFramework> <TargetFramework>net7.0</TargetFramework>
@ -7,8 +7,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="DigitalData.Core.Abstractions" Version="1.0.1.1" /> <PackageReference Include="DigitalData.Core.Abstractions" Version="2.0.0" />
<PackageReference Include="DigitalData.Core.API" Version="1.0.2.1" /> <PackageReference Include="DigitalData.Core.API" Version="2.0.0" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="7.0.15" /> <PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="7.0.15" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" /> <PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
<PackageReference Include="System.DirectoryServices" Version="7.0.1" /> <PackageReference Include="System.DirectoryServices" Version="7.0.1" />

View File

@ -6,10 +6,12 @@ using EnvelopeGenerator.Domain.Entities;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Group = DigitalData.UserManager.Domain.Entities.Group; using Group = DigitalData.UserManager.Domain.Entities.Group;
using Module = DigitalData.UserManager.Domain.Entities.Module; using Module = DigitalData.UserManager.Domain.Entities.Module;
using DigitalData.EmailProfilerDispatcher;
namespace EnvelopeGenerator.Infrastructure namespace EnvelopeGenerator.Infrastructure
{ {
public class EGDbContext : DbContext, IUserManagerDbContext //TODO: Adding EmailOut instead of EmailOut.Abst is not correct for the arch. Re-design EmailPut consedering this. IMailDbContext shoud move to Abstraction layer (hint: in this case using DBSet in abst. will be problem because entity framework will have to be added.
public class EGDbContext : DbContext, IUserManagerDbContext, IMailDbContext
{ {
public DbSet<UserReceiver> UserReceivers { get; set; } public DbSet<UserReceiver> UserReceivers { get; set; }
@ -47,6 +49,8 @@ namespace EnvelopeGenerator.Infrastructure
public DbSet<UserRep> UserReps { get; set; } public DbSet<UserRep> UserReps { get; set; }
public DbSet<EmailOut> EMailOuts { get; set; }
public EGDbContext(DbContextOptions<EGDbContext> options) : base(options) public EGDbContext(DbContextOptions<EGDbContext> options) : base(options)
{ {
UserReceivers = Set<UserReceiver>(); UserReceivers = Set<UserReceiver>();
@ -67,6 +71,7 @@ namespace EnvelopeGenerator.Infrastructure
Modules = Set<Module>(); Modules = Set<Module>();
Users = Set<User>(); Users = Set<User>();
UserReps = Set<UserRep>(); UserReps = Set<UserRep>();
EMailOuts = Set<EmailOut>();
} }
protected override void OnModelCreating(ModelBuilder modelBuilder) protected override void OnModelCreating(ModelBuilder modelBuilder)

View File

@ -9,6 +9,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="DigitalData.Core.Abstractions" Version="2.0.0" /> <PackageReference Include="DigitalData.Core.Abstractions" Version="2.0.0" />
<PackageReference Include="DigitalData.Core.Infrastructure" Version="2.0.0" /> <PackageReference Include="DigitalData.Core.Infrastructure" Version="2.0.0" />
<PackageReference Include="DigitalData.EmailProfilerDispatcher" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.16" /> <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.16" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.15"> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.15">
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>

View File

@ -1,10 +1,11 @@
using EnvelopeGenerator.Application.Contracts; using EnvelopeGenerator.Application.Contracts;
using EnvelopeGenerator.Application.DTOs; using EnvelopeGenerator.Application.DTOs;
using EnvelopeGenerator.Domain.Entities; using EnvelopeGenerator.Domain.Entities;
using DigitalData.Core.API;
namespace EnvelopeGenerator.Web.Controllers.Test namespace EnvelopeGenerator.Web.Controllers.Test
{ {
public class TestConfigController : TestControllerBase<IConfigService, ConfigDto, Config, int> public class TestConfigController : ReadControllerBase<IConfigService, ConfigDto, Config, int>
{ {
public TestConfigController(ILogger<TestConfigController> logger, IConfigService service) : base(logger, service) public TestConfigController(ILogger<TestConfigController> logger, IConfigService service) : base(logger, service)
{ {

View File

@ -1,6 +1,7 @@
using DigitalData.Core.API; using DigitalData.Core.API;
using DigitalData.Core.Abstractions.Application; using DigitalData.Core.Abstractions.Application;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using DigitalData.Core.Abstractions;
namespace EnvelopeGenerator.Web.Controllers.Test namespace EnvelopeGenerator.Web.Controllers.Test
{ {
@ -8,7 +9,7 @@ namespace EnvelopeGenerator.Web.Controllers.Test
[Route("api/test/[controller]")] [Route("api/test/[controller]")]
public class TestControllerBase<TCRUDService, TDto, TEntity, TId> : BasicCRUDControllerBase<TCRUDService, TDto, TEntity, TId> public class TestControllerBase<TCRUDService, TDto, TEntity, TId> : BasicCRUDControllerBase<TCRUDService, TDto, TEntity, TId>
where TCRUDService : ICRUDService<TDto, TDto, TDto, TEntity, TId> where TCRUDService : ICRUDService<TDto, TDto, TDto, TEntity, TId>
where TDto : class where TEntity : class where TDto : class, IUnique<TId> where TEntity : class, IUnique<TId>
{ {
public TestControllerBase(ILogger logger, TCRUDService service) : base(logger, service) public TestControllerBase(ILogger logger, TCRUDService service) : base(logger, service)
{ {

View File

@ -8,7 +8,7 @@ using EnvelopeGenerator.Application.DTOs.EnvelopeReceiver;
namespace EnvelopeGenerator.Web.Controllers.Test namespace EnvelopeGenerator.Web.Controllers.Test
{ {
public class TestEnvelopeReceiverController : TestControllerBase<IEnvelopeReceiverService, EnvelopeReceiverDto, EnvelopeReceiver, object> public class TestEnvelopeReceiverController : ReadControllerBase<IEnvelopeReceiverService, EnvelopeReceiverDto, EnvelopeReceiver, (int Envelope, int Receiver)>
{ {
public TestEnvelopeReceiverController(ILogger<TestEnvelopeReceiverController> logger, IEnvelopeReceiverService service) : base(logger, service) public TestEnvelopeReceiverController(ILogger<TestEnvelopeReceiverController> logger, IEnvelopeReceiverService service) : base(logger, service)
{ {

View File

@ -5,7 +5,7 @@
var nonce = _accessor.HttpContext?.Items["csp-nonce"] as string; var nonce = _accessor.HttpContext?.Items["csp-nonce"] as string;
} }
@using DigitalData.Core.DTO; @using DigitalData.Core.DTO;
@ using EnvelopeGenerator.Application.DTOs; @using EnvelopeGenerator.Application.DTOs.EnvelopeReceiver
@using Newtonsoft.Json @using Newtonsoft.Json
@using Newtonsoft.Json.Serialization @using Newtonsoft.Json.Serialization
@model EnvelopeReceiverDto; @model EnvelopeReceiverDto;

View File

@ -1,11 +1,10 @@
@{ @{
var nonce = _accessor.HttpContext?.Items["csp-nonce"] as string; var nonce = _accessor.HttpContext?.Items["csp-nonce"] as string;
} }
@ using DigitalData.Core.DTO; @using EnvelopeGenerator.Application.DTOs.EnvelopeReceiver
@ using EnvelopeGenerator.Application.DTOs;
@using Newtonsoft.Json @using Newtonsoft.Json
@using Newtonsoft.Json.Serialization @using Newtonsoft.Json.Serialization
@model EnvelopeReceiverDto; @model EnvelopeReceiverDto
@{ @{
ViewData["Title"] = _localizer[WebKey.SignDoc]; ViewData["Title"] = _localizer[WebKey.SignDoc];
} }
@ -21,19 +20,23 @@
} }
<div class="d-flex flex-column min-vh-100"> <div class="d-flex flex-column min-vh-100">
<nav class="navbar navbar-light bg-light"> <nav class="navbar navbar-light bg-light">
<div class="container-fluid"> <div class="container">
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarToggleExternalContent" aria-controls="navbarToggleExternalContent" aria-expanded="false" aria-label="Toggle navigation"> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarToggleExternalContent" aria-controls="navbarToggleExternalContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span> <span class="material-symbols-outlined">
more_vert
</span>
</button> </button>
<div class="navbar-brand me-auto ms-5 envelope-message">@($"{_localizer[WebKey.Hello]} {Model.Name}, {@envelope?.Message}".TrySanitize(_sanitizer))</div> <div class="envelope-message">
<div class="col-1 p-0 m-0 me-3 d-flex"> <span class="icon material-symbols-outlined">history_edu</span>
<img src="~/img/digital_data.svg" alt="..."> <span class="message navbar-brand">@($"{_localizer[WebKey.Hello]} {Model.Name}, {@envelope?.Message}".TrySanitize(_sanitizer))</span>
</div>
<div class="logo">
<img class="cursor-img" src="~/img/cursor_logo.png" alt="...">
</div> </div>
</div> </div>
</nav> </nav>
<div class="collapse show" id="navbarToggleExternalContent" data-bs-theme="light"> <div class="collapse show bg-light " id="navbarToggleExternalContent" data-bs-theme="light">
<div class="bg-light p-1"> <div class="card sender-card p-1 mb-3">
<div class="card sender-card mb-3">
<div class="row g-0"> <div class="row g-0">
<div class="col p-0 m-0"> <div class="col p-0 m-0">
<div class="card-body p-0 m-0 ms-4"> <div class="card-body p-0 m-0 ms-4">
@ -59,7 +62,6 @@
</div> </div>
</div> </div>
</div> </div>
</div>
<div id="flex-action-panel" class="btn-group btn_group position-fixed bottom-0 end-0 d-flex align-items-center" role="group" aria-label="Basic mixed styles example"> <div id="flex-action-panel" class="btn-group btn_group position-fixed bottom-0 end-0 d-flex align-items-center" role="group" aria-label="Basic mixed styles example">
<button class="btn_complete btn btn-primary" type="button"> <button class="btn_complete btn btn-primary" type="button">
<svg class="icon" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 16"> <svg class="icon" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 16">