if (!awaitBasics.add("group",vals))throw"Erreur lors de la création d'une nouvelle feuille dans l'arbre des groupes.";
// Certains champs nécessitent de petits calculs
// IMPORTANT
if (!awaitBasics.change("group",gid,"add",{[ldapConfig.group['idNumber']]:"5000"}))throw"Erreur lors de l'ajout de l'identifiant numérique du nouveau groupe.";
if (!awaitBasics.change("group",gid,"add",{[ldapConfig.group['idNumber']]:awaitTools.generateId(ldapConfig.user['idNumber'],"group")})){
throw"Erreur lors de l'ajout de l'identifiant numérique du nouveau groupe.";
@@ -15,48 +15,51 @@ import {Tools} from '../internal/tools';
/**
* @memberof LDAP
* @class partUserData
* @desc Interface avec les données visibles au mponde extérieur.
* @desc Interface avec les données visibles au mpnde extérieur.
* @var {string} uid - Identifiant utilisateur
* @var {string} givenName - Prénom
* @var {string} lastName - Nom
* @var {string?} nickname - Surnom
* @var {string?} gender - Sexe
* @var {string?} photo - Bytestring de la photo de l'utilisateur
* @var {string?} urlPhoto - Adresse de la photo de l'utilisateur
* @var {string?} address - Adresse(s)
* @var {string[]} admins - Liste des gid (group id, inclus section sportive, binet, PA...) dont l'utilisateur est admin ; pas forcément sous-liste de members
* @var {string[]} speakers - Liste des gid dont l'utilisateur est porte-parole ; pas forcément sous-liste de members
* @var {string[]} members - Liste des gid dont l'utilisateur est membre
* @var {string[]} followers - Liste des gid dont l'utilisateur est sympathisant
* @var {string[]} speakers - Liste des gid dont l'utilisateur est porte-parole ; pas forcément sous-liste de members. Valeur par défaut est vide.
* @var {string[]} members - Liste des gid dont l'utilisateur est membre. Valeur par défaut est vide.
* @var {string[]} followers - Liste des gid dont l'utilisateur est sympathisant. Valeur par défaut est vide.
if (!awaitBasics.change(domain1,id1,"add",tmp))throw"Erreur lors de la modification dans l'arbre "+domain2+" pour ajouter une entrée dans la catégorie voulue.";
// Cas spécial pour les admins
if (category=="admins"&&domain1=="group"){
lettmp2={[ldapConfig[domain1]["admins"]]:id2};
if (!awaitBasics.change("group",id1,"add",tmp2))throw"Erreur lors de la modification dans l'arbre "+domain2+" pour la modif admin spéciale.";
}
returntrue;
}
// Renvoie faux si aucune modification n'est nécessaire
...
...
@@ -281,13 +287,17 @@ export class Tools {
varcatName=ldapConfig[domain1][category];
if (!awaitBasics.change(domain1,id1,"del",catName))throw"Erreur lors de la suppression de tous les "+category+" de l'identifiant "+id1+".";
// Les rajoute un par un, sauf pour le supprimé
l.forEach(id=>{
l.forEach(asyncfunction(id){
if (id!=id2){
if (domain2=="group")varid_n=ldapConfig[domain2].gid;