mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-11 17:27:31 +02:00
Fixes production issues preventing employees from creating customer orders and DLC products by ensuring correct permissions, cache invalidation, and backend route configurations. Replit-Commit-Author: Agent Replit-Commit-Session-Id: b163d4c0-de5e-4f4e-a9c0-aed4c7049718 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/b163d4c0-de5e-4f4e-a9c0-aed4c7049718/rEII9fE
94 lines
2.9 KiB
SQL
94 lines
2.9 KiB
SQL
-- Fix urgent production: permissions employé pour commandes client et DLC
|
|
-- À exécuter sur la base de production
|
|
|
|
-- 1. Vérifier les permissions actuelles pour le rôle employé
|
|
SELECT
|
|
p.name as permission_name,
|
|
p.category,
|
|
CASE WHEN rp.permission_id IS NOT NULL THEN 'GRANTED' ELSE 'DENIED' END as status
|
|
FROM permissions p
|
|
LEFT JOIN role_permissions rp ON p.id = rp.permission_id
|
|
AND rp.role_id = (SELECT id FROM roles WHERE name = 'employee')
|
|
WHERE p.category IN ('customer-orders', 'dlc')
|
|
ORDER BY p.category, p.name;
|
|
|
|
-- 2. Vérifier si le rôle employé existe
|
|
SELECT * FROM roles WHERE name = 'employee';
|
|
|
|
-- 3. Obtenir l'ID du rôle employé
|
|
SELECT id FROM roles WHERE name = 'employee';
|
|
|
|
-- 4. Vérifier les permissions requises qui pourraient manquer
|
|
SELECT id, name, category, description
|
|
FROM permissions
|
|
WHERE category IN ('customer-orders', 'dlc')
|
|
AND name IN ('create', 'view')
|
|
AND id NOT IN (
|
|
SELECT permission_id
|
|
FROM role_permissions
|
|
WHERE role_id = (SELECT id FROM roles WHERE name = 'employee')
|
|
);
|
|
|
|
-- 5. Si des permissions manquent, les ajouter (À DÉCOMMENTER SI NÉCESSAIRE)
|
|
/*
|
|
-- Ajouter permission créer commandes client pour employé
|
|
INSERT INTO role_permissions (role_id, permission_id, assigned_by, created_at)
|
|
SELECT
|
|
(SELECT id FROM roles WHERE name = 'employee'),
|
|
p.id,
|
|
'system_fix',
|
|
NOW()
|
|
FROM permissions p
|
|
WHERE p.category = 'customer-orders'
|
|
AND p.name = 'create'
|
|
AND NOT EXISTS (
|
|
SELECT 1 FROM role_permissions rp
|
|
WHERE rp.role_id = (SELECT id FROM roles WHERE name = 'employee')
|
|
AND rp.permission_id = p.id
|
|
);
|
|
|
|
-- Ajouter permission créer DLC pour employé
|
|
INSERT INTO role_permissions (role_id, permission_id, assigned_by, created_at)
|
|
SELECT
|
|
(SELECT id FROM roles WHERE name = 'employee'),
|
|
p.id,
|
|
'system_fix',
|
|
NOW()
|
|
FROM permissions p
|
|
WHERE p.category = 'dlc'
|
|
AND p.name = 'create'
|
|
AND NOT EXISTS (
|
|
SELECT 1 FROM role_permissions rp
|
|
WHERE rp.role_id = (SELECT id FROM roles WHERE name = 'employee')
|
|
AND rp.permission_id = p.id
|
|
);
|
|
*/
|
|
|
|
-- 6. Vérifier l'utilisateur qui a des problèmes
|
|
SELECT
|
|
u.id,
|
|
u.username,
|
|
u.role,
|
|
u.first_name,
|
|
u.last_name,
|
|
COUNT(ug.group_id) as group_count
|
|
FROM users u
|
|
LEFT JOIN user_groups ug ON u.id = ug.user_id
|
|
WHERE u.id = '_1753266816257'
|
|
GROUP BY u.id, u.username, u.role, u.first_name, u.last_name;
|
|
|
|
-- 7. Vérifier les groupes de l'utilisateur
|
|
SELECT
|
|
ug.user_id,
|
|
ug.group_id,
|
|
g.name as group_name,
|
|
g.color as group_color
|
|
FROM user_groups ug
|
|
JOIN groups g ON ug.group_id = g.id
|
|
WHERE ug.user_id = '_1753266816257';
|
|
|
|
-- Notes pour le debugging:
|
|
-- - Si pas de résultats dans requête 4: permissions OK
|
|
-- - Si résultats dans requête 4: décommenter section 5
|
|
-- - Vérifier que l'utilisateur a bien un groupe assigné
|
|
-- - Le problème peut être côté frontend si permissions OK |