// Définir les rôles autorisés const VALID_ROLES = [ "User", "Process", "Member", "Peer", "Payment", "Deposit", "Artefact", "Resolve", "Backup" ]; const VISIBILITY_LEVELS = { PUBLIC: "public", CONFIDENTIAL: "confidential", PRIVATE: "private", }; const DOCUMENT_STATUS = { DRAFT: "draft", PENDING: "pending", IN_REVIEW: "in_review", APPROVED: "approved", REJECTED: "rejected", EXPIRED: "expired" }; // Fonction pour créer un rôle function createRole(name, members) { if (!VALID_ROLES.includes(name)) { throw new Error(`Role "${name}" is not valid.`); } return { name, members }; } export const groupsMock = [ { id: 1, name: "Processus 1", description: "Description du processus 1", commonDocuments: [ { id: 101, name: "Règlement intérieur", description: "Document vierge pour le règlement intérieur", visibility: VISIBILITY_LEVELS.PUBLIC, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] }, { id: 102, name: "Charte de confidentialité", description: "Document vierge pour la charte de confidentialité", visibility: VISIBILITY_LEVELS.CONFIDENTIAL, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] }, { id: 103, name: "Procédures générales", description: "Document vierge pour les procédures générales", visibility: VISIBILITY_LEVELS.PUBLIC, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] }, { id: 104, name: "Urgency A", description: "Document vierge pour le plan d'urgence A", visibility: VISIBILITY_LEVELS.PRIVATE, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] }, { id: 105, name: "Urgency B", description: "Document vierge pour le plan d'urgence B", visibility: VISIBILITY_LEVELS.PRIVATE, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] }, { id: 106, name: "Urgency C", description: "Document vierge pour le plan d'urgence C", visibility: VISIBILITY_LEVELS.PRIVATE, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] } ], roles: [ { name: "User", members: [{ id: 1, name: "Alice" }, { id: 2, name: "Bob" }], documents: [ { id: 1, name: "Document User A", description: "Description du document User A.", visibility: "public", createdAt: "2024-01-01", deadline: "2024-02-01", signatures: [ { member: { id: 1, name: "Alice" }, signed: true, signedAt: "2024-01-15" }, { member: { id: 2, name: "Bob" }, signed: false } ] }, { id: 2, name: "Document User B", description: "Document vierge pour le rôle User", visibility: "confidential", createdAt: null, deadline: null, signatures: [] }, { id: 7, name: "Document User C", description: "Document vierge pour validation utilisateur", visibility: VISIBILITY_LEVELS.CONFIDENTIAL, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] }, { id: 8, name: "Document User D", description: "Document vierge pour approbation utilisateur", visibility: VISIBILITY_LEVELS.PUBLIC, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] } ] }, { name: "Process", members: [{ id: 3, name: "Charlie" }, { id: 4, name: "David" }], documents: [ { id: 3, name: "Document Process A", description: "Description du document Process A.", visibility: "confidential", createdAt: "2024-01-10", deadline: "2024-03-01", signatures: [ { member: { id: 3, name: "Charlie" }, signed: true, signedAt: "2024-01-12" } ] }, { id: 9, name: "Document Process B", description: "Document vierge pour processus interne", visibility: VISIBILITY_LEVELS.CONFIDENTIAL, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] }, { id: 10, name: "Document Process C", description: "Document vierge pour validation processus", visibility: VISIBILITY_LEVELS.PRIVATE, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] } ] }, { name: "Backup", members: [{ id: 15, name: "Oscar" }, { id: 16, name: "Patricia" }], documents: [ { id: 11, name: "Document Backup A", description: "Document vierge pour sauvegarde", visibility: VISIBILITY_LEVELS.PRIVATE, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] } ] } ] }, { id: 2, name: "Processus 2", description: "Description du processus 2", commonDocuments: [ { id: 201, name: "Règlement intérieur", description: "Document vierge pour le règlement intérieur", visibility: VISIBILITY_LEVELS.PUBLIC, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] }, { id: 202, name: "Charte de confidentialité", description: "Document vierge pour la charte de confidentialité", visibility: VISIBILITY_LEVELS.CONFIDENTIAL, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] }, { id: 203, name: "Charte de confidentialité", description: "Document vierge pour la charte de confidentialité", visibility: VISIBILITY_LEVELS.PRIVATE, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] }, { id: 204, name: "Charte de confidentialité", description: "Document vierge pour la charte de confidentialité", visibility: VISIBILITY_LEVELS.PRIVATE, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] }, { id: 205, name: "Charte de confidentialité", description: "Document vierge pour la charte de confidentialité", visibility: VISIBILITY_LEVELS.PRIVATE, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] } ], roles: [ { name: "Artefact", members: [{ id: 17, name: "Quinn" }, { id: 18, name: "Rachel" }], documents: [ { id: 12, name: "Document Artefact A", description: "Document vierge pour artefact", visibility: VISIBILITY_LEVELS.CONFIDENTIAL, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] }, { id: 13, name: "Document Artefact B", description: "Document vierge pour validation artefact", visibility: VISIBILITY_LEVELS.PRIVATE, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] } ] }, { name: "Resolve", members: [{ id: 19, name: "Sam" }, { id: 20, name: "Tom" }], documents: [ { id: 14, name: "Document Resolve A", description: "Document vierge pour résolution", visibility: VISIBILITY_LEVELS.CONFIDENTIAL, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] } ] } ] }, { id: 3, name: "Processus 3", description: "Description du processus 3", commonDocuments: [ { id: 301, name: "Règlement intérieur", description: "Document vierge pour le règlement intérieur", visibility: VISIBILITY_LEVELS.PUBLIC, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] }, { id: 302, name: "Charte de confidentialité", description: "Document vierge pour la charte de confidentialité", visibility: VISIBILITY_LEVELS.CONFIDENTIAL, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] }, { id: 303, name: "Procédures générales", description: "Document vierge pour les procédures générales", visibility: VISIBILITY_LEVELS.PUBLIC, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] } ], roles: [ { name: "Deposit", members: [{ id: 21, name: "Uma" }, { id: 22, name: "Victor" }], documents: [ { id: 15, name: "Document Deposit A", description: "Document vierge pour dépôt", visibility: VISIBILITY_LEVELS.PRIVATE, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] }, { id: 16, name: "Document Deposit B", description: "Document vierge pour validation dépôt", visibility: VISIBILITY_LEVELS.CONFIDENTIAL, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] } ] }, { name: "Payment", members: [{ id: 23, name: "Walter" }, { id: 24, name: "Xena" }], documents: [ { id: 17, name: "Document Payment B", description: "Document vierge pour paiement", visibility: VISIBILITY_LEVELS.PRIVATE, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] }, { id: 18, name: "Document Payment C", description: "Document vierge pour validation paiement", visibility: VISIBILITY_LEVELS.CONFIDENTIAL, status: DOCUMENT_STATUS.DRAFT, createdAt: null, deadline: null, signatures: [] } ] } ] } ];