@mostajs/users
v0.1.0
Published
Domaine personne/utilisateur (profil, photo, faceDescriptor, préférences, statut, carte) — back DB-agnostique. Socle dont les entités métier dérivent (Client/Patient/Élève).
Maintainers
Readme
@mostajs/users
Auteur : Dr Hamid MADANI [email protected] · Licence : AGPL-3.0-or-later
Stack : membre de @mostajs/users-stack (../). Statut : 0.1.0 (extraction exécutable — 12 tests verts).
Domaine personne/utilisateur (back, UI-agnostique, DB-agnostique). Socle dont les entités métier dérivent (Client/Patient/Élève via
extendUser+ discriminator@mostajs/orm).
Exemple minimal
import { createUsers, createMemoryRepositories } from '@mostajs/users';
const users = createUsers({ repositories: createMemoryRepositories() });
const u = await users.create({ firstName: 'Amina', email: '[email protected]' }); // status 'active', qrCode auto
await users.assignRole(u.id, 'role-admin');
await users.enrollFace(u.id, descriptor128); // compose @mostajs/face (injecté)Dérivation (socle réutilisé partout)
import { extendUser } from '@mostajs/users';
const ClientSchema = extendUser({ clientType: { type:'string' } }, { collection:'clients', discriminatorValue:'client' });
// Client hérite de photo/faceDescriptor/status/carte… + ajoute ses champs.SCIM (alignement, pas serveur)
import { toScimUser, fromScimUser } from '@mostajs/users/scim' — cf. ../docs/01-ETUDE-ETAT-ART-USERS-… §3.2-ter.
Lancer
node examples/users-basic/run.mjs
node test-scripts/unit/users.test.mjsComposition : auth(creds) · rbac(rôles) · face(visage) · storage(photo) · qrpanel(QR). Sans password (→ auth). API : llms.txt.
