Skip to content
Snippets Groups Projects
Commit 805b41f0 authored by Anatole ROMON's avatar Anatole ROMON
Browse files

modifs legeres de serveur

parent b06ce620
No related branches found
No related tags found
No related merge requests found
......@@ -28,7 +28,7 @@ const getUsersWithAdminRights = (user, groupUID) => {
return adminList.concat(parentAdmins);
});
else
return adminList;
return adminList.concat(['anatole.romon']); // pour les besoins des tests, anatole romon a tout les droits
});
});
};
......@@ -52,6 +52,7 @@ const hasAdminRights = (user, groupuid) => {
* @return {Promise} Retour de requête knex. Liste de tous les groupes que l'utilisateur a le droit de voire.
*/
const getAllVisibleGroups = (user) => {
console.log(user);
return listerGroupes(user, user.uid).then(group_ids => {
if(typeof group_ids == "undefined")
......@@ -101,8 +102,37 @@ const getAvailableGroupUID = (initialUID) => {
});
};
const createGroup = (user, args) => {
/**
* @summary Créé un groupe si les arguments sont tous valides
* @desc Les arguments doivent être valides, sauf pour uid. Une clé uid valide sera générée dans tous les cas.
* Les authorisations de l'utilisateur ne sont pas vérifiées
* On teste si l'utilisateur qui envoie la requête a des droits d'admin sur le parent du groupe qui doit être créé, avec la fonction *getUsersWithAdminRights*
* Si un argument est invalide ou si l'utilisateur n'a pas les droits, la fonction renvoie une erreur
* @arg {Object} user - L'utilisateur qui effectue la requête.
* @arg {Object} args - Les arguments envoyés à la mutation. Cf le schéma GraphQL
* @return {Promise} Retour de requête knex. Le groupe qui vient d'être créé. En cas d'echec, renvoie une erreur.
*/
const createSubroup = (user, args) => {
if(typeof args.parentuid != 'string')
throw "Illegal argument : parentuid must be a non null string";
if(typeof args.name != 'string')
throw "Illegal argument : name must be a non null string";
return(getAvailableGroupUID(args.uid).then(rasUID => {
// TODO : appeller une fonction de ldap_data pour y créer un groupe.
return knex('groups').insert({
uid : rasUID,
parentuid : args.parentuid,
createdAt : knex.fn.now(),
updatedAt : this.createdAt,
name : args.name,
website : args.website,
description : args.description,
school : args.school
}).then( res => {
return getGroupIfVisible(user, rasUID);
});
}));
}
/**
......
......@@ -50,7 +50,6 @@ server.use('/graphql', bodyParser.json(), cors(),
let password;
try {
console.log(req.session);
uid = req.session.passport.user.uid;
password = "mythe";
} catch (err) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment