2024-11-25 21:49:56 +01:00

411 lines
15 KiB
JavaScript
Executable File

// 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: []
}
]
}
]
}
];