Files
ScadaBridge/src/ZB.MOM.WW.ScadaBridge.Commons/Entities/Schemas/SharedSchema.cs
T
Joseph Doherty 9cff87fe85 docs(comments): strip internal task/milestone/bundle bookkeeping from code comments
Remove project bookkeeping citations from shipped code comments across the
solution: hyphenated task IDs (WP-14, StoreAndForward-025), milestone/task/
issue refs (M3, Task 4, Audit Log #23, #21), Bundle X task-bundle labels,
and C/D/K/S/T phase labels.

Comment text only — no code logic, string/log literals, or XML-doc structure
changed. Genuine descriptions are preserved (only the citation is stripped),
and technical lookalikes are retained (UTF-8, SHA-256, T00:00:00, M365,
UTC-5, pre-C4/pre-C5 schema versions). Flagged by the new CommentChecker
TaskReferenceInComment / TrackingReferenceInComment checks plus targeted
grep passes; full solution builds clean, append-only guard tests pass.
2026-07-07 11:03:26 -04:00

33 lines
1.3 KiB
C#

namespace ZB.MOM.WW.ScadaBridge.Commons.Entities.Schemas;
/// <summary>
/// A reusable, named JSON-Schema library entry (template-level JSON-Schema library).
/// Schemas are referenced from inbound-API / template schema definitions via a
/// <c>{"$ref":"lib:Name"}</c> pointer resolved against this library. One row per
/// named schema in the central <c>SharedSchemas</c> MS SQL table.
/// </summary>
/// <remarks>
/// Persistence-ignorant POCO; the EF Core mapping lives in the Configuration Database
/// component (<c>SharedSchemaConfiguration</c>). Mirrors the single-table
/// <see cref="ZB.MOM.WW.ScadaBridge.Commons.Entities.Scripts.SharedScript"/> entity/config/
/// repository shape — surrogate <c>Id</c>, a unique <see cref="Name"/>, and an unbounded
/// text body.
/// </remarks>
public class SharedSchema
{
/// <summary>Primary key.</summary>
public int Id { get; set; }
/// <summary>Unique schema name used to reference this entry (e.g. <c>lib:Name</c>).</summary>
public required string Name { get; set; }
/// <summary>
/// Optional scope discriminator for future namespacing/visibility partitioning;
/// <c>null</c> means an unscoped (global) library entry.
/// </summary>
public string? Scope { get; set; }
/// <summary>The JSON Schema document text.</summary>
public required string SchemaJson { get; set; }
}