411 lines
15 KiB
JavaScript
Executable File
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: []
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
];
|