Prisma Client Extension Examples
This repository contains a number of examples of Prisma Client extensions .
The extensions in this repository are provided as examples only, and without warranty. They are not intended to be used in production environments.
Example
Description
audit-log-context
Provides the current user's ID as context to Postgres audit log triggers
callback-free-itx
Adds a method to start interactive transactions without callbacks
computed-fields
Adds virtual / computed fields to result objects
input-transformation
Transforms the input arguments passed to Prisma Client queries to filter the result set
input-validation
Runs custom validation logic on input arguments passed to mutation methods
instance-methods
Adds Active Record-like methods like save() and delete() to result objects
json-field-types
Uses strongly-typed runtime parsing for data stored in JSON columns
model-filters
Adds reusable filters that can composed into complex where conditions for a model
obfuscated-fields
Prevents sensitive data (e.g. password fields) from being included in results
query-logging
Wraps Prisma Client queries with simple query timing and logging
readonly-client
Creates a client that only allows read operations
retry-transactions
Adds a retry mechanism to transactions with exponential backoff and jitter
row-level-security
Uses Postgres row-level security policies to isolate data in a multi-tenant application
static-methods
Adds custom query methods to Prisma Client models
transformed-fields
Demonstrates how to use result extensions to transform query results and add i18n to an app
exists-fn
Adds an exists function to all your models
update-delete-ignore-not-found
Adds updateIgnoreOnNotFound and deleteIgnoreOnNotFound function to all your models
If you're interested in building an extension you want to share as a package, we recommend using the following starter repository .
Refer to our documentation to learn more about how to create and publish extensions.