1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// ═══════════════════════════════════════════════════════════════
// AdminAuth — Contrat pour la vérification du login admin
// ═══════════════════════════════════════════════════════════════
//
// Ce module ne sait pas qu'un panneau admin existe.
// Il définit uniquement le contrat d'authentification.
// C'est src/admin/ qui dépend d'ici, jamais l'inverse.
// ═══════════════════════════════════════════════════════════════
use DatabaseConnection;
/// Données retournées après une authentification admin réussie
/// Trait à implémenter pour brancher la vérification du login admin
///
/// Retourne `None` si :
/// - L'utilisateur n'existe pas
/// - Le mot de passe est incorrect
/// - Le compte est inactif
/// - L'utilisateur n'a pas les droits admin
///
/// ## Implémentation rapide avec DefaultAdminAuth :
/// ```rust,ignore
/// use runique::middleware::auth::DefaultAdminAuth;
///
/// .with_admin(|a| a.auth(DefaultAdminAuth::<users::Entity>::new()))
/// ```