diff --git a/.env.example b/.env.example index b80a890..487be40 100644 --- a/.env.example +++ b/.env.example @@ -2,11 +2,11 @@ POSTGRES_USER=postgres POSTGRES_PASSWORD=postgres -# Database di scouthub-attivita-be. Sulla stessa istanza vivono anche -# scouthub_home / scouthub_magazzino / scouthub_eventi (creati da db-init/ -# al primo avvio), usati rispettivamente da home-backend/magazzino-backend/ +# Database di scouthub-home-be. Sulla stessa istanza vivono anche +# scouthub / scouthub_magazzino / scouthub_eventi (creati da db-init/ +# al primo avvio), usati rispettivamente da attivita-backend/magazzino-backend/ # eventi-backend con le stesse credenziali POSTGRES_USER/POSTGRES_PASSWORD. -POSTGRES_DB=scouthub +POSTGRES_DB=scouthub_home POSTGRES_PORT=5432 KEYCLOAK_DB_PASSWORD=keycloak_change_me diff --git a/db-init/init-home-db.sql b/db-init/init-home-db.sql deleted file mode 100644 index 1b2b764..0000000 --- a/db-init/init-home-db.sql +++ /dev/null @@ -1,5 +0,0 @@ --- scouthub-home-be usa un database separato sulla stessa istanza Postgres di "db". --- Eseguito solo al primo avvio del container (volume dati vuoto). -SELECT 'CREATE DATABASE scouthub_home' -WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'scouthub_home') -\gexec diff --git a/docker-compose.yml b/docker-compose.yml index 41380d1..ea2e2cc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,7 +10,7 @@ services: - "${POSTGRES_PORT}:5432" volumes: - scouthub_db_data:/var/lib/postgresql/data - # Crea anche i DB scouthub_home / scouthub_magazzino / scouthub_eventi + # Crea anche i DB scouthub / scouthub_magazzino / scouthub_eventi # usati dagli altri backend, sulla stessa istanza (solo al primo init). - ./db-init:/docker-entrypoint-initdb.d:ro healthcheck: @@ -26,7 +26,7 @@ services: environment: PORT: ${ATTIVITA_BACKEND_PORT} CORS_ORIGIN: http://localhost:${ATTIVITA_FRONTEND_PORT} - DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}?schema=public + DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/scouthub?schema=public KEYCLOAK_BASE_URL: http://keycloak:8080 KEYCLOAK_REALM: scouthub ports: @@ -55,7 +55,7 @@ services: restart: unless-stopped environment: PORT: ${HOME_BACKEND_PORT} - DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/scouthub_home?schema=public + DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}?schema=public FRONTEND_BASE_URL: http://localhost:${HOME_FRONTEND_PORT} # Rete interna Docker: la validazione del JWT (JWKS) non controlla l'issuer, # quindi non serve che coincida con l'hostname visto dal browser (localhost:8081). diff --git a/scouthub-attivita-be/DDL/1-creazioneDB.sql b/scouthub-attivita-be/DDL/1-creazioneDB.sql deleted file mode 100644 index 0ac004f..0000000 --- a/scouthub-attivita-be/DDL/1-creazioneDB.sql +++ /dev/null @@ -1,240 +0,0 @@ --- **************************************************** stato_attivita - -create table stato_attivita -( - id varchar(2) not null primary key, - nome varchar(250) not null, - data_creazione datetime not null, - data_modifica datetime not null, - utente_modifica varchar(50) not null -); - --- **************************************************** tipo_categoria - -create table tipo_categoria -( - id varchar(2) not null primary key, - nome varchar(250) not null, - data_creazione datetime not null, - data_modifica datetime not null, - utente_modifica varchar(50) not null -); - --- **************************************************** tipo_paragrafo - -create table tipo_paragrafo -( - id varchar(10) not null primary key, - nome varchar(250) not null, - data_creazione datetime not null, - data_modifica datetime not null, - utente_modifica varchar(50) not null -); - --- **************************************************** attivita - -create table attivita -( - id int not null primary key auto_increment, - nome varchar(250) not null, - autore varchar(250) not null, - padre int null, - stato varchar(2) not null, - data_creazione datetime not null, - data_modifica datetime not null, - utente_modifica varchar(50) not null, - - constraint fk_attivita_attivita foreign key (padre) references attivita (id), - constraint fk_attivita_stato_attivita foreign key (stato) references stato_attivita (id) -); - -create index fk_attivita_attivita_idx on attivita (padre); - -create index fk_attivita_stato_attivita_idx on attivita (stato); - --- **************************************************** branca - -create table branca -( - id int not null primary key auto_increment, - nome varchar(250) not null, - inizio_eta int null, - fine_eta int null, - colore varchar(10) null, - data_creazione datetime not null, - data_modifica datetime not null, - utente_modifica varchar(50) not null -); - --- **************************************************** branca_attivita - -create table branca_attivita -( - attivita_id int not null, - branca_id int not null, - cancellato tinyint not null, - data_creazione datetime not null, - data_modifica datetime not null, - utente_modifica varchar(50) not null, - - primary key (attivita_id, branca_id), - - constraint fk_branca_attivita_attivita foreign key (attivita_id) references attivita (id), - constraint fk_branca_attivita_branca foreign key (branca_id) references branca (id) -); - -create index fk_branca_attivita_attivita_idx on branca_attivita (attivita_id); - -create index fk_branca_attivita_branca_idx on branca_attivita (branca_id); - --- **************************************************** periodo_anno - -create table periodo_anno -( - id int not null primary key auto_increment, - nome varchar(250) not null, - inizio_mese int null, - fine_mese int null, - data_creazione datetime not null, - data_modifica datetime not null, - utente_modifica varchar(50) not null -); - --- **************************************************** periodo_anno_attivita - -create table periodo_anno_attivita -( - attivita_id int not null, - periodo_anno_id int not null, - cancellato tinyint not null, - data_creazione datetime not null, - data_modifica datetime not null, - utente_modifica varchar(50) not null, - - primary key (attivita_id, periodo_anno_id), - - constraint fk_periodo_anno_attivita_attivita foreign key (attivita_id) references attivita (id), - constraint fk_periodo_anno_attivita_periodo_anno foreign key (periodo_anno_id) references periodo_anno (id) -); - -create index fk_periodo_anno_attivita_attivita_idx on periodo_anno_attivita (attivita_id); - -create index fkperiodo_anno_attivita_periodo_anno_idx on periodo_anno_attivita (periodo_anno_id); - --- **************************************************** paragrafo - -create table paragrafo -( - id int not null primary key auto_increment, - attivita_id int not null, - corpo varchar(500) not null, - autore varchar(250) not null, - tipo varchar(10) not null, - ordine int not null, - data_creazione datetime not null, - data_modifica datetime not null, - utente_modifica varchar(50) not null, - - constraint fk_paragrafo_tipo_paragrafo foreign key (tipo) references tipo_paragrafo (id), - constraint fk_paragrafo_attivita foreign key (attivita_id) references attivita (id) -); - -create index fk_paragrafo_tipo_paragrafo_idx on paragrafo (tipo); - --- **************************************************** categoria - -create table categoria -( - id int not null primary key auto_increment, - nome varchar(250) not null, - padre int null, - tipo varchar(2) not null, - data_creazione datetime not null, - data_modifica datetime not null, - utente_modifica varchar(50) not null, - - constraint fk_categoria_categoria foreign key (padre) references categoria (id), - constraint fk_categoria_tipo_categoria foreign key (tipo) references tipo_categoria (id) -); - -create index fk_categoria_categoria_idx on categoria (padre); - -create index fk_categoria_tipo_categoria_idx on categoria (tipo); - --- **************************************************** categoria_attivita - -create table categoria_attivita -( - attivita_id int not null, - categoria_id int not null, - cancellato tinyint not null, - data_creazione datetime not null, - data_modifica datetime not null, - utente_modifica varchar(50) not null, - - primary key (attivita_id, categoria_id), - - constraint fk_categoria_attivita_attivita foreign key (attivita_id) references attivita (id), - constraint fk_categoria_attivita_categoria foreign key (categoria_id) references categoria (id) -); - -create index fk_categoria_attivita_attivita_idx on categoria_attivita (attivita_id); - -create index fk_categoria_attivita_categoria_idx on categoria_attivita (categoria_id); - --- **************************************************** materiale - -create table materiale -( - id int not null primary key auto_increment, - nome varchar(250) not null, - proprieta json, - data_creazione datetime not null, - data_modifica datetime not null, - utente_modifica varchar(50) not null -); - --- **************************************************** materiale_attivita - -create table materiale_attivita -( - attivita_id int not null, - materiale_id int not null, - proprieta json null, - cancellato tinyint not null, - data_creazione datetime not null, - data_modifica datetime not null, - utente_modifica varchar(50) not null, - - primary key (attivita_id, materiale_id), - - constraint fk_materiale_attivita_attivita foreign key (attivita_id) references attivita (id), - constraint fk_materiale_attivita_materiale foreign key (materiale_id) references materiale (id) -); - -create index fk_materiale_attivita_attivita_idx on materiale_attivita (attivita_id); - -create index fk_materiale_attivita_materiale_idx on materiale_attivita (materiale_id); - --- **************************************************** categoria_materiale - -create table categoria_materiale -( - materiale_id int not null, - categoria_id int not null, - cancellato tinyint not null, - data_creazione datetime not null, - data_modifica datetime not null, - utente_modifica varchar(50) not null, - - primary key (materiale_id, categoria_id), - - constraint fk_categoria_materiale_categoria foreign key (categoria_id) references categoria (id), - constraint fk_categoria_materiale_materiale foreign key (materiale_id) references materiale (id) -); - -create index fk_categoria_materiale_categoria_idx on categoria_materiale (categoria_id); - -create index fk_categoria_materiale_materiale_idx on categoria_materiale (materiale_id); - - diff --git a/scouthub-attivita-be/DDL/2-insertStatoAttivita.sql b/scouthub-attivita-be/DDL/2-insertStatoAttivita.sql deleted file mode 100644 index e530a04..0000000 --- a/scouthub-attivita-be/DDL/2-insertStatoAttivita.sql +++ /dev/null @@ -1,3 +0,0 @@ -INSERT INTO scouthub.stato_attivita (id, nome, data_creazione, data_modifica, utente_modifica) VALUES ('PU', 'Pubblicato', sysdate(), sysdate(), 'MANUALE'); -INSERT INTO scouthub.stato_attivita (id, nome, data_creazione, data_modifica, utente_modifica) VALUES ('BO', 'Bozza', sysdate(), sysdate(), 'MANUALE'); -INSERT INTO scouthub.stato_attivita (id, nome, data_creazione, data_modifica, utente_modifica) VALUES ('PR', 'Privato', sysdate(), sysdate(), 'MANUALE'); \ No newline at end of file diff --git a/scouthub-attivita-be/DDL/3-insertTipoCategoria.sql b/scouthub-attivita-be/DDL/3-insertTipoCategoria.sql deleted file mode 100644 index 1493e95..0000000 --- a/scouthub-attivita-be/DDL/3-insertTipoCategoria.sql +++ /dev/null @@ -1,2 +0,0 @@ -INSERT INTO scouthub.tipo_categoria (id, nome, data_creazione, data_modifica, utente_modifica) VALUES ('A', 'Attività', sysdate(), sysdate(), 'MANUALE'); -INSERT INTO scouthub.tipo_categoria (id, nome, data_creazione, data_modifica, utente_modifica) VALUES ('M', 'Materiale', sysdate(), sysdate(), 'MANUALE'); \ No newline at end of file diff --git a/scouthub-attivita-be/DDL/4-insertTipoParagrafo.sql b/scouthub-attivita-be/DDL/4-insertTipoParagrafo.sql deleted file mode 100644 index 049dd4a..0000000 --- a/scouthub-attivita-be/DDL/4-insertTipoParagrafo.sql +++ /dev/null @@ -1,2 +0,0 @@ -INSERT INTO scouthub.tipo_paragrafo (id, nome, data_creazione, data_modifica, utente_modifica) VALUES ('TITOLO', 'Titolo attività', sysdate(), sysdate(), 'MANUALE'); -INSERT INTO scouthub.tipo_paragrafo (id, nome, data_creazione, data_modifica, utente_modifica) VALUES ('PARAGRAFO', 'Paragrafo attività', sysdate(), sysdate(), 'MANUALE'); \ No newline at end of file diff --git a/scouthub-attivita-be/DDL/5-insertBranca.sql b/scouthub-attivita-be/DDL/5-insertBranca.sql deleted file mode 100644 index 435ca30..0000000 --- a/scouthub-attivita-be/DDL/5-insertBranca.sql +++ /dev/null @@ -1,4 +0,0 @@ -INSERT INTO scouthub.branca (id, nome, inizio_eta, fine_eta, colore, data_creazione, data_modifica, utente_modifica) VALUES (1, 'L/C', 8, 10, '#FDD835', sysdate(), sysdate(), 'MANUALE'); -INSERT INTO scouthub.branca (id, nome, inizio_eta, fine_eta, colore, data_creazione, data_modifica, utente_modifica) VALUES (2, 'E/G', 11, 16, '#43A047', sysdate(), sysdate(), 'MANUALE'); -INSERT INTO scouthub.branca (id, nome, inizio_eta, fine_eta, colore, data_creazione, data_modifica, utente_modifica) VALUES (3, 'R/S', 17, 21, '#E53935', sysdate(), sysdate(), 'MANUALE'); -INSERT INTO scouthub.branca (id, nome, inizio_eta, fine_eta, colore, data_creazione, data_modifica, utente_modifica) VALUES (4, 'Co.Ca.', 22, 99, '#8E24AA', sysdate(), sysdate(), 'MANUALE'); \ No newline at end of file diff --git a/scouthub-attivita-be/DDL/6-insertPeriodoAnno.sql b/scouthub-attivita-be/DDL/6-insertPeriodoAnno.sql deleted file mode 100644 index 9c616c3..0000000 --- a/scouthub-attivita-be/DDL/6-insertPeriodoAnno.sql +++ /dev/null @@ -1,3 +0,0 @@ -INSERT INTO scouthub.periodo_anno (id, nome, inizio_mese, fine_mese, data_creazione, data_modifica, utente_modifica) VALUES (1, 'promessa', 1, 3, sysdate(), sysdate(), 'MANUALE'); -INSERT INTO scouthub.periodo_anno (id, nome, inizio_mese, fine_mese, data_creazione, data_modifica, utente_modifica) VALUES (2, 'campo estivo', 6, 9, sysdate(), sysdate(), 'MANUALE'); -INSERT INTO scouthub.periodo_anno (id, nome, inizio_mese, fine_mese, data_creazione, data_modifica, utente_modifica) VALUES (3, 'campo invernale', 12, 1, sysdate(), sysdate(), 'MANUALE'); \ No newline at end of file diff --git a/scouthub-attivita-be/DDL/7-insertCategoria.sql b/scouthub-attivita-be/DDL/7-insertCategoria.sql deleted file mode 100644 index e5b2b34..0000000 --- a/scouthub-attivita-be/DDL/7-insertCategoria.sql +++ /dev/null @@ -1,9 +0,0 @@ -INSERT INTO scouthub.categoria (id, nome, padre, tipo, data_creazione, data_modifica, utente_modifica) VALUES (1, 'attività', null, 'A', sysdate(), sysdate(), 'MANUALE'); -INSERT INTO scouthub.categoria (id, nome, padre, tipo, data_creazione, data_modifica, utente_modifica) VALUES (2, 'gioco', null, 'A', sysdate(), sysdate(), 'MANUALE'); -INSERT INTO scouthub.categoria (id, nome, padre, tipo, data_creazione, data_modifica, utente_modifica) VALUES (3, 'danza', null, 'A', sysdate(), sysdate(), 'MANUALE'); -INSERT INTO scouthub.categoria (id, nome, padre, tipo, data_creazione, data_modifica, utente_modifica) VALUES (4, 'gioco d''acqua', 2, 'A', sysdate(), sysdate(), 'MANUALE'); -INSERT INTO scouthub.categoria (id, nome, padre, tipo, data_creazione, data_modifica, utente_modifica) VALUES (5, 'gioco notturno', 2, 'A', sysdate(), sysdate(), 'MANUALE'); -INSERT INTO scouthub.categoria (id, nome, padre, tipo, data_creazione, data_modifica, utente_modifica) VALUES (6, 'grande gioco', 2, 'A', sysdate(), sysdate(), 'MANUALE'); -INSERT INTO scouthub.categoria (id, nome, padre, tipo, data_creazione, data_modifica, utente_modifica) VALUES (7, 'torneo', 2, 'A', sysdate(), sysdate(), 'MANUALE'); -INSERT INTO scouthub.categoria (id, nome, padre, tipo, data_creazione, data_modifica, utente_modifica) VALUES (8, 'olimpiadi', 2, 'A', sysdate(), sysdate(), 'MANUALE'); -INSERT INTO scouthub.categoria (id, nome, padre, tipo, data_creazione, data_modifica, utente_modifica) VALUES (9, 'gioco giungla', 2, 'A', sysdate(), sysdate(), 'MANUALE'); \ No newline at end of file diff --git a/scouthub-attivita-be/DDL/8-insertMateriale.sql b/scouthub-attivita-be/DDL/8-insertMateriale.sql deleted file mode 100644 index e69de29..0000000 diff --git a/scouthub-attivita-be/DDL/insertScouthub.xlsx b/scouthub-attivita-be/DDL/insertScouthub.xlsx deleted file mode 100644 index 8f356d2..0000000 Binary files a/scouthub-attivita-be/DDL/insertScouthub.xlsx and /dev/null differ diff --git a/scouthub-attivita-be/prisma/migrations/20260722231426_init/migration.sql b/scouthub-attivita-be/prisma/migrations/20260722231426_init/migration.sql deleted file mode 100644 index 69abbac..0000000 --- a/scouthub-attivita-be/prisma/migrations/20260722231426_init/migration.sql +++ /dev/null @@ -1,223 +0,0 @@ --- 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; - diff --git a/scouthub-attivita-be/prisma/migrations/20260723130000_add_autore_id/migration.sql b/scouthub-attivita-be/prisma/migrations/20260723130000_add_autore_id/migration.sql deleted file mode 100644 index dd0530a..0000000 --- a/scouthub-attivita-be/prisma/migrations/20260723130000_add_autore_id/migration.sql +++ /dev/null @@ -1,7 +0,0 @@ --- 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; diff --git a/scouthub-home-be/Dockerfile b/scouthub-home-be/Dockerfile index defc01d..9c582c5 100644 --- a/scouthub-home-be/Dockerfile +++ b/scouthub-home-be/Dockerfile @@ -13,6 +13,4 @@ RUN npm run build EXPOSE 8082 -# Niente migrazioni ancora create (prisma/migrations assente): db push sincronizza -# lo schema direttamente, coerente con lo stato early-stage del progetto. -CMD ["sh", "-c", "npx prisma db push --skip-generate && node dist/server.js"] +CMD ["sh", "-c", "npx prisma migrate deploy && node dist/server.js"] diff --git a/scouthub-home-be/prisma/migrations/0000_baseline/migration.sql b/scouthub-home-be/prisma/migrations/0000_baseline/migration.sql deleted file mode 100644 index 124a69e..0000000 --- a/scouthub-home-be/prisma/migrations/0000_baseline/migration.sql +++ /dev/null @@ -1,26 +0,0 @@ --- Baseline migration representing the schema already present in the database --- before migration history was introduced (created via `prisma db push`). -CREATE TABLE "gruppo_scout" ( - "org_id" TEXT NOT NULL, - "nome" TEXT NOT NULL, - "regione" TEXT, - "data_creazione" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - - CONSTRAINT "gruppo_scout_pkey" PRIMARY KEY ("org_id") -); - -CREATE TABLE "invito" ( - "id" TEXT NOT NULL, - "token" TEXT NOT NULL, - "email" TEXT NOT NULL, - "org_id" TEXT NOT NULL, - "ruolo" TEXT NOT NULL, - "scadenza" TIMESTAMP(3) NOT NULL, - "stato" TEXT NOT NULL, - - CONSTRAINT "invito_pkey" PRIMARY KEY ("id") -); - -CREATE UNIQUE INDEX "invito_token_key" ON "invito"("token"); - -ALTER TABLE "invito" ADD CONSTRAINT "invito_org_id_fkey" FOREIGN KEY ("org_id") REFERENCES "gruppo_scout"("org_id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/scouthub-home-be/prisma/migrations/20260723201327_aggiungi_richieste_e_link_ingresso/migration.sql b/scouthub-home-be/prisma/migrations/20260723201327_aggiungi_richieste_e_link_ingresso/migration.sql deleted file mode 100644 index c7463f4..0000000 --- a/scouthub-home-be/prisma/migrations/20260723201327_aggiungi_richieste_e_link_ingresso/migration.sql +++ /dev/null @@ -1,60 +0,0 @@ --- CreateEnum -CREATE TYPE "StatoRichiesta" AS ENUM ('PENDING', 'APPROVATA', 'RIFIUTATA'); - --- CreateEnum -CREATE TYPE "OrigineRichiesta" AS ENUM ('LINK', 'PROFILO'); - --- CreateTable -CREATE TABLE "richiesta_ingresso" ( - "id" TEXT NOT NULL, - "user_id" TEXT NOT NULL, - "email" TEXT NOT NULL, - "org_id" TEXT NOT NULL, - "stato" "StatoRichiesta" NOT NULL DEFAULT 'PENDING', - "origine" "OrigineRichiesta" NOT NULL, - "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updated_at" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "richiesta_ingresso_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "link_ingresso" ( - "id" TEXT NOT NULL, - "token" TEXT NOT NULL, - "org_id" TEXT NOT NULL, - "attivo" BOOLEAN NOT NULL DEFAULT true, - "creato_da" TEXT NOT NULL, - "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - - CONSTRAINT "link_ingresso_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "richiesta_creazione_gruppo" ( - "id" TEXT NOT NULL, - "user_id" TEXT NOT NULL, - "email" TEXT NOT NULL, - "nome_proposto" TEXT NOT NULL, - "regione" TEXT, - "stato" "StatoRichiesta" NOT NULL DEFAULT 'PENDING', - "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updated_at" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "richiesta_creazione_gruppo_pkey" PRIMARY KEY ("id") -); - --- CreateIndex -CREATE INDEX "richiesta_ingresso_email_idx" ON "richiesta_ingresso"("email"); - --- CreateIndex -CREATE UNIQUE INDEX "link_ingresso_token_key" ON "link_ingresso"("token"); - --- CreateIndex -CREATE INDEX "richiesta_creazione_gruppo_email_idx" ON "richiesta_creazione_gruppo"("email"); - --- AddForeignKey -ALTER TABLE "richiesta_ingresso" ADD CONSTRAINT "richiesta_ingresso_org_id_fkey" FOREIGN KEY ("org_id") REFERENCES "gruppo_scout"("org_id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "link_ingresso" ADD CONSTRAINT "link_ingresso_org_id_fkey" FOREIGN KEY ("org_id") REFERENCES "gruppo_scout"("org_id") ON DELETE RESTRICT ON UPDATE CASCADE;