spr migrated books, and tester
This commit is contained in:
213
cfg/amar/models/prisma/schema.prisma
Normal file
213
cfg/amar/models/prisma/schema.prisma
Normal file
@@ -0,0 +1,213 @@
|
||||
// Prisma schema - Generated from schema.json
|
||||
//
|
||||
// DO NOT EDIT MANUALLY - Regenerate from schema.json
|
||||
|
||||
generator client {
|
||||
provider = "prisma-client-js"
|
||||
}
|
||||
|
||||
datasource db {
|
||||
provider = "postgresql"
|
||||
url = env("DATABASE_URL")
|
||||
}
|
||||
|
||||
enum Status {
|
||||
PENDING
|
||||
PLANNED
|
||||
BUILDING
|
||||
DEV
|
||||
LIVE
|
||||
READY
|
||||
}
|
||||
|
||||
enum System {
|
||||
ARTERY
|
||||
ALBUM
|
||||
WARD
|
||||
}
|
||||
|
||||
// === Shared Components ===
|
||||
|
||||
/// Runtime environment configuration. Shared across artery, ward.
|
||||
model Nest {
|
||||
id Int @id @default(autoincrement())
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
name String @unique
|
||||
slug String @unique
|
||||
title String
|
||||
status Status? @relation(fields: [statusId], references: [id])
|
||||
statusId Int?
|
||||
config_path String?
|
||||
|
||||
@@map("pawprint_nest")
|
||||
}
|
||||
|
||||
/// Data storage. When generated from Template = 'Book (written)'. Independent in ward/artery.
|
||||
model Larder {
|
||||
id Int @id @default(autoincrement())
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
name String @unique
|
||||
slug String @unique
|
||||
title String
|
||||
status Status? @relation(fields: [statusId], references: [id])
|
||||
statusId Int?
|
||||
source_template String?
|
||||
data_path String?
|
||||
|
||||
@@map("pawprint_larder")
|
||||
}
|
||||
|
||||
// === System-Specific Components ===
|
||||
|
||||
/// Connector (artery). Single responsibility.
|
||||
model Vein {
|
||||
id Int @id @default(autoincrement())
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
name String @unique
|
||||
slug String @unique
|
||||
title String
|
||||
status Status? @relation(fields: [statusId], references: [id])
|
||||
statusId Int?
|
||||
system String @default("artery")
|
||||
|
||||
@@map("pawprint_vein")
|
||||
}
|
||||
|
||||
/// Documentation template (album). Gherkin, BDD patterns.
|
||||
model Template {
|
||||
id Int @id @default(autoincrement())
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
name String @unique
|
||||
slug String @unique
|
||||
title String
|
||||
status Status? @relation(fields: [statusId], references: [id])
|
||||
statusId Int?
|
||||
template_path String?
|
||||
system String @default("album")
|
||||
|
||||
@@map("pawprint_template")
|
||||
}
|
||||
|
||||
/// Execution tool (ward). Test runners, seeders.
|
||||
model Tool {
|
||||
id Int @id @default(autoincrement())
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
name String @unique
|
||||
slug String @unique
|
||||
title String
|
||||
status Status? @relation(fields: [statusId], references: [id])
|
||||
statusId Int?
|
||||
system String @default("ward")
|
||||
|
||||
@@map("pawprint_tool")
|
||||
}
|
||||
|
||||
/// Service monitor (ward). Health checks, status watchers.
|
||||
model Monitor {
|
||||
id Int @id @default(autoincrement())
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
name String @unique
|
||||
slug String @unique
|
||||
title String
|
||||
status Status? @relation(fields: [statusId], references: [id])
|
||||
statusId Int?
|
||||
system String @default("ward")
|
||||
|
||||
@@map("pawprint_monitor")
|
||||
}
|
||||
|
||||
/// Tool cabinet (ward). Contains 0+ tools.
|
||||
model Cabinet {
|
||||
id Int @id @default(autoincrement())
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
name String @unique
|
||||
slug String @unique
|
||||
title String
|
||||
status Status? @relation(fields: [statusId], references: [id])
|
||||
statusId Int?
|
||||
tools Tool[]
|
||||
system String @default("ward")
|
||||
|
||||
@@map("pawprint_cabinet")
|
||||
}
|
||||
|
||||
// === Composed Types ===
|
||||
|
||||
/// Composed data flow (artery). Pulse = Vein + Nest + Larder.
|
||||
model Pulse {
|
||||
id Int @id @default(autoincrement())
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
name String @unique
|
||||
slug String @unique
|
||||
title String
|
||||
status Status? @relation(fields: [statusId], references: [id])
|
||||
statusId Int?
|
||||
vein Vein? @relation(fields: [veinId], references: [id])
|
||||
veinId Int?
|
||||
nest Nest? @relation(fields: [nestId], references: [id])
|
||||
nestId Int?
|
||||
larder Larder? @relation(fields: [larderId], references: [id])
|
||||
larderId Int?
|
||||
system String @default("artery")
|
||||
|
||||
@@map("pawprint_pulse")
|
||||
}
|
||||
|
||||
/// Composed documentation (album). Book = Template + Larder.
|
||||
model Book {
|
||||
id Int @id @default(autoincrement())
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
name String @unique
|
||||
slug String @unique
|
||||
title String
|
||||
status Status? @relation(fields: [statusId], references: [id])
|
||||
statusId Int?
|
||||
template Template? @relation(fields: [templateId], references: [id])
|
||||
templateId Int?
|
||||
larder Larder? @relation(fields: [larderId], references: [id])
|
||||
larderId Int?
|
||||
output_larder Larder? @relation(fields: [output_larderId], references: [id])
|
||||
output_larderId Int?
|
||||
system String @default("album")
|
||||
|
||||
@@map("pawprint_book")
|
||||
}
|
||||
|
||||
/// Composed execution bundle (ward). Table = Cabinet + Nest + Larders.
|
||||
model Table {
|
||||
id Int @id @default(autoincrement())
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
name String @unique
|
||||
slug String @unique
|
||||
title String
|
||||
status Status? @relation(fields: [statusId], references: [id])
|
||||
statusId Int?
|
||||
cabinet Cabinet? @relation(fields: [cabinetId], references: [id])
|
||||
cabinetId Int?
|
||||
nest Nest? @relation(fields: [nestId], references: [id])
|
||||
nestId Int?
|
||||
larders Larder[]
|
||||
system String @default("ward")
|
||||
|
||||
@@map("pawprint_table")
|
||||
}
|
||||
Reference in New Issue
Block a user