-- 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';
