From 922728337a713ebe21d1ebc471000e8950b9f76f Mon Sep 17 00:00:00 2001 From: hawkspar <quentin.chevalier@polytechnique.edu> Date: Sat, 13 Apr 2019 15:16:04 +0200 Subject: [PATCH] align .env and basics --- ldap_config.json | 24 +++++++++++++++++++---- src/ldap/export/group.ts | 8 ++------ src/ldap/internal/basics.ts | 2 +- src/ldap/internal/tools.ts | 38 ------------------------------------- src/ldap/test.ts | 7 ++++++- 5 files changed, 29 insertions(+), 50 deletions(-) diff --git a/ldap_config.json b/ldap_config.json index 21bc573..aafbd51 100644 --- a/ldap_config.json +++ b/ldap_config.json @@ -13,11 +13,21 @@ "user": { "uid": "uid", "password": "userPassword", + "givenName": "givenName", "lastName": "sn", + + "fullName": "cn", + "cleanFullName": "gecos", + "cleanFullNameEn": "cn;lang-en", + "nickname": "pseudonym", + "matricule": "matricule", + "import_dn": "ldapEnsDN", + "gender": "gender", - "photo": "urlPhoto", + "photo": "jpegPhoto", + "urlPhoto": "urlPhoto", "phone": "telephoneNumber", "address": "roomNumber", "mail": "email", @@ -26,8 +36,10 @@ "login": "loginShell", "directory": "homeDirectory", "classes": "objectClass", + "idNumber": "uidNumber", - "cleanFullName": "gecos", + "const": "gidNumber", + "admins": "adminOf", "speakers": "speakerOf", "members": "memberOf", @@ -37,16 +49,20 @@ "group": { "gid": "cn", "name": "sn", + "nameEn": "sn;lang-en", "site": "website", + "email": "email", "description": "description", "category": "groupCategory", "admins": "admin", + "admins2": "adminUid", "speakers": "speaker", "members": "member", "followers": "follower", - "adress": "cn", + "adress": "roomNumber", "idNumber": "gidNumber", - "logo": "urlPhoto", + "logo": "jpegPhoto", + "urlLogo": "urlPhoto", "classes": "objectClass", "parents": "parent" } diff --git a/src/ldap/export/group.ts b/src/ldap/export/group.ts index fa3e818..7434e13 100644 --- a/src/ldap/export/group.ts +++ b/src/ldap/export/group.ts @@ -83,12 +83,8 @@ export class Group { * @async */ static async search(data: groupData) : Promise<string[]> { - try { - return Tools.search("group", data); - } - catch(err) { - throw "Erreur lors de la recherche approximative d'un groupe."; - } + try { return Tools.search("group", data); } + catch(err) { throw "Erreur lors de la recherche approximative d'un groupe."; } } /** diff --git a/src/ldap/internal/basics.ts b/src/ldap/internal/basics.ts index 664cdd7..dd5dc3b 100644 --- a/src/ldap/internal/basics.ts +++ b/src/ldap/internal/basics.ts @@ -46,7 +46,7 @@ export class Basics { // Se déconnecter dans le doute client.unbind(); // Escape DN as everywhere in this file, but password is taken as is - client.bind(process.env.DN, process.env.PASSWORD, err => { + client.bind(process.env.LDAP_DN, process.env.LDAP_PASSWD, err => { // Gestion erreur if (err instanceof ldap.LDAPError) { console.log("Erreur lors de la connection au LDAP : "+err.message); diff --git a/src/ldap/internal/tools.ts b/src/ldap/internal/tools.ts index ceff61a..bfb4567 100644 --- a/src/ldap/internal/tools.ts +++ b/src/ldap/internal/tools.ts @@ -6,8 +6,6 @@ // Toutes les entrées utilisateur sont escapées par sécurité import ldapEscape from 'ldap-escape'; -// Permet d'envoyer des mails -import nodemailer from 'nodemailer'; // Imports externes limités aux types de l'API import {userData} from '../export/user'; import {groupData} from '../export/group'; @@ -15,42 +13,6 @@ import {groupData} from '../export/group'; import { ldapConfig, categories } from './config'; import {Basics} from './basics'; -// async..await is not allowed in global scope, must use a wrapper -async function main(){ - // Generate test SMTP service account from ethereal.email - // Only needed if you don't have a real mail account for testing - let testAccount = await nodemailer.createTestAccount(); - - // create reusable transporter object using the default SMTP transport - let transporter = nodemailer.createTransport({ - host: "smtp.ethereal.email", - port: 587, - secure: false, // true for 465, false for other ports - auth: { - user: testAccount.user, // generated ethereal user - pass: testAccount.pass // generated ethereal password - } - }); - - // send mail with defined transport object - let info = await transporter.sendMail({ - from: '"Fred Foo 👻" <foo@example.com>', // sender address - to: "bar@example.com, baz@example.com", // list of receivers - subject: "Hello ✔", // Subject line - text: "Hello world?", // plain text body - html: "<b>Hello world?</b>" // html body - }); - - console.log("Message sent: %s", info.messageId); - // Message sent: <b658f8ca-6296-ccf4-8306-87d57a0b4321@example.com> - - // Preview only available when sending through an Ethereal account - console.log("Preview URL: %s", nodemailer.getTestMessageUrl(info)); - // Preview URL: https://ethereal.email/message/WaQKMgKddxQDoou... -} - -main().catch(console.error); - //------------------------------------------------------------------------------------------------------------------------ // Fonctions intermédiaires TBT //------------------------------------------------------------------------------------------------------------------------ diff --git a/src/ldap/test.ts b/src/ldap/test.ts index baa8af6..6fab023 100644 --- a/src/ldap/test.ts +++ b/src/ldap/test.ts @@ -11,4 +11,9 @@ import {User} from './export/user'; User.peek("oliver.facklam").then(dat => console.log(dat)); -test_creation(); \ No newline at end of file +test_creation(); + + +// Permet d'envoyer des mails +import nodemailer from 'nodemailer'; + -- GitLab