fix(#131): co_parent en réponse parents + masquage secrets user
Contrat API fiche parent : co_parent peuplé (déjà chargé), sans password ni tokens sur user/co_parent. Doc tmp front→back. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import { Users } from 'src/entities/users.entity';
|
||||
|
||||
/** Champs sensibles exclus des réponses API (ticket #131 — user / co_parent). */
|
||||
const SENSITIVE_USER_KEYS: (keyof Users)[] = [
|
||||
'password',
|
||||
'token_creation_mdp',
|
||||
'token_creation_mdp_expire_le',
|
||||
'password_reset_token',
|
||||
'password_reset_expires',
|
||||
];
|
||||
|
||||
/**
|
||||
* Retourne une copie utilisateur sans secrets (hash MDP, tokens).
|
||||
* Utilisé pour `user` et `co_parent` dans les réponses Parents.
|
||||
*/
|
||||
export function sanitizeUserForApi(user?: Users | null): Users | undefined {
|
||||
if (!user) return undefined;
|
||||
const safe = { ...user } as Users;
|
||||
for (const key of SENSITIVE_USER_KEYS) {
|
||||
delete safe[key];
|
||||
}
|
||||
return safe;
|
||||
}
|
||||
Reference in New Issue
Block a user