kopia lustrzana https://github.com/Stopka/fedicrawl
116 wiersze
2.7 KiB
Plaintext
116 wiersze
2.7 KiB
Plaintext
datasource db {
|
|
url = env("POSTGRES_URL")
|
|
provider = "postgresql"
|
|
}
|
|
|
|
generator client {
|
|
provider = "prisma-client-js"
|
|
previewFeatures = ["extendedIndexes","fullTextSearch"]
|
|
}
|
|
|
|
model Tag {
|
|
id String @id @default(uuid()) @db.Uuid
|
|
name String @unique
|
|
feedToTag FeedToTag[]
|
|
}
|
|
|
|
model Email {
|
|
id String @id @default(uuid()) @db.Uuid
|
|
address String
|
|
feed Feed @relation(fields: [feedId], references: [id])
|
|
feedId String @db.Uuid
|
|
|
|
@@index([address])
|
|
}
|
|
|
|
model FeedToTag {
|
|
feed Feed @relation(fields: [feedId], references: [id])
|
|
feedId String @db.Uuid
|
|
tag Tag @relation(fields: [tagId], references: [id])
|
|
tagId String @db.Uuid
|
|
|
|
@@id([feedId, tagId])
|
|
}
|
|
|
|
model Field {
|
|
id String @id @default(uuid()) @db.Uuid
|
|
name String
|
|
value String
|
|
feed Feed @relation(fields: [feedId], references: [id])
|
|
feedId String @db.Uuid
|
|
|
|
@@index([name])
|
|
@@index([value])
|
|
}
|
|
|
|
enum FeedType{
|
|
account
|
|
channel
|
|
}
|
|
|
|
model Feed {
|
|
id String @id @default(uuid()) @db.Uuid
|
|
node Node @relation(fields: [nodeId], references: [id])
|
|
nodeId String @db.Uuid
|
|
foundAt DateTime @default(now())
|
|
refreshedAt DateTime @updatedAt
|
|
name String
|
|
displayName String
|
|
description String
|
|
feedToTags FeedToTag[]
|
|
fields Field[]
|
|
emails Email[]
|
|
followersCount Int?
|
|
followingCount Int?
|
|
statusesCount Int?
|
|
bot Boolean?
|
|
url String
|
|
avatar String?
|
|
locked Boolean
|
|
lastStatusAt DateTime?
|
|
createdAt DateTime
|
|
type FeedType @default(account)
|
|
parentFeedName String?
|
|
parentFeedDomain String?
|
|
fulltext String @default("")
|
|
|
|
@@index([displayName])
|
|
@@index([description])
|
|
@@index([bot])
|
|
@@index([locked])
|
|
@@index([lastStatusAt])
|
|
@@index([createdAt])
|
|
@@index([refreshedAt])
|
|
@@index([parentFeedName,parentFeedDomain])
|
|
@@index([type])
|
|
@@index([fulltext])
|
|
@@unique([name, nodeId])
|
|
}
|
|
|
|
model Node {
|
|
id String @id @default(uuid()) @db.Uuid
|
|
softwareName String?
|
|
softwareVersion String?
|
|
totalUserCount Int?
|
|
monthActiveUserCount Int?
|
|
halfYearActiveUserCount Int?
|
|
statusesCount Int?
|
|
openRegistrations Boolean?
|
|
foundAt DateTime @default(now())
|
|
refreshedAt DateTime?
|
|
refreshAttemptedAt DateTime?
|
|
domain String @unique
|
|
feeds Feed[]
|
|
|
|
@@index([softwareName])
|
|
@@index([softwareVersion])
|
|
@@index([totalUserCount])
|
|
@@index([monthActiveUserCount])
|
|
@@index([halfYearActiveUserCount])
|
|
@@index([statusesCount])
|
|
@@index([openRegistrations])
|
|
@@index([refreshedAt])
|
|
@@index([refreshAttemptedAt])
|
|
@@index([foundAt])
|
|
}
|