* @summary Renvoie tous les utilisateurs ayant des droits d'administrateur sur un groupe.
* @desc Les utilisateurs qui ont un droit d'administrateur sur un groupe sont ses administrateurs et les utilisateurs ayant droit d'admin sur son parent
* @arg {String} uid - L'uid du groupe dont on veut les administrateurs.
* @return {Promise} Retour de requête knex. Promise qui renvera une liste de tous les utilisateurs ayant droit d'admin sur le groupe
*/
constgetUsersWithAdminRights=(uid)=>{
returnlistAdmins(uid);
};
/**
* @summary Attribue un UID qui n'a pas encore été utilisé à un groupe
* @desc RASifie le string initialUID si necessaire (ramené à de l'ASCCI sans espace), puis si l'uid est deja pris rajoute un n a la fin et reteste
* @arg {String} uid - L'uid du groupe dont on veut les administrateurs.
* @return {Promise} Retour de requête knex. Promise qui renvera une liste de tous les utilisateurs ayant droit d'admin sur le groupe
*/
constgetAvailableGroupUID=(initialUID)=>{
letrasUID=initialUID;
}
constcreateGroupIfLegal=(user,args)=>{
constcreateGroupIfLegal=(user,args)=>{
if(typeofargs.parentuid!=String)
throw"Illegal argument : parentuid must be a string";
letadmins=getUsersWithAdminRights(args.parentuid)
if(typeofadmins==undefined)
throw"invalid argument : no group with id "+args.parentuid;
returnadmins.then(admin_list=>{
if(admin_list.indexOf(user.id)==-1)
throw"illegal request : you must have admin rights over a group to create a subgroup of that group";