routes added
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
export class CreateUserDto {
|
||||
email: string;
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
import { Test, TestingModule } from '@nestjs/testing';
|
||||
import { UserController } from './user.controller';
|
||||
import { UserService } from './user.service';
|
||||
|
||||
describe('UserController', () => {
|
||||
let controller: UserController;
|
||||
|
||||
beforeEach(async () => {
|
||||
const module: TestingModule = await Test.createTestingModule({
|
||||
controllers: [UserController],
|
||||
providers: [UserService],
|
||||
}).compile();
|
||||
|
||||
controller = module.get<UserController>(UserController);
|
||||
});
|
||||
|
||||
it('should be defined', () => {
|
||||
expect(controller).toBeDefined();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,26 @@
|
||||
import { Body, Controller, Get, Param, Post } from '@nestjs/common';
|
||||
import { UserService } from './user.service';
|
||||
|
||||
@Controller('users')
|
||||
export class UserController {
|
||||
constructor(private readonly userService: UserService) {}
|
||||
|
||||
//Route pour retrouver tous les utilisateurs
|
||||
@Get()
|
||||
findAll() {
|
||||
return this.userService.findAll();
|
||||
}
|
||||
|
||||
//Route pour retrouver un utilisateur par ID
|
||||
@Get(':id')
|
||||
findOneById(@Param('id') id: string) {
|
||||
return this.userService.findOneById(Number(id));
|
||||
}
|
||||
|
||||
//Route pour créer un utilisateur
|
||||
@Post()
|
||||
createUser(@Body() createUserDto: { email: string }) {
|
||||
return this.userService.createUser(createUserDto);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { UserController } from './user.controller';
|
||||
import { UserService } from './user.service';
|
||||
|
||||
@Module({
|
||||
controllers: [UserController],
|
||||
providers: [UserService]
|
||||
})
|
||||
export class UserModule {}
|
||||
@@ -0,0 +1,18 @@
|
||||
import { Test, TestingModule } from '@nestjs/testing';
|
||||
import { UserService } from './user.service';
|
||||
|
||||
describe('UserService', () => {
|
||||
let service: UserService;
|
||||
|
||||
beforeEach(async () => {
|
||||
const module: TestingModule = await Test.createTestingModule({
|
||||
providers: [UserService],
|
||||
}).compile();
|
||||
|
||||
service = module.get<UserService>(UserService);
|
||||
});
|
||||
|
||||
it('should be defined', () => {
|
||||
expect(service).toBeDefined();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,34 @@
|
||||
import { Injectable } from '@nestjs/common';
|
||||
|
||||
@Injectable()
|
||||
export class UserService {
|
||||
private users = [
|
||||
{ id: 1, email: 'alice@example.com' },
|
||||
{ id: 2, email: 'bob@example.com' },
|
||||
];
|
||||
|
||||
//Methode pour trouver tous les utilisateurs
|
||||
findAll() {
|
||||
return this.users;
|
||||
}
|
||||
|
||||
//Methode pour trouver un utilisateur par ID
|
||||
findOneById(id: number) {
|
||||
return this.users.find(user => user.id === id);
|
||||
}
|
||||
|
||||
//Methode pour trouver un utilisateur par email
|
||||
findOneByEmail(email: string) {
|
||||
return this.users.find(user => user.email === email);
|
||||
}
|
||||
|
||||
//Methode pour faire un utilisateur
|
||||
createUser(createUserDto: {email: string}) {
|
||||
const newUser = {
|
||||
id: this.users.length + 1,
|
||||
...createUserDto,
|
||||
};
|
||||
this.users.push(newUser);
|
||||
return newUser;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user