diff --git a/README.md b/README.md index a6b378ed4d7c6b3ed5fcea0469e041e521187a02..03e0d1e55401934f42408294a82c96a62a3caae8 100644 --- a/README.md +++ b/README.md @@ -131,16 +131,16 @@ L'API est conçue pour êtes modulaire et pour fonctionner dans plusieurs enviro On peut donc le configurer via des fichiers ou des variables d'environnement. En deux mots : -* jsdoc_config.json, Dockerfile, .dockerignore, .gitignore, eslintignore, webpack.config.js : transparents -* ldap_config.json : noms champs du LDAP -* ldap_credentials.json : paramètres de connexion secrets au LDAP -* .estlintrc.json : ESLINT ou à quel point cancériser le développeur -* .gitattributes : terminaison de fichiers -* .gitlab-ci.yml : pipeline gitlab -* package.json et package-lock.json : gestion des dépendances -* tsconfig : configure la compilation de fichiers Typescript en Javascript -* tslint.json : configure tslint, utilisé plutôt que tsc dans le projet final -* .env : variables d'environnement, ports... +* [`jsdoc_config.json`](../jsdoc_config.json), [`Dockerfile`](../Dockerfile), [`.dockerignore`](../.dockerignore), [`.gitignore`](../.gitignore), [`.eslintignore`](../.eslintignore), [`webpack.config.js`](../webpack.config.js) : transparents +* [`ldap_config.json`](../ldap_config.json) : noms champs du LDAP +* [`ldap_credentials.json`](../ldap_credentials.json) : paramètres de connexion secrets au LDAP +* [`.estlintrc.json`](../.eslintrc.json) : ESLINT ou à quel point cancériser le développeur +* [`.gitattributes`](../.gitattributes) : terminaison de fichiers +* [`.gitlab-ci.yml`](../.gitlab-ci.yml) : pipeline gitlab +* [`package.json`](../package.json) et [`package-lock.json`](../package-lock.json) : gestion des dépendances usuel +* [`tsconfig.json`](../tsconfig.json) : configure la compilation de fichiers Typescript en Javascript +* [`tslint.json`](../tslint.json) : configure tslint, utilisé plutôt que tsc dans le projet final +* [`.env`](../.env) : définit les variables d'environnement et ports utilisés... Certains de ces fichiers de configurations ont une version "distribution" en "_dist" qui permet de les partager (le reste du temps ils sont dans le .gitignore), quitte à les renommer et à les modifier en local. diff --git a/ldap_config.json b/ldap_config.json index d981c3f9b8286e97291ea413800ee61cef37599a..38d2a9ffcf1b42a3fed4ec0b6f09c9504e507fdb 100644 --- a/ldap_config.json +++ b/ldap_config.json @@ -21,7 +21,7 @@ "lastName": "sn", "nickname": "pseudonym", "gender": "gender", - "photo": "jpegPhoto", + "photo": "urlPhoto", "phone": "telephoneNumber", "adress": "roomNumber", "mail": "email", @@ -51,7 +51,7 @@ "adress":"cn", "idNumber": "gidNumber", "password": "userPassword", - "logo": "jpegPhoto", + "logo": "urlPhoto", "classes": "objectClass", "childs": "child", "parents": "parent" diff --git a/src/ldap/internal/config.ts b/src/ldap/internal/config.ts index 39ba4f63d0640c3b1f5d0180b351e964ada24623..023fe9d4113ada7af4253f329b0b15bb5a8f73a7 100644 --- a/src/ldap/internal/config.ts +++ b/src/ldap/internal/config.ts @@ -37,45 +37,51 @@ export const credentialsLdapConfig = JSON.parse(fs.readFileSync(path_credentials export const categories = ["admins","speakers","members","followers"]; /** - * @class userData - * @desc Interface avec toutes les données extractables pour un utilisateur. + * @class partUserData + * @desc Interface avec les données visibles au mponde extérieur. * @var {string?} uid - Identifiant utilisateur - * @var {string?} password - Mot de passe généré en amont (utilisé seulement à l'initialialisation, pas stocké bien sûr) * @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?} phone - Numéro(s) de téléphone * @var {string?} address - Adresse(s) - * @var {string?} mail - Adresse(s) courriel - * @var {string?} birthdate - Date d'anniversaire - * @var {string?} nationality - Nationalité d'origine * @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 * @memberof LDAP */ -export class userData { +export class partUserData { uid: string; - password?: string; givenName: string; lastName: string; - nickname?: string; gender?: 'M'|'F'|'U'; photo?: string; - phone?: string; address?: string; - mail?: string; - birthdate: string; - nationality?: string; admins?: string[]; speakers?: string[]; members?: string[]; followers?: string[]; } +/** + * @class userData + * @desc Interface avec toutes les données extractables pour un utilisateur. + * @var {string?} nickname - Surnom + * @var {string?} phone - Numéro(s) de téléphone + * @var {string?} mail - Adresse(s) courriel + * @var {string?} birthdate - Date d'anniversaire + * @var {string?} nationality - Nationalité d'origine + * @memberof LDAP + */ +export class userData extends partUserData { + nickname?: string; + phone?: string; + mail?: string; + birthdate: string; + nationality?: string; +} + /** * @class groupData * @var {string} gid - Identifiant du groupe