Skip to main content
Glama

Prisma MCP Server

Official
by prisma
Apache 2.0
4
44,213
  • Linux
  • Apple
validation.ts4.1 kB
import { expectTypeOf } from 'expect-type' import testMatrix from './_matrix' // @ts-ignore import type { Prisma as PrismaNamespace, PrismaClient } from './generated/prisma/client' declare let prisma: PrismaClient // arbitrarily chose delete operation to test errors for invalid inputs testMatrix.setupTestSuite((_0, _1, { runtime }) => { testIf(runtime !== 'edge')('where and no keys provided', async () => { const result = prisma.user.delete({ // @ts-expect-error where: {}, }) await expect(result).rejects.toMatchPrismaErrorInlineSnapshot(` " Invalid \`prisma.user.delete()\` invocation in /client/tests/functional/extended-where/validation.ts:0:0 XX // arbitrarily chose delete operation to test errors for invalid inputs XX testMatrix.setupTestSuite((_0, _1, { runtime }) => { XX testIf(runtime !== 'edge')('where and no keys provided', async () => { → XX const result = prisma.user.delete({ where: { ? id?: String, ? referralId?: String, ? paymentId?: String, ? AND?: UserWhereInput | UserWhereInput[], ? OR?: UserWhereInput[], ? NOT?: UserWhereInput | UserWhereInput[], ? posts?: PostListRelationFilter, ? profile?: ProfileNullableScalarRelationFilter | ProfileWhereInput | Null, ? payment?: PaymentNullableScalarRelationFilter | PaymentWhereInput | Null } }) Argument \`where\` of type UserWhereUniqueInput needs at least one of \`id\`, \`referralId\` or \`paymentId\` arguments. Available options are marked with ?." `) }) testIf(runtime !== 'edge')('where and missing unique keys', async () => { const result = prisma.user.delete({ // @ts-expect-error where: { profile: {}, }, }) await expect(result).rejects.toMatchPrismaErrorInlineSnapshot(` " Invalid \`prisma.user.delete()\` invocation in /client/tests/functional/extended-where/validation.ts:0:0 XX }) XX XX testIf(runtime !== 'edge')('where and missing unique keys', async () => { → XX const result = prisma.user.delete({ where: { profile: {}, ? id?: String, ? referralId?: String, ? paymentId?: String, ? AND?: UserWhereInput | UserWhereInput[], ? OR?: UserWhereInput[], ? NOT?: UserWhereInput | UserWhereInput[], ? posts?: PostListRelationFilter, ? payment?: PaymentNullableScalarRelationFilter | PaymentWhereInput | Null } }) Argument \`where\` of type UserWhereUniqueInput needs at least one of \`id\`, \`referralId\` or \`paymentId\` arguments. Available options are marked with ?." `) }) test('AtLeast type with optional object', () => { type T = PrismaNamespace.AtLeast<{ a?: string; b?: string; c?: string }, 'a'> expectTypeOf<T>().toHaveProperty('a').toMatchTypeOf<string | undefined>() expectTypeOf<T>().toHaveProperty('b').toMatchTypeOf<string | undefined>() expectTypeOf<T>().toHaveProperty('c').toMatchTypeOf<string | undefined>() expectTypeOf<{ a: string | undefined; b?: string; c?: string }>().toMatchTypeOf<T>() expectTypeOf<{ a: string; b?: string; c?: string }>().toMatchTypeOf<T>() expectTypeOf<T>().toMatchTypeOf< { a: string; b?: string; c?: string } | { a: string | undefined; b?: string; c?: string } >() }) test('AtLeast type with optional object and no keys', () => { type T = PrismaNamespace.AtLeast<{ a?: string; b?: string; c?: string }, never> expectTypeOf<T>().toHaveProperty('a').toMatchTypeOf<string | undefined>() expectTypeOf<T>().toHaveProperty('b').toMatchTypeOf<string | undefined>() expectTypeOf<T>().toHaveProperty('c').toMatchTypeOf<string | undefined>() expectTypeOf<T>().toMatchTypeOf<{ a?: string; b?: string; c?: string }>() }) })

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/prisma/prisma'

If you have feedback or need assistance with the MCP directory API, please join our Discord server