docs(cache): remove static dataset invalidation
This commit is contained in:
@@ -103,7 +103,7 @@
|
||||
<rect class="entity-mask" width="200" height="224" rx="8" /><rect class="entity focal" width="200" height="224" rx="8" />
|
||||
<rect class="tag" x="12" y="12" width="48" height="16" rx="4" /><text class="tag-text" x="36" y="23" text-anchor="middle">ROOT</text>
|
||||
<text class="name" x="12" y="48">payment_sessions</text><line class="divider" x1="12" y1="60" x2="188" y2="60" />
|
||||
<text class="field" x="12" y="80"># id bigint</text><text class="field" x="12" y="96">→ merchant_id</text><text class="field" x="12" y="112">→ terminal_id</text><text class="field" x="12" y="128">source_session_key UK</text><text class="field" x="12" y="144">amount_rial</text><text class="field" x="12" y="160">fee_amount_rial</text><text class="field" x="12" y="176">session_status</text><text class="field" x="12" y="192">created_at / expires_at</text><text class="field" x="12" y="208">→ import_run_id nullable</text>
|
||||
<text class="field" x="12" y="80"># id bigint</text><text class="field" x="12" y="96">→ merchant_id</text><text class="field" x="12" y="112">→ terminal_id</text><text class="field" x="12" y="128">source_session_key UK</text><text class="field" x="12" y="144">amount_rial</text><text class="field" x="12" y="160">fee_amount_rial</text><text class="field" x="12" y="176">session_status</text><text class="field" x="12" y="192">created_at / expires_at</text><text class="field" x="12" y="208">→ import_run_id</text>
|
||||
</g>
|
||||
<g transform="translate(1020 32)">
|
||||
<rect class="entity-mask" width="220" height="256" rx="8" /><rect class="entity" width="220" height="256" rx="8" />
|
||||
@@ -134,17 +134,15 @@
|
||||
</figure>
|
||||
|
||||
<figure>
|
||||
<figcaption>Identity, audit, reporting calendar, and cache revisions</figcaption>
|
||||
<figcaption>Identity, audit, and reporting calendar</figcaption>
|
||||
<svg viewBox="0 0 1280 600" role="img" aria-labelledby="ops-erd-title ops-erd-desc">
|
||||
<title id="ops-erd-title">Operational physical entity relationships</title>
|
||||
<desc id="ops-erd-desc">Merchants own demo users and merchant analytics revisions; users own server-side sessions, 30-day authentication audit events, and 90-day analytics access audit events; categories own cohort revisions; the reporting calendar remains an independent date dimension.</desc>
|
||||
<desc id="ops-erd-desc">Merchants own demo users; users own server-side sessions, 30-day authentication audit events, and 90-day analytics access audit events; the reporting calendar remains an independent date dimension. The immutable MVP needs no cache revision entities.</desc>
|
||||
|
||||
<path class="edge edge-accent" d="M240 128 H320" /><text class="cardinality" x="248" y="120">1</text><text class="cardinality" x="304" y="120">N</text>
|
||||
<path class="edge" d="M520 112 H600" /><text class="cardinality" x="528" y="104">1</text><text class="cardinality" x="584" y="104">N</text>
|
||||
<path class="edge" d="M420 208 V320" /><text class="cardinality" x="432" y="224">1</text><text class="cardinality" x="432" y="308">N</text>
|
||||
<path class="edge" d="M520 176 H560 V256 H1010 V224" /><text class="cardinality" x="528" y="168">1</text><text class="cardinality" x="1022" y="240">N</text>
|
||||
<path class="edge" d="M140 192 V320" /><text class="cardinality" x="152" y="208">1</text><text class="cardinality" x="152" y="308">1</text>
|
||||
<path class="edge" d="M820 384 H900" /><text class="cardinality" x="828" y="376">1</text><text class="cardinality" x="884" y="376">N</text>
|
||||
|
||||
<g transform="translate(40 64)">
|
||||
<rect class="entity-mask" width="200" height="128" rx="8" /><rect class="entity focal" width="200" height="128" rx="8" />
|
||||
@@ -176,31 +174,19 @@
|
||||
<text class="name" x="12" y="48">analytics_access_audit_events</text><line class="divider" x1="12" y1="60" x2="208" y2="60" />
|
||||
<text class="field" x="12" y="80"># id bigint</text><text class="field" x="12" y="96">→ merchant_user_id + merchant_id</text><text class="field" x="12" y="112">event_type / result</text><text class="field" x="12" y="128">filter_fingerprint?</text><text class="field" x="12" y="144">row_count? / byte_count?</text><text class="field" x="12" y="160">expires_at (90 days)</text>
|
||||
</g>
|
||||
<g transform="translate(40 320)">
|
||||
<rect class="entity-mask" width="200" height="128" rx="8" /><rect class="entity" width="200" height="128" rx="8" />
|
||||
<rect class="tag" x="12" y="12" width="48" height="16" rx="4" /><text class="tag-text" x="36" y="23" text-anchor="middle">STATE</text>
|
||||
<text class="name" x="12" y="48">merchant_analytics_revisions</text><line class="divider" x1="12" y1="60" x2="188" y2="60" />
|
||||
<text class="field" x="12" y="80"># → merchant_id</text><text class="field" x="12" y="96">source_revision</text><text class="field" x="12" y="112">updated_at</text>
|
||||
</g>
|
||||
<g transform="translate(600 320)">
|
||||
<rect class="entity-mask" width="220" height="128" rx="8" /><rect class="entity" width="220" height="128" rx="8" />
|
||||
<rect class="tag" x="12" y="12" width="48" height="16" rx="4" /><text class="tag-text" x="36" y="23" text-anchor="middle">ROOT</text>
|
||||
<text class="name" x="12" y="48">merchant_categories</text><line class="divider" x1="12" y1="60" x2="208" y2="60" />
|
||||
<text class="field" x="12" y="80"># id bigint</text><text class="field" x="12" y="96">source_category_key UK</text><text class="field" x="12" y="112">title_fa</text>
|
||||
</g>
|
||||
<g transform="translate(900 320)">
|
||||
<rect class="entity-mask" width="220" height="128" rx="8" /><rect class="entity" width="220" height="128" rx="8" />
|
||||
<rect class="tag" x="12" y="12" width="48" height="16" rx="4" /><text class="tag-text" x="36" y="23" text-anchor="middle">STATE</text>
|
||||
<text class="name" x="12" y="48">cohort_analytics_revisions</text><line class="divider" x1="12" y1="60" x2="208" y2="60" />
|
||||
<text class="field" x="12" y="80"># → category_id</text><text class="field" x="12" y="96">source_revision</text><text class="field" x="12" y="112">updated_at</text>
|
||||
</g>
|
||||
<g transform="translate(900 480)">
|
||||
<rect class="entity-mask" width="220" height="96" rx="8" /><rect class="entity" width="220" height="96" rx="8" />
|
||||
<rect class="tag" x="12" y="12" width="48" height="16" rx="4" /><text class="tag-text" x="36" y="23" text-anchor="middle">DIM</text>
|
||||
<text class="name" x="12" y="48">calendar_dates</text><line class="divider" x1="12" y1="60" x2="208" y2="60" /><text class="field" x="12" y="80"># gregorian_date + Jalali periods</text>
|
||||
</g>
|
||||
</svg>
|
||||
<div class="legend"><span><b>Identity</b> is demo-sized and replaceable by SSO</span><span><b>Revision</b> rows select cache namespaces</span><span><b>Calendar</b> contains no holiday dimension</span></div>
|
||||
<div class="legend"><span><b>Identity</b> is demo-sized and replaceable by SSO</span><span><b>Dataset</b> snapshot comes from the completed import run</span><span><b>Calendar</b> contains no holiday dimension</span></div>
|
||||
</figure>
|
||||
|
||||
<p class="note">Typography note: this standalone backend document uses a system fallback to remain self-contained. The product UI uses the licensed Git-tracked Iran Yekan X FaNum variable webfont. Diagram palette follows the approved ZarinPal-inspired light/dark semantic tokens.</p>
|
||||
|
||||
Reference in New Issue
Block a user