From 5d4bab7d99474345a33ff02484ac58b1004cc439 Mon Sep 17 00:00:00 2001 From: Tetardtek Date: Sat, 14 Mar 2026 08:10:16 +0100 Subject: [PATCH] =?UTF-8?q?chore:=20add=20assign-first-admin.sql=20?= =?UTF-8?q?=E2=80=94=20run=20once=20after=20first=20login?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/scripts/assign-first-admin.sql | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 backend/scripts/assign-first-admin.sql diff --git a/backend/scripts/assign-first-admin.sql b/backend/scripts/assign-first-admin.sql new file mode 100644 index 0000000..9d9500f --- /dev/null +++ b/backend/scripts/assign-first-admin.sql @@ -0,0 +1,25 @@ +-- Script à lancer UNE SEULE FOIS après le premier login +-- Assigne le rôle super_admin au premier user en DB (toi) +-- +-- Usage : depuis le VPS +-- docker exec mysql-prod mysql -u originsdigital -p'' originsdigital < assign-first-admin.sql + +INSERT INTO user_roles (userId, roleId) +SELECT + u.id, + r.id +FROM users u +CROSS JOIN roles r +WHERE r.slug = 'super_admin' + AND u.id = (SELECT id FROM users ORDER BY createdAt ASC LIMIT 1) + AND NOT EXISTS ( + SELECT 1 FROM user_roles ur + WHERE ur.userId = u.id AND ur.roleId = r.id + ); + +-- Vérifie le résultat +SELECT u.nickname, u.email, r.slug as role +FROM users u +JOIN user_roles ur ON ur.userId = u.id +JOIN roles r ON r.id = ur.roleId +WHERE r.slug = 'super_admin';