From 538231dbd4257c8d61a1aa77add3dd8c6eab3dfc Mon Sep 17 00:00:00 2001 From: Mysaa Java Date: Sun, 7 Jun 2026 02:58:18 +0200 Subject: [PATCH] Update flake with postgres server --- .gitignore | 2 ++ flake.nix | 5 +++++ .../resources/db/migration/V5__new_privileges.sql | 14 ++++++++++---- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index c2065bc..0ea0b78 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,8 @@ build/ !gradle/wrapper/gradle-wrapper.jar !**/src/main/**/build/ !**/src/test/**/build/ +.postgres +/db-migration.sql ### STS ### .apt_generated diff --git a/flake.nix b/flake.nix index 41ecd95..94cd09c 100644 --- a/flake.nix +++ b/flake.nix @@ -41,6 +41,10 @@ echo "Launching misael" ${jdk}/bin/java -jar ${misael}/misael.jar --spring.datasource.url=$MISAEL_DATABASE --spring.datasource.password=$MISAEL_PASSWORD "$@" ''; + postgres-server = pkgs.writeShellScriptBin "postgres-server" '' + mkdir -p .postgres + ${pkgs.podman}/bin/podman run -e POSTGRES_USER=misael -e POSTGRES_PASSWORD=misael-dev -e POSTGRES_DB=misael --volume ./.postgres:/var/lib/postgresql -p 127.0.0.1:5432:5432 postgres:18.4 & > .postgres/postgres.log & + ''; in { packages.${system} = { default = self.packages.${system}.misael; @@ -50,6 +54,7 @@ apps.${system} = { default = self.apps.${system}.misael; misael = { type = "app"; program = "${misael-launcher}/bin/misael"; }; + postgres-server = { type = "app"; program = "${postgres-server}/bin/postgres-server"; }; }; devShells.${system} = { diff --git a/src/main/resources/db/migration/V5__new_privileges.sql b/src/main/resources/db/migration/V5__new_privileges.sql index 28af02e..e3f97d2 100644 --- a/src/main/resources/db/migration/V5__new_privileges.sql +++ b/src/main/resources/db/migration/V5__new_privileges.sql @@ -2,7 +2,13 @@ alter table role_privileges drop constraint role_privileges_privileges_check; alter table role_privileges add constraint role_privileges_privileges_check check (privileges in ('LIST_USERS','ADD_USERS','LIST_QUIZZ','CREATE_QUIZZ','VIEW_ALL_FORMS')); -insert into role_privileges VALUES - ((select id from roles where "name" = 'ADMIN'),'CREATE_QUIZZ'); -insert into role_privileges VALUES - ((select id from roles where "name" = 'ADMIN'),'VIEW_ALL_FORMS'); \ No newline at end of file +do $$ +begin +if exists (select id from roles where "name" = 'ADMIN') +then + insert into role_privileges VALUES + ((select id from roles where "name" = 'ADMIN'),'CREATE_QUIZZ'), + ((select id from roles where "name" = 'ADMIN'),'VIEW_ALL_FORMS'); +end if; +end +$$ \ No newline at end of file