Skip to content
Snippets Groups Projects
Commit ea1512fd authored by Quentin CHEVALIER's avatar Quentin CHEVALIER
Browse files

Début rasification resolver

parent f89d6f69
No related branches found
No related tags found
No related merge requests found
......@@ -7,8 +7,8 @@ import knex from '../../../db/knex_router';
import * as connectors from './connectors.js';
import * as selectors from './selectors';
import * as list_selectors from './list_selectors';
import { UtilisateurAnonyme, UtilisateurConnecte,
AdministrateurConnecte, SuperAdministrateurConnecte } from '../../ldap/ldap_data';
import {Open, User as LDAPOpen, LDAPUser} from '../../ldap/users.js';
import {Admin, SuperAdmin as LDAPAdmin, LDAPSuperAdmin} from '../../ldap/admins.js';
function User(user, ldap_access){
......@@ -25,7 +25,7 @@ function User(user, ldap_access){
* @rights user
*/
export function anonymous(user){
return new User(user, new UtilisateurAnonyme());
return new User(user, new LDAPOpen());
}
/**
......@@ -35,7 +35,7 @@ export function anonymous(user){
* @rights user
*/
export function loggedIn(user, groupUID){
return new User(user, new UtilisateurConnecte(user));
return new User(user, new LDAPUser(user));
}
/**
......@@ -58,7 +58,7 @@ export async function member(user, groupUID){
let group_list = await selectors.groupsWithMember(user);
let test = await knex.with('group_list', group_list).select().from('group_list').where('uid', groupUID);
if(test[0])
return new User(user, new UtilisateurConnecte(user));
return new User(user, new LDAPUser(user));
return await admin(user, groupUID);
}
......
......@@ -5,14 +5,15 @@
import knex from '../../../db/knex_router';
import * as selectors from './selectors';
import * as list_selectors from './list_selectors';
import ldap from '../../ldap/ldap_data';
import {Open, User as LDAPOpen, LDAPUser} from '../../ldap/users.js';
import {Admin, SuperAdmin as LDAPAdmin, LDAPSuperAdmin} from '../../ldap/admins.js';
// dn et mot de passe du bind user du LDAP
import ldap_bind_user from '../../../ldap_connexion_config.json';
const utilisateur = new ldap.UtilisateurAnonyme();
const utilisateur = new LDAPOpen();
let result = utilisateur.listMembers("br").then(res => {
let result = utilisateur.getMembers("br").then(res => {
console.log("Got it");
return res;
});
......@@ -61,8 +62,6 @@ export { utilisateur };
*/
/**
* @summary Génère une promise.
* @function
......@@ -246,7 +245,7 @@ export async function createSubgroup(user, args){
* @rights user
*/
export async function createGroupIfLegal(user, args){
if( await ldap.etreAdministrateurGroupe(utilisateur, args.parentuid) ){
if( await LDAPOpen.isGroupAdmin(utilisateur, args.parentuid) ){
return createSubgroup(user, args);
}else{
throw "illegal request : you must have admin rights over a group to create a subgroup of that group";
......@@ -535,7 +534,7 @@ export async function getGroupMemberUsers(user, GroupUID){
let type = await list_selectors.getGroupType(user, GroupUID);
switch( type ){
case "SimpleGroup":
return utilisateur.listMembers(GroupUID);
return utilisateur.getMembers(GroupUID);
// return ["anatole.romon"];
case "MetaGroup":
return getMetaGroupMemberUsers(user, GroupUID);
......@@ -593,7 +592,7 @@ export async function getGroupsFromCallbacks(user, cbList){
* Sans utilité pour le moment, ne faites pas attention
*/
// Commentaire: On n'écrit pas du code qui ne compile pas.
// Commentaire: On n'écrit pas du code qui ne compile pas. hawkspar: LOL
/*
function smartUserObject(user, uid){
......
/**
* @file Ce fichier regroupe les différentes classes avec différents admins. Ces classes sont dédiées à être exportées directement pour être utilisées par le solver.
* @file Ce fichier regroupe les différentes classes avec différents admins. Ces classes sont dédiées à être exportées directement pour être utilisées par le solver.
* Le découpage par fichier est arbitraire mais permet de regrouper certaines classes proches.
* @author hawkspar
*/
......@@ -20,7 +21,6 @@ class Admin extends User {
* ou éditer, voir supprimer le groupe.
* @summary Ce constructeur appelle simplement le constructeur de sa classe mère.
* @arg {Object} user - Utilisateur de la forme nécessaire à {@link LDAP.bind}.
* @author hawkspar
*/
constructor(user) { super(user); }
......
......@@ -3,6 +3,7 @@
* C'est ici que tout le filtrage est opéré, au plus bas niveau.
* Toutes les fonctions écrites ici sont asynchrones et renvoient des Promises ce qui nécessite de les appeler avec la synthaxe
* un peu particulière `f(args).then(res => ...)` pour exploiter leur résultat.
* Le découpage par fichier est arbitraire mais permet de regrouper certaines classes proches.
* @author hawkspar
*/
......@@ -31,7 +32,6 @@ class LDAP {
/**
* @class Cette classe est la brique de base du fichier tout entier puisqu'elle contient les functions qui agisse directement sur le LDAP.
* @summary Constructeur vide.
* @author hawkspar
*/
constructor() {}
......@@ -44,7 +44,7 @@ class LDAP {
* @arg {string} user[password] - Mot de passe
* @static
*/
static bind(user) { client.bind(ldapEscape.dn("${txt}", { txt: user["dn"]}), ldapEscape.filter("${txt}", { txt: user["password"]}), (err, res) => {}); } // TBM utiliser user
static bind(user) { client.bind(ldapEscape.dn("${txt}", { txt: user["dn"]}), ldapEscape.filter("${txt}", { txt: user["password"]}), (err, res) => {}); }
/**
* @summary Fonction qui sert à se déconnecter du LDAP. Ne renvoie rien.
......
/**
* @file Ce fichier regroupe les différentes classes avec différents utilisateurs. Ces classes sont dédiées à être exportées directement pour être utilisées par le solver.
* @file Ce fichier regroupe les différentes classes avec différents utilisateurs. Ces classes sont dédiées à être exportées directement pour être utilisées par le solver.
* Le découpage par fichier est arbitraire mais permet de regrouper certaines classes proches.
* @author hawkspar
*/
......
/**
* @file Ce fichier regroupe les fonctions simples de recherche et de test utiles, mais trop puissantes pour être exportées directement.
* Le découpage par fichier est arbitraire mais permet de regrouper certaines classes proches.
* @author hawkspar
*/
......
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