<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Prisma Generator Express Field Guide</title>
  <subtitle>Practical guides to shipping Prisma APIs faster with generated routes, OpenAPI, pagination, hooks, and guard features.</subtitle>
  <link href="https://multipliedtwice.github.io/prisma-generator-express/feed.xml" rel="self" type="application/atom+xml"/>
  <link href="https://multipliedtwice.github.io/prisma-generator-express/" rel="alternate" type="text/html"/>
  <id>https://multipliedtwice.github.io/prisma-generator-express/</id>
  <updated>2026-08-16T00:00:00+07:00</updated>
  
  <entry>
    <title>A whole product API without writing an endpoint: Prisma + generated RPC routes</title>
    <link href="https://multipliedtwice.github.io/prisma-generator-express/articles/generated-prisma-rpc-api/" rel="alternate" type="text/html"/>
    <id>https://multipliedtwice.github.io/prisma-generator-express/articles/generated-prisma-rpc-api/</id>
    <updated>2026-08-16T00:00:00+07:00</updated>
    <summary>Build a generated Prisma HTTP API with guarded shapes, caller variants, projection, pagination, and tenant scope.</summary>
  </entry>
  
  <entry>
    <title>Seven ways to leak a tenant through a query API—and the declarative fix for each</title>
    <link href="https://multipliedtwice.github.io/prisma-generator-express/articles/tenant-query-leaks/" rel="alternate" type="text/html"/>
    <id>https://multipliedtwice.github.io/prisma-generator-express/articles/tenant-query-leaks/</id>
    <updated>2026-08-16T00:00:00+07:00</updated>
    <summary>Find tenant-isolation failures in query shapes, hooks, variants, nested reads, scope maps, and dropped guards.</summary>
  </entry>
  
  <entry>
    <title>force(), true, and the difference between a default and a boundary</title>
    <link href="https://multipliedtwice.github.io/prisma-generator-express/articles/force-and-boundaries/" rel="alternate" type="text/html"/>
    <id>https://multipliedtwice.github.io/prisma-generator-express/articles/force-and-boundaries/</id>
    <updated>2026-08-16T00:00:00+07:00</updated>
    <summary>Understand forced Prisma values, strict positions, merge behavior, validation, scope limits, and direct shape tests.</summary>
  </entry>
  
  <entry>
    <title>One model, five audiences: caller routing with named and parameterized variants</title>
    <link href="https://multipliedtwice.github.io/prisma-generator-express/articles/caller-routing-variants/" rel="alternate" type="text/html"/>
    <id>https://multipliedtwice.github.io/prisma-generator-express/articles/caller-routing-variants/</id>
    <updated>2026-08-16T00:00:00+07:00</updated>
    <summary>Route public and privileged callers to separate declared Prisma contracts without trusting client-selected headers.</summary>
  </entry>
  
  <entry>
    <title>When configuration runs out: hooks that narrow, hooks that enrich, hooks that must not exist</title>
    <link href="https://multipliedtwice.github.io/prisma-generator-express/articles/hooks/" rel="alternate" type="text/html"/>
    <id>https://multipliedtwice.github.io/prisma-generator-express/articles/hooks/</id>
    <updated>2026-08-16T00:00:00+07:00</updated>
    <summary>Place generated-route hooks at the correct lifecycle boundary and keep authorization, shapes, scope, and transport behavior separate.</summary>
  </entry>
  
  <entry>
    <title>Projection is a security boundary: select, include, and the relation that carries no scope</title>
    <link href="https://multipliedtwice.github.io/prisma-generator-express/articles/projection-security/" rel="alternate" type="text/html"/>
    <id>https://multipliedtwice.github.io/prisma-generator-express/articles/projection-security/</id>
    <updated>2026-08-16T00:00:00+07:00</updated>
    <summary>Protect Prisma projections across reads, mutations, nested relations, caller variants, counts, and unguarded paths.</summary>
  </entry>
  
  <entry>
    <title>Reads at scale: pagination totals, POST reads, and streaming a page before it is complete</title>
    <link href="https://multipliedtwice.github.io/prisma-generator-express/articles/reads-at-scale/" rel="alternate" type="text/html"/>
    <id>https://multipliedtwice.github.io/prisma-generator-express/articles/reads-at-scale/</id>
    <updated>2026-08-16T00:00:00+07:00</updated>
    <summary>Verify generated pagination, count strategies, POST reads, progressive SSE events, fallbacks, and hook behavior.</summary>
  </entry>
  
  <entry>
    <title>Writes: forced data, upserts, relation writes, and not deleting the table</title>
    <link href="https://multipliedtwice.github.io/prisma-generator-express/articles/writes/" rel="alternate" type="text/html"/>
    <id>https://multipliedtwice.github.io/prisma-generator-express/articles/writes/</id>
    <updated>2026-08-16T00:00:00+07:00</updated>
    <summary>Guard generated Prisma writes across create, update, bulk operations, upsert, relations, projection, and provider limits.</summary>
  </entry>
  
  <entry>
    <title>Every error this stack throws, and what actually caused it</title>
    <link href="https://multipliedtwice.github.io/prisma-generator-express/articles/error-reference/" rel="alternate" type="text/html"/>
    <id>https://multipliedtwice.github.io/prisma-generator-express/articles/error-reference/</id>
    <updated>2026-08-16T00:00:00+07:00</updated>
    <summary>Look up reproduced prisma-guard and prisma-generator-express errors by message, cause, and correction.</summary>
  </entry>
  
  <entry>
    <title>Silent semantics and testing traps: when no error tells you the shape is wrong</title>
    <link href="https://multipliedtwice.github.io/prisma-generator-express/articles/silent-behaviors/" rel="alternate" type="text/html"/>
    <id>https://multipliedtwice.github.io/prisma-generator-express/articles/silent-behaviors/</id>
    <updated>2026-08-16T00:00:00+07:00</updated>
    <summary>Diagnose successful requests whose forced values, projections, scope, pagination, counts, or test mode behave unexpectedly.</summary>
  </entry>
  
</feed>
