Feature #99 + BugFixes

This commit is contained in:
2024-09-14 19:46:18 +02:00
parent 8dd13d5472
commit 8595e70ceb
16 changed files with 626 additions and 24 deletions

View File

@@ -1,5 +1,6 @@
import { BadRequestException, Body, Controller, Get, Inject, Param, Post, Query, Request, UseGuards } from '@nestjs/common';
import { WINSTON_MODULE_PROVIDER } from 'nest-winston';
import { AdminAuthGuard } from 'src/jwt-auth/admin-auth.guard';
import { Logger } from 'winston';
import { ZodError } from 'zod';
import { FileService } from '../file/file.service';
@@ -18,20 +19,25 @@ export class UserController {
) {}
@UseGuards(OptionalJwtAuthGuard)
@Get()
findByMail(@Request() req, @Query('mail') mail: string): any {
async findByMail(@Request() req, @Query('mail') mail: string): Promise<User> {
this.logger.info(`Searching for user with EMail: ${mail}`);
const user = this.userService.getUserByMail(mail, req.user as JwtUser);
const user = await this.userService.getUserByMail(mail, req.user as JwtUser);
this.logger.info(`Found user: ${JSON.stringify(user)}`);
return user;
}
@Get(':id')
findById(@Param('id') id: string): any {
async findById(@Param('id') id: string): Promise<User> {
this.logger.info(`Searching for user with ID: ${id}`);
const user = this.userService.getUserById(id);
const user = await this.userService.getUserById(id);
this.logger.info(`Found user: ${JSON.stringify(user)}`);
return user;
}
@UseGuards(AdminAuthGuard)
@Get('user/all')
async getAllUser(): Promise<User[]> {
return await this.userService.getAllUser();
}
@Post()
async save(@Body() user: any): Promise<User> {
this.logger.info(`Saving user: ${JSON.stringify(user)}`);
@@ -60,9 +66,9 @@ export class UserController {
return savedUser;
}
@Post('search')
find(@Body() criteria: UserListingCriteria): any {
async find(@Body() criteria: UserListingCriteria): Promise<{ results: User[]; totalCount: number }> {
this.logger.info(`Searching for users with criteria: ${JSON.stringify(criteria)}`);
const foundUsers = this.userService.searchUserListings(criteria);
const foundUsers = await this.userService.searchUserListings(criteria);
this.logger.info(`Found users: ${JSON.stringify(foundUsers)}`);
return foundUsers;
}