41 lines
1.4 KiB
MySQL
41 lines
1.4 KiB
MySQL
|
|
-- Script SQL pour promouvoir l'utilisateur de test en "artist"
|
||
|
|
-- Ce script doit être exécuté AVANT les tests E2E pour permettre les uploads
|
||
|
|
|
||
|
|
-- Option 1: Mettre à jour directement le rôle dans la table users (si le champ existe)
|
||
|
|
-- UPDATE users SET role = 'artist' WHERE email = 'user@example.com';
|
||
|
|
|
||
|
|
-- Option 2: Ajouter le rôle via la table user_roles (recommandé si RBAC est utilisé)
|
||
|
|
-- D'abord, vérifier si le rôle "artist" existe dans la table roles
|
||
|
|
-- NOTE: display_name est NOT NULL, il faut le fournir
|
||
|
|
INSERT INTO roles (name, display_name, description)
|
||
|
|
VALUES ('artist', 'Artist', 'Artist role for content creation')
|
||
|
|
ON CONFLICT (name) DO NOTHING;
|
||
|
|
|
||
|
|
-- Ensuite, ajouter le rôle à l'utilisateur
|
||
|
|
-- NOTE: La colonne 'role' est aussi requise dans user_roles (pour compatibilité)
|
||
|
|
INSERT INTO user_roles (user_id, role_id, role)
|
||
|
|
SELECT
|
||
|
|
u.id,
|
||
|
|
r.id,
|
||
|
|
'artist'
|
||
|
|
FROM users u
|
||
|
|
CROSS JOIN roles r
|
||
|
|
WHERE u.email = 'user@example.com'
|
||
|
|
AND r.name = 'artist'
|
||
|
|
ON CONFLICT (user_id, role) DO NOTHING;
|
||
|
|
|
||
|
|
-- Vérifier l'email de l'utilisateur (nécessaire pour certains endpoints)
|
||
|
|
UPDATE users
|
||
|
|
SET is_verified = true
|
||
|
|
WHERE email = 'user@example.com';
|
||
|
|
|
||
|
|
-- Vérification
|
||
|
|
SELECT
|
||
|
|
u.email,
|
||
|
|
u.id as user_id,
|
||
|
|
r.name as role_name
|
||
|
|
FROM users u
|
||
|
|
LEFT JOIN user_roles ur ON u.id = ur.user_id
|
||
|
|
LEFT JOIN roles r ON ur.role_id = r.id
|
||
|
|
WHERE u.email = 'user@example.com';
|