Refactor namespaces to EnvelopeGenerator.Server

Renamed namespaces and related identifiers from EnvelopeGenerator.WebUI
to EnvelopeGenerator.Server across the project. This change affects
data models, services, controllers, and configuration files to ensure
consistency with the new architecture.

Updated @using directives in Razor components and other files to
reflect the new namespace structure. Adjusted project references in
EnvelopeGenerator.Server.csproj to point to the new
EnvelopeGenerator.Server.Client project.

Modified middleware and logging configurations to use the new
EnvelopeGenerator.Server namespace, including changes in Program.cs
and appsettings.json.

Updated resource and file references to use the new
EnvelopeGenerator.Server path, ensuring correct resource loading.

Adjusted configuration options in Program.cs to use the new namespace
for options classes, such as ApiOptions and PdfViewerOptions.

Updated authentication scheme names and related constants to align
with the new namespace structure.

Revised comments and documentation to reflect the new namespace,
ensuring clarity and consistency in the codebase.
This commit is contained in:
2026-06-22 16:14:11 +02:00
parent 27940f5d34
commit 106e62a912
82 changed files with 142 additions and 142 deletions

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.WebUI.Client.Data {
namespace EnvelopeGenerator.Server.Client.Data {
public class Adjustment
{
public static Adjustment CreateBalanceForward(DateTime dt, int random)

View File

@@ -1,7 +1,7 @@
using DevExpress.DataAccess.Sql;
using DevExpress.DataAccess.Sql.DataApi;
namespace EnvelopeGenerator.WebUI.Client.Data {
namespace EnvelopeGenerator.Server.Client.Data {
public class Customer {
static List<Customer> currentCustomers = new List<Customer>();

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.WebUI.Client.Data {
namespace EnvelopeGenerator.Server.Client.Data {
public class DataItem {
static readonly string[] accountType = new string[] { "Energy", "Manufacturing", "Estate", "Food", "Services" };
public string CustomerID { get; set; }

View File

@@ -1,6 +1,6 @@
using System.Collections;
namespace EnvelopeGenerator.WebUI.Client.Data {
namespace EnvelopeGenerator.Server.Client.Data {
public class DataItemList : IList<DataItem>, IList {
readonly int rowCount;

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.WebUI.Client.Data {
namespace EnvelopeGenerator.Server.Client.Data {
class DeterministicRandom {
const int randomCount = 10000;
static readonly int[] deterministicRandomNumbers;

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.WebUI.Client.Data {
namespace EnvelopeGenerator.Server.Client.Data {
public struct Term {
public static readonly Term[] Terms = new Term[] {
new Term("Payment seven days after invoice date" ),

View File

@@ -1,4 +1,4 @@
@using EnvelopeGenerator.WebUI.Client.Services;
@using EnvelopeGenerator.Server.Client.Services;
@inherits LayoutComponentBase
<div class="page">

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.WebUI.Client.Models;
namespace EnvelopeGenerator.Server.Client.Models;
/// <summary>
/// Represents a pre-assigned signature annotation position on a specific page.

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.WebUI.Client.Models.Constants
namespace EnvelopeGenerator.Server.Client.Models.Constants
{
public enum SenderAppType
{

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.WebUI.Client.Models.Constants;
namespace EnvelopeGenerator.Server.Client.Models.Constants;
/// <summary>
/// Represents the unit of measurement for coordinate values in signature positioning.

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.WebUI.Client.Models;
namespace EnvelopeGenerator.Server.Client.Models;
/// <summary>
/// Client-side model for the envelope receiver returned by

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.WebUI.Client.Models;
namespace EnvelopeGenerator.Server.Client.Models;
/// <summary>
/// Represents a captured signature with metadata created by the receiver in the signature popup.

View File

@@ -1,6 +1,6 @@
using EnvelopeGenerator.WebUI.Client.Models.Constants;
using EnvelopeGenerator.Server.Client.Models.Constants;
namespace EnvelopeGenerator.WebUI.Client.Models;
namespace EnvelopeGenerator.Server.Client.Models;
/// <summary>
/// Represents a signature position on a PDF page.

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.WebUI.Client.Options;
namespace EnvelopeGenerator.Server.Client.Options;
public class ApiOptions
{

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.WebUI.Client.Options;
namespace EnvelopeGenerator.Server.Client.Options;
public class PdfViewerOptions
{

View File

@@ -1,6 +1,6 @@
@page "/envelope/login/{EnvelopeKey}"
@rendermode InteractiveWebAssembly
@using EnvelopeGenerator.WebUI.Client.Services
@using EnvelopeGenerator.Server.Client.Services
@inject AuthService AuthService
@inject NavigationManager Navigation

View File

@@ -1,6 +1,6 @@
@page "/sender/login"
@rendermode InteractiveWebAssembly
@using EnvelopeGenerator.WebUI.Client.Services
@using EnvelopeGenerator.Server.Client.Services
@inject AuthService AuthService
@inject NavigationManager Navigation

View File

@@ -1,5 +1,5 @@
using DevExpress.XtraReports.UI;
namespace EnvelopeGenerator.WebUI.Client.PredefinedReports {
namespace EnvelopeGenerator.Server.Client.PredefinedReports {
public class Report : XtraReport {
private TopMarginBand topMarginBand1;
private XRPageInfo xrPageInfo4;
@@ -1081,7 +1081,7 @@ namespace EnvelopeGenerator.WebUI.Client.PredefinedReports {
objectConstructorInfo1.Parameters.AddRange(new DevExpress.DataAccess.ObjectBinding.Parameter[] {
parameter1});
this.objectDataSource1.Constructor = objectConstructorInfo1;
this.objectDataSource1.DataSource = typeof(EnvelopeGenerator.WebUI.Client.Data.DataItemList);
this.objectDataSource1.DataSource = typeof(EnvelopeGenerator.Server.Client.Data.DataItemList);
this.objectDataSource1.Name = "objectDataSource1";
//
// Title

View File

@@ -1,6 +1,6 @@
using DevExpress.XtraReports.UI;
namespace EnvelopeGenerator.WebUI.Client.PredefinedReports {
namespace EnvelopeGenerator.Server.Client.PredefinedReports {
public static class ReportsFactory
{
public static readonly Dictionary<string, Func<XtraReport>> Reports = new() {

View File

@@ -1,6 +1,6 @@
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
using EnvelopeGenerator.WebUI.Client.Services;
using EnvelopeGenerator.WebUI.Client.Options;
using EnvelopeGenerator.Server.Client.Services;
using EnvelopeGenerator.Server.Client.Options;
using DevExpress.Blazor.Reporting;
using DevExpress.XtraReports.Web.Extensions;
using DevExpress.DataAccess.Web;
@@ -8,7 +8,7 @@ using DevExpress.XtraReports.Services;
var builder = WebAssemblyHostBuilder.CreateDefault(args);
// HTTP Client (uses WebUI's YARP proxy)
// HTTP Client (uses Server's YARP proxy)
builder.Services.AddScoped(sp => new HttpClient {
BaseAddress = new Uri(builder.HostEnvironment.BaseAddress)
});
@@ -41,8 +41,8 @@ builder.Services.AddScoped<IDataSourceWizardJsonConnectionStorage, CustomDataSou
builder.Services.AddScoped<IJsonDataConnectionProviderFactory, CustomJsonDataConnectionProviderFactory>();
builder.Services.AddScoped<IObjectDataSourceWizardTypeProvider, ObjectDataSourceWizardCustomTypeProvider>();
DevExpress.Utils.DeserializationSettings.RegisterTrustedClass(typeof(EnvelopeGenerator.WebUI.Client.Data.DataItemList));
DevExpress.Utils.DeserializationSettings.RegisterTrustedClass(typeof(EnvelopeGenerator.WebUI.Client.PredefinedReports.Report));
DevExpress.Utils.DeserializationSettings.RegisterTrustedClass(typeof(EnvelopeGenerator.Server.Client.Data.DataItemList));
DevExpress.Utils.DeserializationSettings.RegisterTrustedClass(typeof(EnvelopeGenerator.Server.Client.PredefinedReports.Report));
builder.Services.AddSingleton<InMemoryReportStorageWebExtension>();
builder.Services.AddSingleton<ReportStorageWebExtension>(sp => sp.GetRequiredService<InMemoryReportStorageWebExtension>());

View File

@@ -1,10 +1,10 @@
using System.Net.Http.Json;
using System.Text.Json;
using EnvelopeGenerator.WebUI.Client.Models;
using EnvelopeGenerator.WebUI.Client.Options;
using EnvelopeGenerator.Server.Client.Models;
using EnvelopeGenerator.Server.Client.Options;
using Microsoft.Extensions.Options;
namespace EnvelopeGenerator.WebUI.Client.Services;
namespace EnvelopeGenerator.Server.Client.Services;
/// <summary>
/// Retrieves annotation positions from the API.

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.WebUI.Client.Services;
namespace EnvelopeGenerator.Server.Client.Services;
/// <summary>
/// Provides application version for cache busting static assets.

View File

@@ -1,9 +1,9 @@
using System.Net;
using System.Net.Http.Json;
using EnvelopeGenerator.WebUI.Client.Options;
using EnvelopeGenerator.Server.Client.Options;
using Microsoft.Extensions.Options;
namespace EnvelopeGenerator.WebUI.Client.Services;
namespace EnvelopeGenerator.Server.Client.Services;
public enum EnvelopeLoginResult { Success, InvalidCode, NotFound, Error }

View File

@@ -2,7 +2,7 @@
using DevExpress.DataAccess.Web;
using DevExpress.DataAccess.Wizard.Services;
namespace EnvelopeGenerator.WebUI.Client.Services;
namespace EnvelopeGenerator.Server.Client.Services;
public class CustomDataSourceWizardJsonDataConnectionStorage : IDataSourceWizardJsonConnectionStorage
{

View File

@@ -1,6 +1,6 @@
using DevExpress.DataAccess.Json;
using DevExpress.DataAccess.Web;
namespace EnvelopeGenerator.WebUI.Client.Services;
namespace EnvelopeGenerator.Server.Client.Services;
public class CustomJsonDataConnectionProviderFactory : IJsonDataConnectionProviderFactory {
public IJsonDataConnectionProviderService Create() {

View File

@@ -1,8 +1,8 @@
using DevExpress.XtraReports.UI;
using DevExpress.XtraReports.Services;
using EnvelopeGenerator.WebUI.Client.PredefinedReports;
using EnvelopeGenerator.Server.Client.PredefinedReports;
namespace EnvelopeGenerator.WebUI.Client.Services;
namespace EnvelopeGenerator.Server.Client.Services;
public class CustomReportProvider : IReportProviderAsync {
private readonly InMemoryReportStorageWebExtension reportStorage;

View File

@@ -1,9 +1,9 @@
using System.Net;
using System.Net.Http;
using Microsoft.Extensions.Options;
using EnvelopeGenerator.WebUI.Client.Options;
using EnvelopeGenerator.Server.Client.Options;
namespace EnvelopeGenerator.WebUI.Client.Services;
namespace EnvelopeGenerator.Server.Client.Services;
public class DocumentService(HttpClient http, IOptions<ApiOptions> apiOptions)
{

View File

@@ -1,11 +1,11 @@
using System.Net;
using System.Net.Http.Json;
using System.Text.Json;
using EnvelopeGenerator.WebUI.Client.Models;
using EnvelopeGenerator.WebUI.Client.Options;
using EnvelopeGenerator.Server.Client.Models;
using EnvelopeGenerator.Server.Client.Options;
using Microsoft.Extensions.Options;
namespace EnvelopeGenerator.WebUI.Client.Services;
namespace EnvelopeGenerator.Server.Client.Services;
/// <summary>
/// Retrieves the <see cref="EnvelopeReceiverDto"/> for the authenticated receiver

View File

@@ -1,6 +1,6 @@
using DevExpress.Drawing;
namespace EnvelopeGenerator.WebUI.Client.Services;
namespace EnvelopeGenerator.Server.Client.Services;
public static class FontLoader {
public async static Task LoadFonts(HttpClient httpClient, List<string> fontNames) {

View File

@@ -1,8 +1,8 @@
using DevExpress.XtraReports.UI;
using DevExpress.XtraReports.Web.Extensions;
using EnvelopeGenerator.WebUI.Client.PredefinedReports;
using EnvelopeGenerator.Server.Client.PredefinedReports;
namespace EnvelopeGenerator.WebUI.Client.Services;
namespace EnvelopeGenerator.Server.Client.Services;
public class InMemoryReportStorageWebExtension : ReportStorageWebExtension
{

View File

@@ -1,6 +1,6 @@
using DevExpress.DataAccess.Web;
namespace EnvelopeGenerator.WebUI.Client.Services;
namespace EnvelopeGenerator.Server.Client.Services;
public class ObjectDataSourceWizardCustomTypeProvider : IObjectDataSourceWizardTypeProvider {
public IEnumerable<Type> GetAvailableTypes(string context) {

View File

@@ -1,9 +1,9 @@
using System.Net.Http.Json;
using Microsoft.Extensions.Options;
using EnvelopeGenerator.WebUI.Client.Options;
using EnvelopeGenerator.WebUI.Client.Models;
using EnvelopeGenerator.Server.Client.Options;
using EnvelopeGenerator.Server.Client.Models;
namespace EnvelopeGenerator.WebUI.Client.Services;
namespace EnvelopeGenerator.Server.Client.Services;
/// <summary>
/// Client service for managing cached signatures via API.

View File

@@ -1,10 +1,10 @@
using System.Net.Http.Json;
using System.Text.Json;
using EnvelopeGenerator.WebUI.Client.Models;
using EnvelopeGenerator.WebUI.Client.Options;
using EnvelopeGenerator.Server.Client.Models;
using EnvelopeGenerator.Server.Client.Options;
using Microsoft.Extensions.Options;
namespace EnvelopeGenerator.WebUI.Client.Services;
namespace EnvelopeGenerator.Server.Client.Services;
public class SignatureService(HttpClient http, IOptions<ApiOptions> apiOptions)
{

View File

@@ -7,10 +7,10 @@
@using Microsoft.AspNetCore.Components.Web.Virtualization
@using Microsoft.AspNetCore.Components.WebAssembly.Http
@using Microsoft.JSInterop
@using EnvelopeGenerator.WebUI.Client
@using EnvelopeGenerator.WebUI.Client.Services
@using EnvelopeGenerator.WebUI.Client.Models
@using EnvelopeGenerator.WebUI.Client.Options
@using EnvelopeGenerator.Server.Client
@using EnvelopeGenerator.Server.Client.Services
@using EnvelopeGenerator.Server.Client.Models
@using EnvelopeGenerator.Server.Client.Options
@using DevExpress.Blazor
@using DevExpress.Blazor.PdfViewer
@using DevExpress.Blazor.Reporting

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.WebUI;
namespace EnvelopeGenerator.Server;
/// <summary>
/// Authentication scheme names for envelope generator.
@@ -8,10 +8,10 @@ public static class AuthScheme
/// <summary>
/// Scheme name used for per-envelope receiver JWT authentication.
/// </summary>
public const string Receiver = "EnvelopeGenerator.WebUI.ReceiverJWT";
public const string Receiver = "EnvelopeGenerator.Server.ReceiverJWT";
/// <summary>
/// Scheme name used for per-envelope sender JWT authentication.
/// </summary>
public const string Sender = "EnvelopeGenerator.WebUI.SenderJWT";
public const string Sender = "EnvelopeGenerator.Server.SenderJWT";
}

View File

@@ -8,7 +8,7 @@
<link rel="stylesheet" href="css/bootstrap/bootstrap.min.css" />
<link rel="stylesheet" href="css/app.css" />
<link rel="stylesheet" href="css/envelope-viewer.css" />
<link rel="stylesheet" href="EnvelopeGenerator.WebUI.styles.css" />
<link rel="stylesheet" href="EnvelopeGenerator.Server.styles.css" />
<HeadOutlet />
</head>

View File

@@ -1,10 +1,10 @@
@page "/envelope/{EnvelopeKey}"
@rendermode InteractiveServer
@using EnvelopeGenerator.WebUI.Client.Models
@using EnvelopeGenerator.WebUI.Client.Models.Constants
@using EnvelopeGenerator.WebUI.Client.Services
@using EnvelopeGenerator.Server.Client.Models
@using EnvelopeGenerator.Server.Client.Models.Constants
@using EnvelopeGenerator.Server.Client.Services
@using Microsoft.Extensions.Options
@using EnvelopeGenerator.WebUI.Client.Options
@using EnvelopeGenerator.Server.Client.Options
@using Microsoft.JSInterop
@using DevExpress.Blazor
@inject DocumentService DocumentService
@@ -14,8 +14,8 @@
@inject IJSRuntime JSRuntime
@inject SignatureService SignatureService
@inject SignatureCacheService SignatureCacheService
@inject EnvelopeGenerator.WebUI.Client.Services.AuthService AuthService
@inject EnvelopeGenerator.WebUI.Client.Services.EnvelopeReceiverService EnvelopeReceiverService
@inject EnvelopeGenerator.Server.Client.Services.AuthService AuthService
@inject EnvelopeGenerator.Server.Client.Services.EnvelopeReceiverService EnvelopeReceiverService
@inject AppVersionService AppVersion
@inject ILogger<EnvelopeReceiverPage> logger
@implements IAsyncDisposable

View File

@@ -91,7 +91,7 @@ else
protected override void OnInitialized()
{
Assembly assembly = Assembly.GetExecutingAssembly();
Stream stream = assembly.GetManifestResourceStream("EnvelopeGenerator.WebUI.Resources.Invoice.pdf");
Stream stream = assembly.GetManifestResourceStream("EnvelopeGenerator.Server.Resources.Invoice.pdf");
if (stream != null)
{
using (stream)

View File

@@ -3,8 +3,8 @@
@using XtraReport = DevExpress.XtraReports.UI.XtraReport
@using DevExpress.Blazor.Reporting
@using Microsoft.Extensions.Options
@using EnvelopeGenerator.WebUI.Client.Options
@using EnvelopeGenerator.WebUI.Client.Services
@using EnvelopeGenerator.Server.Client.Options
@using EnvelopeGenerator.Server.Client.Services
@inject InMemoryReportStorageWebExtension ReportStorage
@inject DocumentService DocumentService
@inject IOptions<ApiOptions> AppOptions

View File

@@ -92,7 +92,7 @@ else
protected override void OnInitialized()
{
Assembly assembly = Assembly.GetExecutingAssembly();
Stream stream = assembly.GetManifestResourceStream("EnvelopeGenerator.WebUI.Resources.Invoice.pdf");
Stream stream = assembly.GetManifestResourceStream("EnvelopeGenerator.Server.Resources.Invoice.pdf");
if (stream != null)
{
using (stream)

View File

@@ -6,7 +6,7 @@
@using static Microsoft.AspNetCore.Components.Web.RenderMode
@using Microsoft.AspNetCore.Components.Web.Virtualization
@using Microsoft.JSInterop
@using EnvelopeGenerator.WebUI
@using EnvelopeGenerator.WebUI.Client
@using EnvelopeGenerator.WebUI.Components
@using EnvelopeGenerator.Server
@using EnvelopeGenerator.Server.Client
@using EnvelopeGenerator.Server.Components
@using DevExpress.Blazor

View File

@@ -1,6 +1,6 @@
using DigitalData.Core.Abstraction.Application.DTO;
using DigitalData.Core.Exceptions;
using EnvelopeGenerator.API.Extensions;
using EnvelopeGenerator.Server.Extensions;
using EnvelopeGenerator.Application.Common.Dto;
using EnvelopeGenerator.Application.Common.Extensions;
using EnvelopeGenerator.Application.Common.Interfaces.Services;
@@ -15,7 +15,7 @@ using Microsoft.AspNetCore.Authentication.Cookies;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace EnvelopeGenerator.API.Controllers;
namespace EnvelopeGenerator.Server.Controllers;
/// <summary>
/// Manages annotations and signature lifecycle for envelopes.

View File

@@ -1,6 +1,6 @@
using DigitalData.Auth.Claims;
using EnvelopeGenerator.API.Controllers.Interfaces;
using EnvelopeGenerator.API.Models;
using EnvelopeGenerator.Server.Controllers.Interfaces;
using EnvelopeGenerator.Server.Models;
using EnvelopeGenerator.Domain.Constants;
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Authentication.Cookies;
@@ -8,7 +8,7 @@ using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
namespace EnvelopeGenerator.API.Controllers;
namespace EnvelopeGenerator.Server.Controllers;
/// <summary>
/// Controller verantwortlich für die Benutzer-Authentifizierung, einschließlich Anmelden, Abmelden und Überprüfung des Authentifizierungsstatus.

View File

@@ -3,11 +3,11 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Caching.Distributed;
using Microsoft.Extensions.Options;
using System.Text.Json;
using EnvelopeGenerator.API.Options;
using EnvelopeGenerator.Server.Options;
using EnvelopeGenerator.Domain.Constants;
using EnvelopeGenerator.API.Extensions;
using EnvelopeGenerator.Server.Extensions;
namespace EnvelopeGenerator.API.Controllers;
namespace EnvelopeGenerator.Server.Controllers;
/// <summary>
/// Manages cached data for receivers using distributed cache.

View File

@@ -1,9 +1,9 @@
using EnvelopeGenerator.API.Models.PsPdfKitAnnotation;
using EnvelopeGenerator.Server.Models.PsPdfKitAnnotation;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
namespace EnvelopeGenerator.API.Controllers;
namespace EnvelopeGenerator.Server.Controllers;
/// <summary>
/// Exposes configuration data required by the client applications.

View File

@@ -1,13 +1,13 @@
using DigitalData.Auth.Claims;
using EnvelopeGenerator.API.Controllers.Interfaces;
using EnvelopeGenerator.API.Extensions;
using EnvelopeGenerator.Server.Controllers.Interfaces;
using EnvelopeGenerator.Server.Extensions;
using EnvelopeGenerator.Application.Documents.Queries;
using EnvelopeGenerator.Domain.Constants;
using MediatR;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace EnvelopeGenerator.API.Controllers;
namespace EnvelopeGenerator.Server.Controllers;
/// <summary>
/// Provides access to envelope documents for authenticated receivers.

View File

@@ -10,7 +10,7 @@ using Microsoft.EntityFrameworkCore;
using EnvelopeGenerator.Domain.Constants;
using EnvelopeGenerator.Application.EmailTemplates.Queries;
namespace EnvelopeGenerator.API.Controllers;
namespace EnvelopeGenerator.Server.Controllers;
/// <summary>
/// Controller for managing temp templates.

View File

@@ -1,4 +1,4 @@
using EnvelopeGenerator.API.Extensions;
using EnvelopeGenerator.Server.Extensions;
using EnvelopeGenerator.Application.Envelopes.Commands;
using EnvelopeGenerator.Application.Envelopes.Queries;
using MediatR;
@@ -6,7 +6,7 @@ using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
namespace EnvelopeGenerator.API.Controllers;
namespace EnvelopeGenerator.Server.Controllers;
/// <summary>
/// Dieser Controller stellt Endpunkte für die Verwaltung von Umschlägen bereit.

View File

@@ -3,7 +3,7 @@ using EnvelopeGenerator.Application.EnvelopeReceivers.Commands;
using EnvelopeGenerator.Application.EnvelopeReceivers.Queries;
using EnvelopeGenerator.Application.Envelopes.Queries;
using EnvelopeGenerator.Domain.Entities;
using EnvelopeGenerator.API.Models;
using EnvelopeGenerator.Server.Models;
using MediatR;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
@@ -13,10 +13,10 @@ using System.Data;
using EnvelopeGenerator.Application.Common.SQL;
using EnvelopeGenerator.Application.Common.Dto.Receiver;
using EnvelopeGenerator.Application.Common.Interfaces.SQLExecutor;
using EnvelopeGenerator.API.Extensions;
using EnvelopeGenerator.Server.Extensions;
using EnvelopeGenerator.Domain.Constants;
namespace EnvelopeGenerator.API.Controllers;
namespace EnvelopeGenerator.Server.Controllers;
/// <summary>
/// Controller für die Verwaltung von Umschlagempfängern.

View File

@@ -6,7 +6,7 @@ using EnvelopeGenerator.Application.Histories.Queries;
using EnvelopeGenerator.Domain.Constants;
using EnvelopeGenerator.Application.Common.Extensions;
namespace EnvelopeGenerator.API.Controllers;
namespace EnvelopeGenerator.Server.Controllers;
/// <summary>
/// Dieser Controller stellt Endpunkte für den Zugriff auf die Umschlaghistorie bereit.

View File

@@ -1,7 +1,7 @@
using System.Security.Claims;
using Microsoft.AspNetCore.Authorization;
namespace EnvelopeGenerator.API.Controllers.Interfaces;
namespace EnvelopeGenerator.Server.Controllers.Interfaces;
/// <summary>
///

View File

@@ -6,7 +6,7 @@ using Microsoft.Extensions.Caching.Memory;
using Microsoft.Extensions.Localization;
using EnvelopeGenerator.Application.Resources;
namespace EnvelopeGenerator.API.Controllers;
namespace EnvelopeGenerator.Server.Controllers;
/// <summary>
/// Controller für die Verwaltung der Lokalisierung und Spracheinstellungen.

View File

@@ -2,12 +2,12 @@ using DigitalData.Core.Abstraction.Application.DTO;
using EnvelopeGenerator.Application.Common.Dto.EnvelopeReceiverReadOnly;
using EnvelopeGenerator.Application.Common.Interfaces.Services;
using EnvelopeGenerator.Domain.Constants;
using EnvelopeGenerator.API.Extensions;
using EnvelopeGenerator.Server.Extensions;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
namespace EnvelopeGenerator.API.Controllers;
namespace EnvelopeGenerator.Server.Controllers;
/// <summary>
/// Manages read-only envelope sharing flows.

View File

@@ -1,4 +1,4 @@
using EnvelopeGenerator.API.Extensions;
using EnvelopeGenerator.Server.Extensions;
using EnvelopeGenerator.Application.Common.Dto;
using EnvelopeGenerator.Application.Common.Extensions;
using EnvelopeGenerator.Application.Documents.Queries;
@@ -7,7 +7,7 @@ using MediatR;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace EnvelopeGenerator.API.Controllers;
namespace EnvelopeGenerator.Server.Controllers;
/// <summary>
///

View File

@@ -3,7 +3,7 @@ using EnvelopeGenerator.Application.Common.Extensions;
using EnvelopeGenerator.Application.Common.Interfaces.Services;
using EnvelopeGenerator.Application.Resources;
using EnvelopeGenerator.Domain.Constants;
using EnvelopeGenerator.API.Models;
using EnvelopeGenerator.Server.Models;
using Ganss.Xss;
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Authentication.Cookies;
@@ -12,7 +12,7 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Localization;
using Microsoft.Extensions.Options;
namespace EnvelopeGenerator.API.Controllers;
namespace EnvelopeGenerator.Server.Controllers;
/// <summary>
/// Exposes endpoints for registering and managing two-factor authentication for envelope receivers.

View File

@@ -1,9 +1,9 @@
using EnvelopeGenerator.API.Models;
using EnvelopeGenerator.Server.Models;
using Microsoft.OpenApi.Any;
using Microsoft.OpenApi.Models;
using Swashbuckle.AspNetCore.SwaggerGen;
namespace EnvelopeGenerator.API.Documentation;
namespace EnvelopeGenerator.Server.Documentation;
/// <summary>
///

View File

@@ -7,7 +7,7 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\EnvelopeGenerator.WebUI.Client\EnvelopeGenerator.WebUI.Client.csproj" />
<ProjectReference Include="..\EnvelopeGenerator.Server.Client\EnvelopeGenerator.Server.Client.csproj" />
<ProjectReference Include="..\..\EnvelopeGenerator.Application\EnvelopeGenerator.Application.csproj" />
<ProjectReference Include="..\..\EnvelopeGenerator.Domain\EnvelopeGenerator.Domain.csproj" />
<ProjectReference Include="..\..\EnvelopeGenerator.Infrastructure\EnvelopeGenerator.Infrastructure.csproj" />
@@ -20,7 +20,7 @@
<PackageReference Include="DevExpress.Blazor.PdfViewer" Version="25.2.3" />
<PackageReference Include="DevExpress.Blazor.Reporting.Viewer" Version="25.2.3" />
<!-- API Packages from EnvelopeGenerator.API -->
<!-- API Packages from EnvelopeGenerator.Server -->
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.11" />
<PackageReference Include="AspNetCore.Scalar" Version="1.1.8" />
<PackageReference Include="DigitalData.Auth.Claims" Version="1.0.3" />

View File

@@ -2,7 +2,7 @@ using DigitalData.Auth.Claims;
using Microsoft.IdentityModel.JsonWebTokens;
using System.Security.Claims;
namespace EnvelopeGenerator.API.Extensions;
namespace EnvelopeGenerator.Server.Extensions;
/// <summary>
/// Provides helper methods for working with envelope-specific authentication claims.

View File

@@ -1,6 +1,6 @@
using System.Security.Claims;
namespace EnvelopeGenerator.API.Extensions
namespace EnvelopeGenerator.Server.Extensions
{
/// <summary>
/// Provides extension methods for extracting user information from a <see cref="ClaimsPrincipal"/>.

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.WebUI.Middleware;
namespace EnvelopeGenerator.Server.Middleware;
using DigitalData.Core.Exceptions;
using Microsoft.AspNetCore.Http;

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.API.Models;
namespace EnvelopeGenerator.Server.Models;
public record Auth(string? AccessCode = null, string? SmsCode = null, string? AuthenticatorCode = null, bool UserSelectSMS = default)
{

View File

@@ -1,8 +1,8 @@
namespace EnvelopeGenerator.WebUI.Models;
namespace EnvelopeGenerator.Server.Models;
/// <summary>
/// Represents the keys and default values used for authentication token handling
/// within the Envelope Generator WebUI.
/// within the Envelope Generator Server.
/// </summary>
public class AuthTokenKeys
{

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.WebUI.Models;
namespace EnvelopeGenerator.Server.Models;
/// <summary>
/// Represents the database connection string for dependency injection.

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.API.Models
namespace EnvelopeGenerator.Server.Models
{
/// <summary>
/// Represents a hyperlink for contact purposes with various HTML attributes.

View File

@@ -1,6 +1,6 @@
using System.Globalization;
namespace EnvelopeGenerator.API.Models;
namespace EnvelopeGenerator.Server.Models;
public class Culture
{

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.API.Models;
namespace EnvelopeGenerator.Server.Models;
public class Cultures : List<Culture>
{

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.API.Models;
namespace EnvelopeGenerator.Server.Models;
public class CustomImages : Dictionary<string, Image>
{

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.API.Models;
namespace EnvelopeGenerator.Server.Models;
/// <summary>
/// Request body for the envelope-receiver login endpoint.

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.API.Models;
namespace EnvelopeGenerator.Server.Models;
public class ErrorViewModel
{

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.API.Models;
namespace EnvelopeGenerator.Server.Models;
public class Image
{

View File

@@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations;
namespace EnvelopeGenerator.API.Models;
namespace EnvelopeGenerator.Server.Models;
/// <summary>
/// Repräsentiert ein Login-Modell mit erforderlichem Passwort und optionaler ID und Benutzername.

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.API.Models;
namespace EnvelopeGenerator.Server.Models;
public class MainViewModel
{

View File

@@ -1,7 +1,7 @@
using EnvelopeGenerator.API.Models.PsPdfKitAnnotation;
using EnvelopeGenerator.Server.Models.PsPdfKitAnnotation;
using System.Text.Json.Serialization;
namespace EnvelopeGenerator.API.Models.PsPdfKitAnnotation;
namespace EnvelopeGenerator.Server.Models.PsPdfKitAnnotation;
public record Annotation : IAnnotation
{

View File

@@ -1,7 +1,7 @@
using EnvelopeGenerator.API.Models.PsPdfKitAnnotation;
using EnvelopeGenerator.Server.Models.PsPdfKitAnnotation;
using System.Text.Json.Serialization;
namespace EnvelopeGenerator.API.Models.PsPdfKitAnnotation;
namespace EnvelopeGenerator.Server.Models.PsPdfKitAnnotation;
public class AnnotationParams
{

View File

@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
namespace EnvelopeGenerator.API.Models.PsPdfKitAnnotation;
namespace EnvelopeGenerator.Server.Models.PsPdfKitAnnotation;
/// <summary>
/// The Background is an annotation for the PSPDF Kit. However, it has no function.

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.API.Models.PsPdfKitAnnotation;
namespace EnvelopeGenerator.Server.Models.PsPdfKitAnnotation;
public record Color
{

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.API.Models.PsPdfKitAnnotation;
namespace EnvelopeGenerator.Server.Models.PsPdfKitAnnotation;
public static class Extensions
{

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.API.Models.PsPdfKitAnnotation;
namespace EnvelopeGenerator.Server.Models.PsPdfKitAnnotation;
public interface IAnnotation
{

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.API.Models;
namespace EnvelopeGenerator.Server.Models;
/// <summary>
/// Represents the parameters for two-factor authentication (2FA) registration.

View File

@@ -1,4 +1,4 @@
namespace EnvelopeGenerator.WebUI.Options;
namespace EnvelopeGenerator.Server.Options;
/// <summary>
/// Configuration options for distributed caching.

View File

@@ -1,8 +1,8 @@
using EnvelopeGenerator.WebUI.Components;
using EnvelopeGenerator.WebUI.Models;
using EnvelopeGenerator.WebUI.Options;
using EnvelopeGenerator.Server.Components;
using EnvelopeGenerator.Server.Models;
using EnvelopeGenerator.Server.Options;
using DevExpress.Blazor;
using EnvelopeGenerator.WebUI.Client.Services;
using EnvelopeGenerator.Server.Client.Services;
using DigitalData.Core.API;
using DigitalData.Core.Application;
using EnvelopeGenerator.Infrastructure;
@@ -23,10 +23,10 @@ using DigitalData.Core.Abstractions.Security.Extensions;
using NLog.Web;
using NLog;
using DigitalData.Auth.Claims;
using EnvelopeGenerator.WebUI;
using EnvelopeGenerator.Server;
var logger = LogManager.Setup().LoadConfigurationFromAppSettings().GetCurrentClassLogger();
logger.Info("EnvelopeGenerator.WebUI logging initialized!");
logger.Info("EnvelopeGenerator.Server logging initialized!");
try
{
@@ -304,7 +304,7 @@ try
return httpClient;
});
// Business Services (WebUI specific)
// Business Services (Server specific)
builder.Services.AddScoped<DocumentService>();
builder.Services.AddScoped<AuthService>();
builder.Services.AddScoped<AnnotationService>();
@@ -318,9 +318,9 @@ try
builder.Services.AddDevExpressServerSideBlazorPdfViewer();
// Configuration Options
builder.Services.Configure<EnvelopeGenerator.WebUI.Client.Options.ApiOptions>(
builder.Services.Configure<EnvelopeGenerator.Server.Client.Options.ApiOptions>(
builder.Configuration.GetSection("ApiOptions"));
builder.Services.Configure<EnvelopeGenerator.WebUI.Client.Options.PdfViewerOptions>(
builder.Services.Configure<EnvelopeGenerator.Server.Client.Options.PdfViewerOptions>(
builder.Configuration.GetSection("PdfViewerOptions"));
var app = builder.Build();
@@ -328,7 +328,7 @@ try
deferredProvider.Factory = () => app.Services;
// Exception handling middleware for API controllers
app.UseMiddleware<EnvelopeGenerator.WebUI.Middleware.ExceptionHandlingMiddleware>();
app.UseMiddleware<EnvelopeGenerator.Server.Middleware.ExceptionHandlingMiddleware>();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
@@ -375,7 +375,7 @@ try
app.MapRazorComponents<App>()
.AddInteractiveServerRenderMode()
.AddInteractiveWebAssemblyRenderMode()
.AddAdditionalAssemblies(typeof(EnvelopeGenerator.WebUI.Client._Imports).Assembly);
.AddAdditionalAssemblies(typeof(EnvelopeGenerator.Server.Client._Imports).Assembly);
app.Run();
}

View File

@@ -70,7 +70,7 @@
"throwConfigExceptions": true,
"variables": {
"logDirectory": "E:\\LogFiles\\Digital Data\\signFlow",
"logFileNamePrefix": "${shortdate}-ECM.EnvelopeGenerator.WebUI"
"logFileNamePrefix": "${shortdate}-ECM.EnvelopeGenerator.Server"
},
"targets": {
"infoLogs": {