npm.io
0.24.0 • Published 1 month ago

@uplo/adapter-prisma

Licence
MIT
Version
0.24.0
Deps
1
Size
29 kB
Vulns
0
Weekly
75
Stars
14

@uplo/adapter-prisma

Prisma ORM adapter for Uplo.

Installation

npm i @uplo/adapter-prisma dataloader

Usage

import { createPrismaAdapter } from '@uplo/adapter-prisma'

const uplo = createUplo({
  adapter: createPrismaAdapter({ prisma }),
})

Prisma schema

model FileAttachment {
  id         String   @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
  name       String   @db.VarChar
  recordType String   @db.VarChar
  recordId   String   @db.Uuid
  blobId     String   @db.Uuid
  createdAt  DateTime @default(now()) @db.Timestamptz(6)

  blob       FileBlob @relation(fields: [blobId], references: [id])

  @@unique([recordType, recordId, name, blobId])
  @@index([recordType, recordId, name])
  @@index([blobId])
}

model FileBlob {
  id            String           @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
  serviceName   String           @db.VarChar
  key           String           @unique @db.VarChar
  fileName      String           @db.VarChar
  contentType   String?          @db.VarChar
  size          BigInt
  checksum      String           @db.VarChar
  metadata      Json             @default("{}")
  createdAt     DateTime         @default(now()) @db.Timestamptz(6)

  attachments   FileAttachment[]
}

Documentation

See the full docs at uplo.js.org.

Keywords