Merge branch 'feature/14-premiere-connexion-config' into develop (#14)
This commit is contained in:
commit
111935e451
@ -53,8 +53,7 @@ export class ConfigController {
|
|||||||
// @Roles('super_admin')
|
// @Roles('super_admin')
|
||||||
async completeSetup(@Request() req: any) {
|
async completeSetup(@Request() req: any) {
|
||||||
try {
|
try {
|
||||||
// TODO: Récupérer l'ID utilisateur depuis le JWT
|
const userId = req.user?.id ?? null;
|
||||||
const userId = req.user?.id || 'system';
|
|
||||||
|
|
||||||
await this.configService.markSetupCompleted(userId);
|
await this.configService.markSetupCompleted(userId);
|
||||||
|
|
||||||
|
|||||||
@ -259,10 +259,10 @@ export class AppConfigService implements OnModuleInit {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Marquer la configuration initiale comme terminée
|
* Marquer la configuration initiale comme terminée
|
||||||
* @param userId ID de l'utilisateur qui termine la configuration
|
* @param userId ID de l'utilisateur qui termine la configuration (null si non authentifié)
|
||||||
*/
|
*/
|
||||||
async markSetupCompleted(userId: string): Promise<void> {
|
async markSetupCompleted(userId: string | null): Promise<void> {
|
||||||
await this.set('setup_completed', 'true', userId);
|
await this.set('setup_completed', 'true', userId ?? undefined);
|
||||||
this.logger.log('✅ Configuration initiale marquée comme terminée');
|
this.logger.log('✅ Configuration initiale marquée comme terminée');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ class Env {
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Construit une URL vers l'API v1 à partir d'un chemin (commençant par '/')
|
// Construit une URL vers l'API v1 à partir d'un chemin (commençant par '/')
|
||||||
static String apiV1(String path) => "${apiBaseUrl}/api/v1$path";
|
static String apiV1(String path) => '$apiBaseUrl/api/v1$path';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,10 +1,11 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:go_router/go_router.dart';
|
||||||
|
import 'package:p_tits_pas/services/auth_service.dart';
|
||||||
|
|
||||||
/// Barre principale du dashboard admin : 2 onglets (Gestion des utilisateurs | Paramètres) + infos utilisateur.
|
/// Barre du dashboard admin : onglets Gestion des utilisateurs | Paramètres + déconnexion.
|
||||||
class DashboardAppBarAdmin extends StatelessWidget implements PreferredSizeWidget {
|
class DashboardAppBarAdmin extends StatelessWidget implements PreferredSizeWidget {
|
||||||
final int selectedIndex;
|
final int selectedIndex;
|
||||||
final ValueChanged<int> onTabChange;
|
final ValueChanged<int> onTabChange;
|
||||||
/// Si false, l'onglet "Gestion des utilisateurs" est grisé et inaccessible.
|
|
||||||
final bool setupCompleted;
|
final bool setupCompleted;
|
||||||
|
|
||||||
const DashboardAppBarAdmin({
|
const DashboardAppBarAdmin({
|
||||||
@ -115,9 +116,10 @@ class DashboardAppBarAdmin extends StatelessWidget implements PreferredSizeWidge
|
|||||||
child: const Text('Annuler'),
|
child: const Text('Annuler'),
|
||||||
),
|
),
|
||||||
ElevatedButton(
|
ElevatedButton(
|
||||||
onPressed: () {
|
onPressed: () async {
|
||||||
Navigator.pop(context);
|
Navigator.pop(context);
|
||||||
// TODO: Implémenter la logique de déconnexion
|
await AuthService.logout();
|
||||||
|
if (context.mounted) context.go('/login');
|
||||||
},
|
},
|
||||||
child: const Text('Déconnecter'),
|
child: const Text('Déconnecter'),
|
||||||
),
|
),
|
||||||
@ -127,7 +129,7 @@ class DashboardAppBarAdmin extends StatelessWidget implements PreferredSizeWidge
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Sous-barre affichée quand "Gestion des utilisateurs" est actif : 4 onglets sans infos utilisateur.
|
/// Sous-barre : Gestionnaires | Parents | Assistantes maternelles | Administrateurs.
|
||||||
class DashboardUserManagementSubBar extends StatelessWidget {
|
class DashboardUserManagementSubBar extends StatelessWidget {
|
||||||
final int selectedSubIndex;
|
final int selectedSubIndex;
|
||||||
final ValueChanged<int> onSubTabChange;
|
final ValueChanged<int> onSubTabChange;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user