472 lines
14 KiB
JavaScript
Executable File
472 lines
14 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: [],
|
|
},
|
|
{
|
|
id: 107,
|
|
name: 'Document à signer',
|
|
description: 'Document vierge pour le règlement intérieur',
|
|
visibility: VISIBILITY_LEVELS.PUBLIC,
|
|
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: [],
|
|
},
|
|
{
|
|
id: 11,
|
|
name: 'Document Process D',
|
|
description: 'Document vierge pour validation processus',
|
|
visibility: VISIBILITY_LEVELS.PUBLIC,
|
|
status: DOCUMENT_STATUS.PENDING,
|
|
createdAt: '2024-01-15',
|
|
deadline: '2024-02-01',
|
|
signatures: [
|
|
{
|
|
member: { id: 3, name: 'Charlie' },
|
|
signed: true,
|
|
signedAt: '2024-01-15',
|
|
},
|
|
{
|
|
member: { id: 4, name: 'David' },
|
|
signed: false,
|
|
},
|
|
],
|
|
},
|
|
{
|
|
id: 12,
|
|
name: 'Document Process E',
|
|
description: 'Document vierge pour validation processus',
|
|
visibility: VISIBILITY_LEVELS.PUBLIC,
|
|
status: DOCUMENT_STATUS.PENDING,
|
|
createdAt: '2024-01-15',
|
|
deadline: '2024-02-01',
|
|
signatures: [
|
|
{
|
|
member: { id: 3, name: 'Charlie' },
|
|
signed: true,
|
|
signedAt: '2024-01-15',
|
|
},
|
|
{
|
|
member: { id: 4, name: 'David' },
|
|
signed: false,
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
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: [],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
];
|