Add scouthub-attivit-be
This commit is contained in:
@@ -0,0 +1,223 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE "stato_attivita" (
|
||||
"id" VARCHAR(2) NOT NULL,
|
||||
"nome" TEXT NOT NULL,
|
||||
"data_creazione" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"data_modifica" TIMESTAMP(3) NOT NULL,
|
||||
"utente_modifica" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "stato_attivita_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "tipo_categoria" (
|
||||
"id" TEXT NOT NULL,
|
||||
"nome" TEXT NOT NULL,
|
||||
"data_creazione" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"data_modifica" TIMESTAMP(3) NOT NULL,
|
||||
"utente_modifica" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "tipo_categoria_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "tipo_paragrafo" (
|
||||
"id" TEXT NOT NULL,
|
||||
"nome" TEXT NOT NULL,
|
||||
"data_creazione" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"data_modifica" TIMESTAMP(3) NOT NULL,
|
||||
"utente_modifica" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "tipo_paragrafo_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "attivita" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"nome" TEXT NOT NULL,
|
||||
"autore" TEXT NOT NULL,
|
||||
"padre" INTEGER,
|
||||
"stato" TEXT NOT NULL,
|
||||
"data_creazione" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"data_modifica" TIMESTAMP(3) NOT NULL,
|
||||
"utente_modifica" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "attivita_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "branca" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"nome" TEXT NOT NULL,
|
||||
"inizio_eta" INTEGER,
|
||||
"fine_eta" INTEGER,
|
||||
"colore" VARCHAR(10),
|
||||
"data_creazione" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"data_modifica" TIMESTAMP(3) NOT NULL,
|
||||
"utente_modifica" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "branca_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "branca_attivita" (
|
||||
"attivita_id" INTEGER NOT NULL,
|
||||
"branca_id" INTEGER NOT NULL,
|
||||
"cancellato" BOOLEAN NOT NULL,
|
||||
"data_creazione" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"data_modifica" TIMESTAMP(3) NOT NULL,
|
||||
"utente_modifica" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "branca_attivita_pkey" PRIMARY KEY ("attivita_id","branca_id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "periodo_anno" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"nome" TEXT NOT NULL,
|
||||
"inizio_mese" INTEGER,
|
||||
"fine_mese" INTEGER,
|
||||
"data_creazione" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"data_modifica" TIMESTAMP(3) NOT NULL,
|
||||
"utente_modifica" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "periodo_anno_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "periodo_anno_attivita" (
|
||||
"attivita_id" INTEGER NOT NULL,
|
||||
"periodo_anno_id" INTEGER NOT NULL,
|
||||
"cancellato" BOOLEAN NOT NULL,
|
||||
"data_creazione" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"data_modifica" TIMESTAMP(3) NOT NULL,
|
||||
"utente_modifica" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "periodo_anno_attivita_pkey" PRIMARY KEY ("attivita_id","periodo_anno_id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "paragrafo" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"attivita_id" INTEGER NOT NULL,
|
||||
"corpo" VARCHAR(500) NOT NULL,
|
||||
"autore" TEXT NOT NULL,
|
||||
"tipo" TEXT NOT NULL,
|
||||
"ordine" INTEGER NOT NULL,
|
||||
"data_creazione" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"data_modifica" TIMESTAMP(3) NOT NULL,
|
||||
"utente_modifica" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "paragrafo_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "categoria" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"nome" TEXT NOT NULL,
|
||||
"padre" INTEGER,
|
||||
"tipo" TEXT NOT NULL,
|
||||
"data_creazione" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"data_modifica" TIMESTAMP(3) NOT NULL,
|
||||
"utente_modifica" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "categoria_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "categoria_attivita" (
|
||||
"attivita_id" INTEGER NOT NULL,
|
||||
"categoria_id" INTEGER NOT NULL,
|
||||
"cancellato" BOOLEAN NOT NULL,
|
||||
"data_creazione" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"data_modifica" TIMESTAMP(3) NOT NULL,
|
||||
"utente_modifica" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "categoria_attivita_pkey" PRIMARY KEY ("attivita_id","categoria_id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "materiale" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"nome" TEXT NOT NULL,
|
||||
"proprieta" JSONB,
|
||||
"data_creazione" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"data_modifica" TIMESTAMP(3) NOT NULL,
|
||||
"utente_modifica" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "materiale_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "materiale_attivita" (
|
||||
"attivita_id" INTEGER NOT NULL,
|
||||
"materiale_id" INTEGER NOT NULL,
|
||||
"proprieta" JSONB,
|
||||
"cancellato" BOOLEAN NOT NULL,
|
||||
"data_creazione" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"data_modifica" TIMESTAMP(3) NOT NULL,
|
||||
"utente_modifica" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "materiale_attivita_pkey" PRIMARY KEY ("attivita_id","materiale_id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "categoria_materiale" (
|
||||
"materiale_id" INTEGER NOT NULL,
|
||||
"categoria_id" INTEGER NOT NULL,
|
||||
"cancellato" BOOLEAN NOT NULL,
|
||||
"data_creazione" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"data_modifica" TIMESTAMP(3) NOT NULL,
|
||||
"utente_modifica" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "categoria_materiale_pkey" PRIMARY KEY ("materiale_id","categoria_id")
|
||||
);
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "attivita" ADD CONSTRAINT "attivita_padre_fkey" FOREIGN KEY ("padre") REFERENCES "attivita"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "attivita" ADD CONSTRAINT "attivita_stato_fkey" FOREIGN KEY ("stato") REFERENCES "stato_attivita"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "branca_attivita" ADD CONSTRAINT "branca_attivita_attivita_id_fkey" FOREIGN KEY ("attivita_id") REFERENCES "attivita"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "branca_attivita" ADD CONSTRAINT "branca_attivita_branca_id_fkey" FOREIGN KEY ("branca_id") REFERENCES "branca"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "periodo_anno_attivita" ADD CONSTRAINT "periodo_anno_attivita_attivita_id_fkey" FOREIGN KEY ("attivita_id") REFERENCES "attivita"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "periodo_anno_attivita" ADD CONSTRAINT "periodo_anno_attivita_periodo_anno_id_fkey" FOREIGN KEY ("periodo_anno_id") REFERENCES "periodo_anno"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "paragrafo" ADD CONSTRAINT "paragrafo_attivita_id_fkey" FOREIGN KEY ("attivita_id") REFERENCES "attivita"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "paragrafo" ADD CONSTRAINT "paragrafo_tipo_fkey" FOREIGN KEY ("tipo") REFERENCES "tipo_paragrafo"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "categoria" ADD CONSTRAINT "categoria_padre_fkey" FOREIGN KEY ("padre") REFERENCES "categoria"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "categoria" ADD CONSTRAINT "categoria_tipo_fkey" FOREIGN KEY ("tipo") REFERENCES "tipo_categoria"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "categoria_attivita" ADD CONSTRAINT "categoria_attivita_attivita_id_fkey" FOREIGN KEY ("attivita_id") REFERENCES "attivita"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "categoria_attivita" ADD CONSTRAINT "categoria_attivita_categoria_id_fkey" FOREIGN KEY ("categoria_id") REFERENCES "categoria"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "materiale_attivita" ADD CONSTRAINT "materiale_attivita_attivita_id_fkey" FOREIGN KEY ("attivita_id") REFERENCES "attivita"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "materiale_attivita" ADD CONSTRAINT "materiale_attivita_materiale_id_fkey" FOREIGN KEY ("materiale_id") REFERENCES "materiale"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "categoria_materiale" ADD CONSTRAINT "categoria_materiale_materiale_id_fkey" FOREIGN KEY ("materiale_id") REFERENCES "materiale"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "categoria_materiale" ADD CONSTRAINT "categoria_materiale_categoria_id_fkey" FOREIGN KEY ("categoria_id") REFERENCES "categoria"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
-- AlterTable
|
||||
-- Le righe esistenti (dati di sviluppo/seed, precedenti all'introduzione
|
||||
-- dell'autenticazione Keycloak) non hanno un autore reale: valorizzate con
|
||||
-- stringa vuota, poi il default viene rimosso perche' da qui in avanti
|
||||
-- autoreId e' sempre valorizzato dal token (sub) al momento della creazione.
|
||||
ALTER TABLE "attivita" ADD COLUMN "autore_id" TEXT NOT NULL DEFAULT '';
|
||||
ALTER TABLE "attivita" ALTER COLUMN "autore_id" DROP DEFAULT;
|
||||
@@ -0,0 +1,3 @@
|
||||
# Please do not edit this file manually
|
||||
# It should be added in your version-control system (i.e. Git)
|
||||
provider = "postgresql"
|
||||
@@ -0,0 +1,223 @@
|
||||
generator client {
|
||||
provider = "prisma-client-js"
|
||||
}
|
||||
|
||||
datasource db {
|
||||
provider = "postgresql"
|
||||
url = env("DATABASE_URL")
|
||||
}
|
||||
|
||||
model StatoAttivita {
|
||||
id String @id @db.VarChar(2)
|
||||
nome String
|
||||
dataCreazione DateTime @default(now()) @map("data_creazione")
|
||||
dataModifica DateTime @updatedAt @map("data_modifica")
|
||||
utenteModifica String @map("utente_modifica")
|
||||
|
||||
attivita Attivita[]
|
||||
|
||||
@@map("stato_attivita")
|
||||
}
|
||||
|
||||
model TipoCategoria {
|
||||
id String @id
|
||||
nome String
|
||||
dataCreazione DateTime @default(now()) @map("data_creazione")
|
||||
dataModifica DateTime @updatedAt @map("data_modifica")
|
||||
utenteModifica String @map("utente_modifica")
|
||||
|
||||
categorie Categoria[]
|
||||
|
||||
@@map("tipo_categoria")
|
||||
}
|
||||
|
||||
model TipoParagrafo {
|
||||
id String @id
|
||||
nome String
|
||||
dataCreazione DateTime @default(now()) @map("data_creazione")
|
||||
dataModifica DateTime @updatedAt @map("data_modifica")
|
||||
utenteModifica String @map("utente_modifica")
|
||||
|
||||
paragrafi Paragrafo[]
|
||||
|
||||
@@map("tipo_paragrafo")
|
||||
}
|
||||
|
||||
model Attivita {
|
||||
id Int @id @default(autoincrement())
|
||||
nome String
|
||||
autore String
|
||||
autoreId String @map("autore_id")
|
||||
padreId Int? @map("padre")
|
||||
statoId String @map("stato")
|
||||
dataCreazione DateTime @default(now()) @map("data_creazione")
|
||||
dataModifica DateTime @updatedAt @map("data_modifica")
|
||||
utenteModifica String @map("utente_modifica")
|
||||
|
||||
padre Attivita? @relation("AttivitaPadre", fields: [padreId], references: [id])
|
||||
figli Attivita[] @relation("AttivitaPadre")
|
||||
stato StatoAttivita @relation(fields: [statoId], references: [id])
|
||||
|
||||
paragrafi Paragrafo[]
|
||||
brancaLinks BrancaAttivita[]
|
||||
categoriaLinks CategoriaAttivita[]
|
||||
materialeLinks MaterialeAttivita[]
|
||||
periodoAnnoLinks PeriodoAnnoAttivita[]
|
||||
|
||||
@@map("attivita")
|
||||
}
|
||||
|
||||
model Branca {
|
||||
id Int @id @default(autoincrement())
|
||||
nome String
|
||||
inizioEta Int? @map("inizio_eta")
|
||||
fineEta Int? @map("fine_eta")
|
||||
colore String? @db.VarChar(10)
|
||||
dataCreazione DateTime @default(now()) @map("data_creazione")
|
||||
dataModifica DateTime @updatedAt @map("data_modifica")
|
||||
utenteModifica String @map("utente_modifica")
|
||||
|
||||
attivitaLinks BrancaAttivita[]
|
||||
|
||||
@@map("branca")
|
||||
}
|
||||
|
||||
model BrancaAttivita {
|
||||
attivitaId Int @map("attivita_id")
|
||||
brancaId Int @map("branca_id")
|
||||
cancellato Boolean
|
||||
dataCreazione DateTime @default(now()) @map("data_creazione")
|
||||
dataModifica DateTime @updatedAt @map("data_modifica")
|
||||
utenteModifica String @map("utente_modifica")
|
||||
|
||||
attivita Attivita @relation(fields: [attivitaId], references: [id])
|
||||
branca Branca @relation(fields: [brancaId], references: [id])
|
||||
|
||||
@@id([attivitaId, brancaId])
|
||||
@@map("branca_attivita")
|
||||
}
|
||||
|
||||
model PeriodoAnno {
|
||||
id Int @id @default(autoincrement())
|
||||
nome String
|
||||
inizioMese Int? @map("inizio_mese")
|
||||
fineMese Int? @map("fine_mese")
|
||||
dataCreazione DateTime @default(now()) @map("data_creazione")
|
||||
dataModifica DateTime @updatedAt @map("data_modifica")
|
||||
utenteModifica String @map("utente_modifica")
|
||||
|
||||
attivitaLinks PeriodoAnnoAttivita[]
|
||||
|
||||
@@map("periodo_anno")
|
||||
}
|
||||
|
||||
model PeriodoAnnoAttivita {
|
||||
attivitaId Int @map("attivita_id")
|
||||
periodoAnnoId Int @map("periodo_anno_id")
|
||||
cancellato Boolean
|
||||
dataCreazione DateTime @default(now()) @map("data_creazione")
|
||||
dataModifica DateTime @updatedAt @map("data_modifica")
|
||||
utenteModifica String @map("utente_modifica")
|
||||
|
||||
attivita Attivita @relation(fields: [attivitaId], references: [id])
|
||||
periodoAnno PeriodoAnno @relation(fields: [periodoAnnoId], references: [id])
|
||||
|
||||
@@id([attivitaId, periodoAnnoId])
|
||||
@@map("periodo_anno_attivita")
|
||||
}
|
||||
|
||||
model Paragrafo {
|
||||
id Int @id @default(autoincrement())
|
||||
attivitaId Int @map("attivita_id")
|
||||
corpo String @db.VarChar(500)
|
||||
autore String
|
||||
tipoId String @map("tipo")
|
||||
ordine Int
|
||||
dataCreazione DateTime @default(now()) @map("data_creazione")
|
||||
dataModifica DateTime @updatedAt @map("data_modifica")
|
||||
utenteModifica String @map("utente_modifica")
|
||||
|
||||
attivita Attivita @relation(fields: [attivitaId], references: [id])
|
||||
tipo TipoParagrafo @relation(fields: [tipoId], references: [id])
|
||||
|
||||
@@map("paragrafo")
|
||||
}
|
||||
|
||||
model Categoria {
|
||||
id Int @id @default(autoincrement())
|
||||
nome String
|
||||
padreId Int? @map("padre")
|
||||
tipoId String @map("tipo")
|
||||
dataCreazione DateTime @default(now()) @map("data_creazione")
|
||||
dataModifica DateTime @updatedAt @map("data_modifica")
|
||||
utenteModifica String @map("utente_modifica")
|
||||
|
||||
padre Categoria? @relation("CategoriaPadre", fields: [padreId], references: [id])
|
||||
figli Categoria[] @relation("CategoriaPadre")
|
||||
tipo TipoCategoria @relation(fields: [tipoId], references: [id])
|
||||
|
||||
attivitaLinks CategoriaAttivita[]
|
||||
materialeLinks CategoriaMateriale[]
|
||||
|
||||
@@map("categoria")
|
||||
}
|
||||
|
||||
model CategoriaAttivita {
|
||||
attivitaId Int @map("attivita_id")
|
||||
categoriaId Int @map("categoria_id")
|
||||
cancellato Boolean
|
||||
dataCreazione DateTime @default(now()) @map("data_creazione")
|
||||
dataModifica DateTime @updatedAt @map("data_modifica")
|
||||
utenteModifica String @map("utente_modifica")
|
||||
|
||||
attivita Attivita @relation(fields: [attivitaId], references: [id])
|
||||
categoria Categoria @relation(fields: [categoriaId], references: [id])
|
||||
|
||||
@@id([attivitaId, categoriaId])
|
||||
@@map("categoria_attivita")
|
||||
}
|
||||
|
||||
model Materiale {
|
||||
id Int @id @default(autoincrement())
|
||||
nome String
|
||||
proprieta Json?
|
||||
dataCreazione DateTime @default(now()) @map("data_creazione")
|
||||
dataModifica DateTime @updatedAt @map("data_modifica")
|
||||
utenteModifica String @map("utente_modifica")
|
||||
|
||||
attivitaLinks MaterialeAttivita[]
|
||||
categoriaLinks CategoriaMateriale[]
|
||||
|
||||
@@map("materiale")
|
||||
}
|
||||
|
||||
model MaterialeAttivita {
|
||||
attivitaId Int @map("attivita_id")
|
||||
materialeId Int @map("materiale_id")
|
||||
proprieta Json?
|
||||
cancellato Boolean
|
||||
dataCreazione DateTime @default(now()) @map("data_creazione")
|
||||
dataModifica DateTime @updatedAt @map("data_modifica")
|
||||
utenteModifica String @map("utente_modifica")
|
||||
|
||||
attivita Attivita @relation(fields: [attivitaId], references: [id])
|
||||
materiale Materiale @relation(fields: [materialeId], references: [id])
|
||||
|
||||
@@id([attivitaId, materialeId])
|
||||
@@map("materiale_attivita")
|
||||
}
|
||||
|
||||
model CategoriaMateriale {
|
||||
materialeId Int @map("materiale_id")
|
||||
categoriaId Int @map("categoria_id")
|
||||
cancellato Boolean
|
||||
dataCreazione DateTime @default(now()) @map("data_creazione")
|
||||
dataModifica DateTime @updatedAt @map("data_modifica")
|
||||
utenteModifica String @map("utente_modifica")
|
||||
|
||||
materiale Materiale @relation(fields: [materialeId], references: [id])
|
||||
categoria Categoria @relation(fields: [categoriaId], references: [id])
|
||||
|
||||
@@id([materialeId, categoriaId])
|
||||
@@map("categoria_materiale")
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
import { PrismaClient } from "@prisma/client";
|
||||
|
||||
const prisma = new PrismaClient();
|
||||
|
||||
const UTENTE_MODIFICA = "MANUALE";
|
||||
|
||||
async function main() {
|
||||
await Promise.all(
|
||||
[
|
||||
{ id: "PU", nome: "Pubblicato" },
|
||||
{ id: "BO", nome: "Bozza" },
|
||||
{ id: "PR", nome: "Privato" },
|
||||
].map((stato) =>
|
||||
prisma.statoAttivita.upsert({
|
||||
where: { id: stato.id },
|
||||
update: { nome: stato.nome, utenteModifica: UTENTE_MODIFICA },
|
||||
create: { ...stato, utenteModifica: UTENTE_MODIFICA },
|
||||
})
|
||||
)
|
||||
);
|
||||
|
||||
await Promise.all(
|
||||
[
|
||||
{ id: "A", nome: "Attività" },
|
||||
{ id: "M", nome: "Materiale" },
|
||||
].map((tipo) =>
|
||||
prisma.tipoCategoria.upsert({
|
||||
where: { id: tipo.id },
|
||||
update: { nome: tipo.nome, utenteModifica: UTENTE_MODIFICA },
|
||||
create: { ...tipo, utenteModifica: UTENTE_MODIFICA },
|
||||
})
|
||||
)
|
||||
);
|
||||
|
||||
await Promise.all(
|
||||
[
|
||||
{ id: "TITOLO", nome: "Titolo attività" },
|
||||
{ id: "PARAGRAFO", nome: "Paragrafo attività" },
|
||||
].map((tipo) =>
|
||||
prisma.tipoParagrafo.upsert({
|
||||
where: { id: tipo.id },
|
||||
update: { nome: tipo.nome, utenteModifica: UTENTE_MODIFICA },
|
||||
create: { ...tipo, utenteModifica: UTENTE_MODIFICA },
|
||||
})
|
||||
)
|
||||
);
|
||||
|
||||
await Promise.all(
|
||||
[
|
||||
{ id: 1, nome: "L/C", inizioEta: 8, fineEta: 10, colore: "#FDD835" },
|
||||
{ id: 2, nome: "E/G", inizioEta: 11, fineEta: 16, colore: "#43A047" },
|
||||
{ id: 3, nome: "R/S", inizioEta: 17, fineEta: 21, colore: "#E53935" },
|
||||
{ id: 4, nome: "Co.Ca.", inizioEta: 22, fineEta: 99, colore: "#8E24AA" },
|
||||
].map((branca) =>
|
||||
prisma.branca.upsert({
|
||||
where: { id: branca.id },
|
||||
update: { ...branca, utenteModifica: UTENTE_MODIFICA },
|
||||
create: { ...branca, utenteModifica: UTENTE_MODIFICA },
|
||||
})
|
||||
)
|
||||
);
|
||||
|
||||
await Promise.all(
|
||||
[
|
||||
{ id: 1, nome: "promessa", inizioMese: 1, fineMese: 3 },
|
||||
{ id: 2, nome: "campo estivo", inizioMese: 6, fineMese: 9 },
|
||||
{ id: 3, nome: "campo invernale", inizioMese: 12, fineMese: 1 },
|
||||
].map((periodo) =>
|
||||
prisma.periodoAnno.upsert({
|
||||
where: { id: periodo.id },
|
||||
update: { ...periodo, utenteModifica: UTENTE_MODIFICA },
|
||||
create: { ...periodo, utenteModifica: UTENTE_MODIFICA },
|
||||
})
|
||||
)
|
||||
);
|
||||
|
||||
const categorieSenzaPadre = [
|
||||
{ id: 1, nome: "attività", tipoId: "A" },
|
||||
{ id: 2, nome: "gioco", tipoId: "A" },
|
||||
{ id: 3, nome: "danza", tipoId: "A" },
|
||||
];
|
||||
for (const categoria of categorieSenzaPadre) {
|
||||
await prisma.categoria.upsert({
|
||||
where: { id: categoria.id },
|
||||
update: { ...categoria, padreId: null, utenteModifica: UTENTE_MODIFICA },
|
||||
create: { ...categoria, utenteModifica: UTENTE_MODIFICA },
|
||||
});
|
||||
}
|
||||
|
||||
const categorieConPadre = [
|
||||
{ id: 4, nome: "gioco d'acqua", tipoId: "A", padreId: 2 },
|
||||
{ id: 5, nome: "gioco notturno", tipoId: "A", padreId: 2 },
|
||||
{ id: 6, nome: "grande gioco", tipoId: "A", padreId: 2 },
|
||||
{ id: 7, nome: "torneo", tipoId: "A", padreId: 2 },
|
||||
{ id: 8, nome: "olimpiadi", tipoId: "A", padreId: 2 },
|
||||
{ id: 9, nome: "gioco giungla", tipoId: "A", padreId: 2 },
|
||||
];
|
||||
for (const categoria of categorieConPadre) {
|
||||
await prisma.categoria.upsert({
|
||||
where: { id: categoria.id },
|
||||
update: { ...categoria, utenteModifica: UTENTE_MODIFICA },
|
||||
create: { ...categoria, utenteModifica: UTENTE_MODIFICA },
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
main()
|
||||
.catch((error) => {
|
||||
console.error(error);
|
||||
process.exitCode = 1;
|
||||
})
|
||||
.finally(async () => {
|
||||
await prisma.$disconnect();
|
||||
});
|
||||
Reference in New Issue
Block a user