Skip to content

chore(shared): ajouter les codes link_expired et account_required - #595

Merged
PaulThiberville merged 2 commits into
mainfrom
issue/442-link-expired-code
Oct 21, 2026
Merged

PaulThiberville merged 2 commits into
mainfrom
issue/442-link-expired-code

Conversation

@Nascimento95

@Nascimento95 Nascimento95 commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Résultat et problème

La page API › Conventions liste link_expired parmi les codes métier stables, mais apiErrorCodes ne le contenait pas : ApiError aurait refusé la 410 que #202 doit renvoyer. Cette PR l'ajoute (410, lien de confirmation expiré, déjà utilisé ou annulé, D-062), avec un test qui compare la liste au wiki.

Écart signalé : le ticket dit « aucun autre code ajouté » mais demande aussi que la liste contienne tous les codes stables du wiki. Depuis sa rédaction, le wiki a ajouté account_required (403, route qui demande un compte, appelée avec le jeton d'un compte anonyme, D-099, 19/10). Les deux phrases ne tiennent pas ensemble : j'ai suivi le critère d'acceptation et ajouté account_required aussi (décision de l'opérateur). Aucun code n'est retiré, route_removed reste tel quel. Après rebase sur main, la liste garde aussi les quatre codes de l'admin (mfa_required, recent_sign_in_required, account_suspended, already_decided) ; la page API › Conventions ne les cite pas encore (#618), le test compare donc aux codes de Conventions et à ceux de l'admin.

Fixes #442
Écrans : aucun
Dépendance : aucune

Comment vérifier

  • pnpm --filter @widoo/shared test : 681 tests, dont 4 nouveaux dans error.test.ts (liste identique à celle du wiki plus les codes de l'admin et internal_error, ApiError.parse accepte link_expired et account_required, un code inconnu est refusé).
  • pnpm lint && pnpm typecheck && pnpm test verts en local (API : 769 tests, client API : 60)
  • Testé sur iOS / Android : sans objet

Formatage mécanique : non

Risque

Niveau : 1 — une liste de codes d'erreur de plus acceptée par un schéma de validation, sans route, migration ni changement de comportement.

Taille : 2 fichiers, deux commits (38 lignes, puis 15 lignes de test ajoutées par l'équipe après le rebase).

Retour arrière

Revert de la PR suffit.

@Nascimento95 Nascimento95 added type:chore Outillage, infra, process area:api apps/api labels Oct 21, 2026
@vercel

vercel Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
widoo-web Ready Ready Preview Oct 21, 2026 5:43pm UTC

@Nascimento95 Nascimento95 changed the title chore(shared): ajouter les codes d'erreur link_expired et account_required chore(shared): ajouter les codes link_expired et account_required Oct 21, 2026
@PaulThiberville

Copy link
Copy Markdown
Collaborator

Rebasée sur main par l'équipe pour repasser l'audit vite 8.3.4, aucun changement de code.

@PaulThiberville

PaulThiberville commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

📋 MANAGER, 2026-10-21 — relecture contre #442 : verdict C (à reprendre avant fusion : son test échoue une fois rebasée ; niveau 1 confirmé)

Rebase : la branche part de 134c2b4a. Le rebase sur main (d95f8793) bute sur un conflit dans packages/shared/src/schemas/error.ts. Il est trivial : garder les quatre codes ajoutés par la pile admin, plus account_required. Après résolution (essayée dans un worktree, sans rien pousser), error.test.ts échoue. Le test compare apiErrorCodes à une liste figée « codes du wiki + internal_error », alors que main porte maintenant mfa_required, recent_sign_in_required, account_suspended et already_decided (PR #363, #365, #550).

Ticket corrigé par MANAGER (réponse sur l'Inbox) : account_required est attendu (D-099), et la liste doit garder les quatre codes de l'admin. Le critère le dit maintenant. La page API › Conventions ne cite pas ces codes de l'admin ; l'alignement du wiki est demandé à DESIGN dans #618. D'ici là, le test compare aux codes de Conventions et à ceux de la section Admin, avec un commentaire qui le dit.

Modèle de PR : complet ; écart bien signalé. Risque : niveau 1 juste.

À faire : rebase, résolution du conflit, liste du test complétée, CI verte. Fusionnable ensuite sous l'autorisation permanente de Paul (niveau 1), dans n'importe quel ordre avec #592 et #594 (aucun fichier en commun).

Nascimento95 and others added 2 commits October 21, 2026 19:39
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@PaulThiberville
PaulThiberville force-pushed the issue/442-link-expired-code branch from 40a268b to fe282c4 Compare October 21, 2026 17:42
@PaulThiberville

Copy link
Copy Markdown
Collaborator

Rebasée et complétée par l'équipe : rebase sur main (conflit de error.ts résolu en gardant les quatre codes de l'admin et account_required), error.test.ts comparé aussi aux codes de l'admin (#618) ; lint, typecheck et tests verts en local.

@PaulThiberville
PaulThiberville merged commit 72f7db7 into main Oct 21, 2026
8 checks passed
@PaulThiberville
PaulThiberville deleted the issue/442-link-expired-code branch October 21, 2026 17:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:api apps/api type:chore Outillage, infra, process

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Ajouter link_expired aux codes d'erreur partagés de l'API

2 participants