domain-reg / prisma /schema.prisma
Hdhdjdjd dhjdbd hjdhd
Deploy Zone.ID Domain API 2025-12-07
3d8743c
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model Account {
id String @id @default(cuid())
email String @unique
passwordHash String
refreshToken String?
name String?
phone String?
autzorgId String?
zoneIdUserId String?
status String @default("active")
domainCount Int @default(0)
lastDomainRegistration DateTime?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
domains Domain[]
}
model Domain {
id String @id @default(cuid())
zoneIdDomainId String @unique
subdomain String @unique
suffix String
mode String @default("dns_record")
usageType String?
usageDescription String?
status String @default("active")
plan String @default("free")
expiresAt DateTime?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
accountId String
account Account @relation(fields: [accountId], references: [id])
dnsRecords DnsRecord[]
@@index([accountId])
@@index([suffix])
}
model DnsRecord {
id String @id @default(cuid())
zoneIdRecordId String @unique
type String
hostname String
content String
note String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
domainId String
domain Domain @relation(fields: [domainId], references: [id], onDelete: Cascade)
@@index([domainId])
@@index([type])
}
model ApiKey {
id String @id @default(cuid())
key String @unique
name String
isActive Boolean @default(true)
createdAt DateTime @default(now())
lastUsedAt DateTime?
}
model DomainJob {
id String @id @default(cuid())
subdomain String
suffix String
usageType String?
usageDescription String?
status String @default("pending")
statusMessage String?
error String?
domainId String?
accountId String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
completedAt DateTime?
@@index([status])
@@index([createdAt])
}