Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Référence

La référence est une documentation exhaustive et précise. Elle décrit le comportement exact des API, des schémas, et des services. Consultez-la quand vous avez besoin de savoir ce qu’une fonction accepte, ce qu’une table contient, ou ce qu’un endpoint retourne.

Diátaxis — mode information : la référence ne vous apprend pas — elle vous informe. Chaque entrée est complète, précise, et sans contexte superflu.

Documents de référence

Services API interne

Signatures complètes de tous les services Rust disponibles dans gitrust-core et rustwarden-core : AuthService, UserService, RepositoryService, IssueService, LabelService, TotpService, ResourceService, et plus.


Schéma base de données

ERD Mermaid complet, définition de chaque table avec types Rust/SeaORM, contraintes, index, et règles de clé étrangère. Ordre des migrations inclus.


API REST v1

Tous les endpoints /api/v1/ : authentification, utilisateurs, dépôts, issues, pull requests, pipelines CI. Format requête/réponse JSON, codes d’erreur, pagination, rate limiting, exemples curl.


Hooks git post-receive

Implémentation du trait RustwardenHooks dans gitrust. Événements on_user_registered, on_user_deleted, on_resource_shared, on_resource_unshared avec leurs effets de bord. Séquence receive-pack, dispatch webhook/CI, tests locaux.


API rustwarden-core

Extracteurs Axum (AuthUser, OptionalUser, AuthenticatedSession), middleware JWT/CSRF/rate-limit, JwtService, trait RustwardenHooks, i18n, EmailQueueService. Règles d’extension du framework.


Conventions de lecture

  • Les signatures de méthode suivent la syntaxe Rust : fn nom(arg: Type) -> Result<ReturnType, Error>.
  • Les types Option<T> indiquent un champ nullable en base ou un paramètre optionnel.
  • Les colonnes marquées PK sont des clés primaires UUID générées côté base (gen_random_uuid()).
  • TIMESTAMPTZ = timestamp avec fuseau horaire, stocké en UTC.
  • Vous cherchez comment utiliser un service dans votre code ? → Guides pratiques
  • Vous voulez comprendre pourquoi ces services sont structurés ainsi ? → Explications