Squash merge develop into master (feat #25 API users/pending, dashboards, login)
Made-with: Cursor
This commit is contained in:
parent
e713c05da1
commit
b1a80f85c9
@ -91,12 +91,6 @@ export class GestionnairesService {
|
||||
gestionnaire.password = await bcrypt.hash(dto.password, salt);
|
||||
}
|
||||
|
||||
// if (dto.date_consentement_photo !== undefined) {
|
||||
// gestionnaire.date_consentement_photo = dto.date_consentement_photo
|
||||
// ? new Date(dto.date_consentement_photo)
|
||||
// : undefined;
|
||||
// }
|
||||
|
||||
const { password, ...rest } = dto;
|
||||
Object.entries(rest).forEach(([key, value]) => {
|
||||
if (value !== undefined) {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Body, Controller, Delete, Get, Param, Patch, Post, UseGuards } from '@nestjs/common';
|
||||
import { Body, Controller, Delete, Get, Param, Patch, Post, Query, UseGuards } from '@nestjs/common';
|
||||
import { ApiBearerAuth, ApiOperation, ApiParam, ApiResponse, ApiTags } from '@nestjs/swagger';
|
||||
import { AuthGuard } from 'src/common/guards/auth.guard';
|
||||
import { Roles } from 'src/common/decorators/roles.decorator';
|
||||
@ -38,6 +38,16 @@ export class UserController {
|
||||
return this.userService.createUser(dto, currentUser);
|
||||
}
|
||||
|
||||
// Lister les utilisateurs en attente de validation
|
||||
@Get('pending')
|
||||
@Roles(RoleType.SUPER_ADMIN, RoleType.ADMINISTRATEUR, RoleType.GESTIONNAIRE)
|
||||
@ApiOperation({ summary: 'Lister les utilisateurs en attente de validation' })
|
||||
findPendingUsers(
|
||||
@Query('role') role?: RoleType
|
||||
) {
|
||||
return this.userService.findPendingUsers(role);
|
||||
}
|
||||
|
||||
// Lister tous les utilisateurs (super_admin uniquement)
|
||||
@Get()
|
||||
@Roles(RoleType.SUPER_ADMIN, RoleType.ADMINISTRATEUR)
|
||||
|
||||
@ -132,6 +132,14 @@ export class UserService {
|
||||
return this.usersRepository.save(entity);
|
||||
}
|
||||
|
||||
async findPendingUsers(role?: RoleType): Promise<Users[]> {
|
||||
const where: any = { statut: StatutUtilisateurType.EN_ATTENTE };
|
||||
if (role) {
|
||||
where.role = role;
|
||||
}
|
||||
return this.usersRepository.find({ where });
|
||||
}
|
||||
|
||||
async findAll(): Promise<Users[]> {
|
||||
return this.usersRepository.find();
|
||||
}
|
||||
|
||||
@ -73,6 +73,31 @@ class DashboardUserManagementSubBar extends StatelessWidget {
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _pillField({required double width, required Widget child}) {
|
||||
return Container(
|
||||
width: width,
|
||||
height: 34,
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white,
|
||||
borderRadius: BorderRadius.circular(18),
|
||||
border: Border.all(color: Colors.black26),
|
||||
),
|
||||
alignment: Alignment.centerLeft,
|
||||
child: child,
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildAddButton() {
|
||||
return ElevatedButton.icon(
|
||||
onPressed: onAddPressed,
|
||||
icon: const Icon(Icons.add),
|
||||
label: Text(addLabel),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildSubNavItem(BuildContext context, String title, int index) {
|
||||
final bool isActive = index == selectedSubIndex;
|
||||
return InkWell(
|
||||
onTap: () => onSubTabChange(index),
|
||||
child: Container(
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user