diff --git a/prisma/migrations/20260606120000_add_projects_create_permission/migration.sql b/prisma/migrations/20260606120000_add_projects_create_permission/migration.sql new file mode 100644 index 0000000..c728a95 --- /dev/null +++ b/prisma/migrations/20260606120000_add_projects_create_permission/migration.sql @@ -0,0 +1,15 @@ +-- Re-add the projects.create permission (removed in commit 82919d3 when manual +-- project creation was deleted). Idempotent: re-running is a no-op. +-- Mirrors prisma/seed.ts PERMISSIONS exactly (name, display_name, module, description). + +-- 1. Insert the permission (INSERT IGNORE skips on duplicate name). +INSERT IGNORE INTO `permissions` (`name`, `display_name`, `module`, `description`, `created_at`) VALUES + ('projects.create', 'Vytvořit projekt', 'projects', 'Ručně vytvářet projekty', NOW()); + +-- 2. Grant it to the admin role (idempotent via composite PK). +INSERT IGNORE INTO `role_permissions` (`role_id`, `permission_id`) +SELECT r.id, p.id +FROM `roles` r +CROSS JOIN `permissions` p +WHERE r.name = 'admin' + AND p.name IN ('projects.create'); diff --git a/prisma/seed.ts b/prisma/seed.ts index 6a11e75..4ba4174 100644 --- a/prisma/seed.ts +++ b/prisma/seed.ts @@ -172,6 +172,12 @@ const PERMISSIONS: { module: "projects", description: "Prohlížet seznam projektů", }, + { + name: "projects.create", + display_name: "Vytvořit projekt", + module: "projects", + description: "Ručně vytvářet projekty", + }, { name: "projects.edit", display_name: "Upravit projekt",