The aim of this proposal is to provide a sneak-peek for the new feature that will be added to Prisma Util v2.0. In this issue, I'll be outlining the process of how Middleware Context can be used for passing down metadata to middleware.
Introduction
This feature will be released under the middlewareContext flag and will require manual activation. Because this feature uses Project Toolchain's Generation API, it will create the typings necessary for configuring context.
Code Example
prisma.user.findMany({
where: {
name: "David"
},
// The new Context API
context: {
anyKey: "anyValue",
anotherKey: 2
}
});
This feature makes use of Project Toolchain's Middleware API and defines a middleware called contextRemover. To use it, you have to import it like this and add it to your Prisma middleware chain:
import contextRemover from "prisma-util/toolchain/middleware/middlewareContext";
prisma.$use(contextRemover(prisma));
And that's it! Now everything will function correctly whenever you create a new model.
Caveat
This context remover middleware must be the last one in the chain, otherwise you'll be removing the context from further middleware. This must be done to ensure that the context parameter isn't sent to Prisma.
Scope
The aim of this proposal is to provide a sneak-peek for the new feature that will be added to Prisma Util v2.0. In this issue, I'll be outlining the process of how Middleware Context can be used for passing down metadata to middleware.
Introduction
This feature will be released under the
middlewareContext
flag and will require manual activation. Because this feature uses Project Toolchain's Generation API, it will create the typings necessary for configuring context.Code Example
Then, in your middleware:
Middleware
This feature makes use of Project Toolchain's Middleware API and defines a middleware called
contextRemover
. To use it, you have to import it like this and add it to your Prisma middleware chain:And that's it! Now everything will function correctly whenever you create a new model.
Caveat
This context remover middleware must be the last one in the chain, otherwise you'll be removing the context from further middleware. This must be done to ensure that the
context
parameter isn't sent to Prisma.