Class PrismaService

Injectable service that extends PrismaClient and provides access to the Prisma ORM.

Name

PrismaService

Implements

Hierarchy

  • PrismaClient
    • PrismaService

Implements

  • OnModuleInit
  • OnModuleDestroy

Constructors

Properties

$extends: ExtendsHook<"extends", TypeMapCb, DefaultArgs, TypeMap<Args & DefaultArgs>>

Accessors

  • get permission(): PermissionDelegate<ExtArgs>
  • prisma.permission: Exposes CRUD operations for the Permission model.

    • Example usage:
    • 
      
    • // Fetch zero or more Permissions
    • const permissions = await prisma.permission.findMany()
    • 
      

    Returns PermissionDelegate<ExtArgs>

  • get role(): RoleDelegate<ExtArgs>
  • prisma.role: Exposes CRUD operations for the Role model.

    • Example usage:
    • 
      
    • // Fetch zero or more Roles
    • const roles = await prisma.role.findMany()
    • 
      

    Returns RoleDelegate<ExtArgs>

  • get user(): UserDelegate<ExtArgs>
  • prisma.user: Exposes CRUD operations for the User model.

    • Example usage:
    • 
      
    • // Fetch zero or more Users
    • const users = await prisma.user.findMany()
    • 
      

    Returns UserDelegate<ExtArgs>

Methods

  • Connect with the database

    Returns Promise<void>

  • Disconnect from the database

    Returns Promise<void>

  • Executes a prepared raw query and returns the number of affected rows.

    Type Parameters

    • T = unknown

    Parameters

    • query: TemplateStringsArray | Sql
    • Rest ...values: any[]

    Returns PrismaPromise<number>

    Example

    const result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`
    

    Read more in our docs.

  • Executes a raw query and returns the number of affected rows. Susceptible to SQL injections, see documentation.

    Type Parameters

    • T = unknown

    Parameters

    • query: string
    • Rest ...values: any[]

    Returns PrismaPromise<number>

    Example

    const result = await prisma.$executeRawUnsafe('UPDATE User SET cool = $1 WHERE email = $2 ;', true, 'user@email.com')
    

    Read more in our docs.

  • Type Parameters

    • V extends never

    Parameters

    • eventType: V
    • callback: ((event) => void)
        • (event): void
        • Parameters

          • event: V extends "query"
                ? QueryEvent
                : LogEvent

          Returns void

    Returns void

  • Performs a prepared raw query and returns the SELECT data.

    Type Parameters

    • T = unknown

    Parameters

    • query: TemplateStringsArray | Sql
    • Rest ...values: any[]

    Returns PrismaPromise<T>

    Example

    const result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`
    

    Read more in our docs.

  • Performs a raw query and returns the SELECT data. Susceptible to SQL injections, see documentation.

    Type Parameters

    • T = unknown

    Parameters

    • query: string
    • Rest ...values: any[]

    Returns PrismaPromise<T>

    Example

    const result = await prisma.$queryRawUnsafe('SELECT * FROM User WHERE id = $1 OR email = $2;', 1, 'user@email.com')
    

    Read more in our docs.

  • Allows the running of a sequence of read/write operations that are guaranteed to either succeed or fail as a whole.

    Type Parameters

    • P extends PrismaPromise<any>[]

    Parameters

    • arg: [...P[]]
    • Optional options: {
          isolationLevel?: TransactionIsolationLevel;
      }
      • Optional isolationLevel?: TransactionIsolationLevel

    Returns Promise<UnwrapTuple<P>>

    Example

    const [george, bob, alice] = await prisma.$transaction([
    prisma.user.create({ data: { name: 'George' } }),
    prisma.user.create({ data: { name: 'Bob' } }),
    prisma.user.create({ data: { name: 'Alice' } }),
    ])

    Read more in our docs.

  • Type Parameters

    • R

    Parameters

    • fn: ((prisma) => Promise<R>)
        • (prisma): Promise<R>
        • Parameters

          • prisma: Omit<PrismaClient<PrismaClientOptions, never, DefaultArgs>, "$on" | "$connect" | "$disconnect" | "$use" | "$transaction" | "$extends">

          Returns Promise<R>

    • Optional options: {
          isolationLevel?: TransactionIsolationLevel;
          maxWait?: number;
          timeout?: number;
      }
      • Optional isolationLevel?: TransactionIsolationLevel
      • Optional maxWait?: number
      • Optional timeout?: number

    Returns Promise<R>

  • Add a middleware

    Parameters

    • cb: Middleware<any>

    Returns void

    Deprecated

    since 4.16.0. For new code, prefer client extensions instead.

    See

    https://pris.ly/d/extensions

  • Lifecycle hook that runs on application shutdown. Disconnects the PrismaClient from the database.

    Returns Promise<void>

    Async

    Function

    Name

    onModuleDestroy

  • Lifecycle hook that runs on application startup. Connects the PrismaClient to the database.

    Returns Promise<void>

    Async

    Function

    Name

    onModuleInit

Generated using TypeDoc