Cleanup prisma
This commit is contained in:
parent
9469d8c892
commit
1343d16c1a
3 changed files with 0 additions and 132 deletions
|
|
@ -1,43 +0,0 @@
|
||||||
import { RefObject, useEffect, useState } from "react";
|
|
||||||
|
|
||||||
interface Args extends IntersectionObserverInit {
|
|
||||||
freezeOnceVisible?: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
function useIntersectionObserver(
|
|
||||||
elementRef: RefObject<Element>,
|
|
||||||
{
|
|
||||||
threshold = 0,
|
|
||||||
root = null,
|
|
||||||
rootMargin = "0%",
|
|
||||||
freezeOnceVisible = false,
|
|
||||||
}: Args
|
|
||||||
): IntersectionObserverEntry | undefined {
|
|
||||||
const [entry, setEntry] = useState<IntersectionObserverEntry>();
|
|
||||||
|
|
||||||
const frozen = entry?.isIntersecting && freezeOnceVisible;
|
|
||||||
|
|
||||||
const updateEntry = ([entry]: IntersectionObserverEntry[]): void => {
|
|
||||||
setEntry(entry);
|
|
||||||
};
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
const node = elementRef?.current; // DOM Ref
|
|
||||||
const hasIOSupport = !!window.IntersectionObserver;
|
|
||||||
|
|
||||||
if (!hasIOSupport || frozen || !node) return;
|
|
||||||
|
|
||||||
const observerParams = { threshold, root, rootMargin };
|
|
||||||
const observer = new IntersectionObserver(updateEntry, observerParams);
|
|
||||||
|
|
||||||
observer.observe(node);
|
|
||||||
|
|
||||||
return () => observer.disconnect();
|
|
||||||
|
|
||||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
||||||
}, [threshold, root, rootMargin, frozen]);
|
|
||||||
|
|
||||||
return entry;
|
|
||||||
}
|
|
||||||
|
|
||||||
export default useIntersectionObserver;
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
import { PrismaClient } from "@prisma/client";
|
|
||||||
|
|
||||||
declare global {
|
|
||||||
var prisma: PrismaClient | undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
const prisma = global.prisma || new PrismaClient();
|
|
||||||
|
|
||||||
if (process.env.NODE_ENV === "development") global.prisma = prisma;
|
|
||||||
|
|
||||||
export { prisma };
|
|
||||||
|
|
@ -1,78 +0,0 @@
|
||||||
datasource db {
|
|
||||||
provider = "postgresql"
|
|
||||||
url = env("POSTGRES_PRISMA_URL") // uses connection pooling
|
|
||||||
directUrl = env("POSTGRES_URL_NON_POOLING") // uses a direct connection
|
|
||||||
shadowDatabaseUrl = env("POSTGRES_URL_NON_POOLING") // used for migrations
|
|
||||||
}
|
|
||||||
|
|
||||||
generator client {
|
|
||||||
provider = "prisma-client-js"
|
|
||||||
previewFeatures = ["jsonProtocol"]
|
|
||||||
}
|
|
||||||
|
|
||||||
model Chat {
|
|
||||||
id String @id @default(cuid())
|
|
||||||
createdAt DateTime @default(now())
|
|
||||||
updatedAt DateTime @updatedAt
|
|
||||||
title String
|
|
||||||
messages Message[]
|
|
||||||
userId String?
|
|
||||||
}
|
|
||||||
|
|
||||||
model Message {
|
|
||||||
id String @id @default(cuid())
|
|
||||||
createdAt DateTime @default(now())
|
|
||||||
updatedAt DateTime @updatedAt
|
|
||||||
content String
|
|
||||||
role String
|
|
||||||
chat Chat @relation(fields: [chatId], references: [id], onDelete: Cascade)
|
|
||||||
chatId String
|
|
||||||
}
|
|
||||||
|
|
||||||
model Account {
|
|
||||||
id String @id @default(cuid())
|
|
||||||
userId String
|
|
||||||
type String
|
|
||||||
provider String
|
|
||||||
providerAccountId String
|
|
||||||
refresh_token String? @db.Text
|
|
||||||
access_token String? @db.Text
|
|
||||||
expires_at Int?
|
|
||||||
token_type String?
|
|
||||||
scope String?
|
|
||||||
id_token String? @db.Text
|
|
||||||
session_state String?
|
|
||||||
|
|
||||||
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
|
||||||
|
|
||||||
@@unique([provider, providerAccountId])
|
|
||||||
@@index([userId])
|
|
||||||
}
|
|
||||||
|
|
||||||
model Session {
|
|
||||||
id String @id @default(cuid())
|
|
||||||
sessionToken String @unique
|
|
||||||
userId String
|
|
||||||
expires DateTime
|
|
||||||
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
|
||||||
|
|
||||||
@@index([userId])
|
|
||||||
}
|
|
||||||
|
|
||||||
model User {
|
|
||||||
id String @id @default(cuid())
|
|
||||||
name String?
|
|
||||||
email String? @unique
|
|
||||||
emailVerified DateTime?
|
|
||||||
image String?
|
|
||||||
accounts Account[]
|
|
||||||
sessions Session[]
|
|
||||||
}
|
|
||||||
|
|
||||||
model VerificationToken {
|
|
||||||
identifier String
|
|
||||||
token String @unique
|
|
||||||
expires DateTime
|
|
||||||
|
|
||||||
@@unique([identifier, token])
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue