mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-11 17:27:31 +02:00
Update role permissions to prevent employees from creating tasks, while ensuring they can view tasks and suppliers. Adjustments also made to director and manager permissions for product validation. 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/69xEJ3P
62 lines
3.3 KiB
Diff
62 lines
3.3 KiB
Diff
diff --git a/shared/permissions.ts b/shared/permissions.ts
|
|
index 1234567..abcdefg 100644
|
|
--- a/shared/permissions.ts
|
|
+++ b/shared/permissions.ts
|
|
@@ -84,7 +84,7 @@ export const PERMISSIONS: Record<Module, Record<Role, Permission[]>> = {
|
|
tasks: {
|
|
admin: ['view', 'create', 'edit', 'delete', 'validate'],
|
|
directeur: ['view', 'create', 'edit', 'delete', 'validate'],
|
|
manager: ['view', 'validate'],
|
|
employee: ['view'] // PAS DE CHANGEMENT - VOIR SEULEMENT
|
|
}
|
|
};
|
|
|
|
diff --git a/server/routes.ts b/server/routes.ts
|
|
index 1234567..abcdefg 100644
|
|
--- a/server/routes.ts
|
|
+++ b/server/routes.ts
|
|
@@ -188,7 +188,7 @@ export function createRoutes(app: Express, storage: IStorage, isAuthenticated:
|
|
app.get('/api/suppliers', isAuthenticated, async (req: any, res) => {
|
|
try {
|
|
const user = await storage.getUser(req.user.claims ? req.user.claims.sub : req.user.id);
|
|
- if (!user || (user.role !== 'admin' && user.role !== 'manager')) {
|
|
+ if (!user || (user.role !== 'admin' && user.role !== 'manager' && user.role !== 'directeur' && user.role !== 'employee')) {
|
|
return res.status(403).json({ message: "Insufficient permissions" });
|
|
}
|
|
|
|
@@ -240,7 +240,7 @@ export function createRoutes(app: Express, storage: IStorage, isAuthenticated:
|
|
console.log('✅ User found:', { username: user.username, role: user.role });
|
|
|
|
// Vérifier les permissions
|
|
- if (user.role !== 'admin' && user.role !== 'manager') {
|
|
+ if (user.role !== 'admin' && user.role !== 'manager' && user.role !== 'directeur') {
|
|
- console.error('❌ Insufficient permissions:', { userRole: user.role, required: ['admin', 'manager'] });
|
|
+ console.error('❌ Insufficient permissions:', { userRole: user.role, required: ['admin', 'manager', 'directeur'] });
|
|
return res.status(403).json({ message: "Insufficient permissions" });
|
|
}
|
|
|
|
@@ -281,7 +281,7 @@ export function createRoutes(app: Express, storage: IStorage, isAuthenticated:
|
|
app.put('/api/suppliers/:id', isAuthenticated, async (req: any, res) => {
|
|
try {
|
|
const user = await storage.getUser(req.user.claims ? req.user.claims.sub : req.user.id);
|
|
- if (!user || (user.role !== 'admin' && user.role !== 'manager')) {
|
|
+ if (!user || (user.role !== 'admin' && user.role !== 'manager' && user.role !== 'directeur')) {
|
|
return res.status(403).json({ message: "Insufficient permissions" });
|
|
}
|
|
|
|
@@ -298,7 +298,7 @@ export function createRoutes(app: Express, storage: IStorage, isAuthenticated:
|
|
app.delete('/api/suppliers/:id', isAuthenticated, async (req: any, res) => {
|
|
try {
|
|
const user = await storage.getUser(req.user.claims ? req.user.claims.sub : req.user.id);
|
|
- if (!user || (user.role !== 'admin' && user.role !== 'manager')) {
|
|
+ if (!user || (user.role !== 'admin' && user.role !== 'directeur')) {
|
|
return res.status(403).json({ message: "Insufficient permissions" });
|
|
}
|
|
|
|
@@ -2332,7 +2332,7 @@ export function createRoutes(app: Express, storage: IStorage, isAuthenticated:
|
|
const user = await storage.getUser(userId);
|
|
|
|
- if (!user || !['admin', 'manager'].includes(user.role)) {
|
|
+ if (!user || !['admin', 'manager', 'directeur'].includes(user.role)) {
|
|
return res.status(403).json({ message: "Insufficient permissions to validate products" });
|
|
}
|