prisma.config.json
general
- Es un objeto que contiene features funcionales a nivel de proyecto
- scalars: Es un array de string que contiene los nombres de los scalars que se van a generar en el proyecto. Lista de scalars:
modules
- Es un objeto que se compone de 2 propiedades.
- La primera es
ignore
y la segunda es partial
.
- En ambos casos son un array de string.
- En el caso de
ignore
se le pasa un array de nombres de los módulos que no se deben generar.
- En el caso de
partial
se le pasa un objeto que contiene un array de nombres de sub carpetas de archivos que se van a generar consecutivamente por actualizaciones en los modelos de prisma.
source
- Aquí se trabaja con los modelos y resolvers que se generar en los módulos basados en prisma. Es un array de objetos con propiedades dinámicas compuesto por los módulos que se generan.
{
"user": {
"model": {
"hide": []
},
"resolvers": {
"public": []
}
}
}
]
-
model
tiene las siguientes propiedades:
hide
: Es un array de strings que recibe los nombres de los campos que no se deben generar en una respuesta de la API. Esto termina generando un @HideField()
en el modelo de NestJS.
@HideField()
password!: string;
field_m2m_name
: Es una propiedad opcional en el que se envía un objeto, las propiedades hacen referencia a las relaciones que existen contra otro modelo. Esta propiedad se usa en la totalidad de veces en modelos m2m de prisma que se han declarado explícitamente.
"field_m2m_name": {
"app": "characters",
"character": "apps"
}
-
resolvers
tiene las siguientes propiedades:
public
: Es un array de strings que recibe los prefijos de los métodos que se van a generar en el resolver. Por defecto todos son privados.
- Los prefijos son:
findUnique
, findMany
, create
, update
, delete
, upsert
- Como resultado, los métodos se generar con un decorator llamado
BypassAuth
que permite que el método sea público.
<!-- prisma.config.json -->
"resolvers": {
"public": [
"findMany"
]
}
<!-- resolver.ts -->
@BypassAuth()
@Query(() => UserPaginated, { nullable: false })
findManyUsers(@Args() args: FindManyUserArgs) {
return this.userService.findMany(args)
}