- Introduced FdsDocumentNames class to centralize the logic for sanitizing document names used in downloads. - Updated FdsMfr to utilize the new SafeFileName method for generating safe filenames. - Enhanced documentation for FdsDocumentNames and its methods to clarify usage and purpose. - Added global.json file to configure testing framework settings.
55 lines
3.6 KiB
XML
55 lines
3.6 KiB
XML
<?xml version="1.0"?>
|
|
<doc>
|
|
<assembly>
|
|
<name>Fuchs_DataService</name>
|
|
</assembly>
|
|
<members>
|
|
<member name="T:fds.FdsSqlOptions">
|
|
<summary>
|
|
Logs every SQL error through the worker's structured <see cref="T:Microsoft.Extensions.Logging.ILogger"/> alone — which, when
|
|
this worker runs hosted inside the Fuchs web app (ADR 0010), also reaches the OCORE MultiLogger
|
|
SQL sink at Warning+ (ADR 0024) and lands in the same <c>fds__debuglog</c> table
|
|
<c>FdsDebug.DebugLog</c> used to write to directly. Calling both here would double-write
|
|
every row, which is exactly what the original 2026-09-16 log review's back-to-back
|
|
"mfr__getSchema"/"fds__getUpdateableRequests" deadlock entries were heading towards once the
|
|
SQL sink went live — so this class no longer calls <c>FdsDebug.DebugLog</c>. Passing a
|
|
<c>logger</c> is optional; falls back to the static <see cref="F:OCORE.Logging.Logger"/>
|
|
(set once in <c>Program.cs</c>) so a failing stored procedure is never silently dropped.
|
|
<c>FdsDebug.DebugLog</c> remains the primary/only DB-attribution path for every other
|
|
call site in this project that doesn't separately log through <see cref="T:Microsoft.Extensions.Logging.ILogger"/> — it was
|
|
deliberately not migrated onto the generic pipeline (see ADR 0024's Consequences).
|
|
</summary>
|
|
</member>
|
|
<member name="F:fds.FdsMfr.InvoiceFileDownloadConcurrency">
|
|
<summary>Max parallel invoice-file downloads (independent per file).</summary>
|
|
</member>
|
|
<member name="M:fds.FdsMfrClient.DatabaseSchema.ShapeTableNames(System.String,System.Data.DataRowCollection)">
|
|
<summary>
|
|
Entity table plus its navigation tables, without blanks: the list of tables whose
|
|
(empty) shape is loaded. Empty when the entity table itself is unknown.
|
|
</summary>
|
|
</member>
|
|
<member name="T:fds.FdsConfig">
|
|
<summary>
|
|
Holds the application <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/> supplied by the host (the Fuchs web app).
|
|
Fuchs_DataService is a library — it has no configuration of its own; the host owns the
|
|
connection strings and MFR credentials and injects them via <see cref="M:fds.FdsConfig.Initialize(Microsoft.Extensions.Configuration.IConfiguration)"/>,
|
|
which <c>Program.cs</c> calls once at startup before any <see cref="T:fds.FdsMfr"/> use.
|
|
</summary>
|
|
</member>
|
|
<member name="T:fds.FdsDocumentNames">
|
|
<summary>
|
|
Download-filename sanitising shared by every path that hands a document to the browser —
|
|
stored documents (<see cref="M:fds.FdsMfr.GetReportDoc(System.Byte[]@,System.String,System.Boolean)"/>) and documents regenerated on a miss
|
|
(<c>IntranetController.HandleReportDoc</c>, ADR 0025) — so both produce the same name for the
|
|
same DocumentName. DocumentName is derived from the user-typed invoice title, so it can carry
|
|
path separators ("Wartung 2025/26"), stray editor markup and characters Windows rejects.
|
|
</summary>
|
|
</member>
|
|
<member name="M:fds.FdsDocumentNames.SafeFileName(System.String,System.String)">
|
|
<param name="documentName">Raw DocumentName (may be null, empty, or wrapped in <p>).</param>
|
|
<param name="fallback">Used when nothing usable remains after cleanup.</param>
|
|
</member>
|
|
</members>
|
|
</doc>
|