continue the journey

This commit is contained in:
batche
2022-10-21 16:55:39 +02:00
parent a175ef7162
commit b12db3e912
14 changed files with 67 additions and 38 deletions

View File

@@ -10,13 +10,12 @@ exports.AppModule = void 0;
const common_1 = require("@nestjs/common"); const common_1 = require("@nestjs/common");
const app_controller_1 = require("./app.controller"); const app_controller_1 = require("./app.controller");
const app_service_1 = require("./app.service"); const app_service_1 = require("./app.service");
const auth_module_1 = require("./auth/auth.module");
const users_module_1 = require("./users/users.module"); const users_module_1 = require("./users/users.module");
let AppModule = class AppModule { let AppModule = class AppModule {
}; };
AppModule = __decorate([ AppModule = __decorate([
(0, common_1.Module)({ (0, common_1.Module)({
imports: [auth_module_1.AuthModule, users_module_1.UsersModule], imports: [users_module_1.UsersModule],
controllers: [app_controller_1.AppController], controllers: [app_controller_1.AppController],
providers: [app_service_1.AppService], providers: [app_service_1.AppService],
}) })

View File

@@ -1 +1 @@
{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qDAAiD;AACjD,+CAA2C;AAC3C,oDAAgD;AAChD,uDAAmD;AAO5C,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,SAAS;IALrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,wBAAU,EAAE,0BAAW,CAAC;QAClC,WAAW,EAAE,CAAC,8BAAa,CAAC;QAC5B,SAAS,EAAE,CAAC,wBAAU,CAAC;KACxB,CAAC;GACW,SAAS,CAAG;AAAZ,8BAAS"} {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qDAAiD;AACjD,+CAA2C;AAE3C,uDAAmD;AAO5C,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,SAAS;IALrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,0BAAW,CAAC;QACtB,WAAW,EAAE,CAAC,8BAAa,CAAC;QAC5B,SAAS,EAAE,CAAC,wBAAU,CAAC;KACxB,CAAC;GACW,SAAS,CAAG;AAAZ,8BAAS"}

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,5 @@
export declare class User { export declare class User {
userId: number; userId: string;
username: string; username: string;
password: string; password: string;
} }

View File

@@ -2,9 +2,9 @@ import { UsersService } from './users.service';
export declare class UsersController { export declare class UsersController {
private readonly usersService; private readonly usersService;
constructor(usersService: UsersService); constructor(usersService: UsersService);
findAll(query: any): string; findAll(query: any): import("./entities/user.entity").User[];
findOne(id: string): string; findOne(id: string): import("./entities/user.entity").User;
create(body: any): any; create(body: any): string;
update(id: string, body: any): string; update(id: string, body: any): string;
remove(id: string): string; remove(id: string): string;
} }

View File

@@ -20,20 +20,19 @@ let UsersController = class UsersController {
this.usersService = usersService; this.usersService = usersService;
} }
findAll(query) { findAll(query) {
const { limit, offset } = query; return this.usersService.findAll();
return `This action returns all users. The limits is ${limit} and the offset is ${offset}`;
} }
findOne(id) { findOne(id) {
return 'This action returns a single user whose id is ' + id; return this.usersService.findOne(id);
} }
create(body) { create(body) {
return body; return this.usersService.create(body);
} }
update(id, body) { update(id, body) {
return 'The user whose id is ' + id + ' has been updated'; return this.usersService.update(id, body);
} }
remove(id) { remove(id) {
return 'The user whose id is ' + id + ' has been deleted'; return this.usersService.remove(id);
} }
}; };
__decorate([ __decorate([

View File

@@ -1 +1 @@
{"version":3,"file":"users.controller.js","sourceRoot":"","sources":["../../src/users/users.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAGwB;AAExB,mDAA+C;AAGxC,IAAM,eAAe,GAArB,MAAM,eAAe;IAC3B,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAG3D,OAAO,CAAU,KAAK;QACrB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAChC,OAAO,gDAAgD,KAAK,sBAAsB,MAAM,EAAE,CAAC;IAC5F,CAAC;IAGD,OAAO,CAAc,EAAU;QAC9B,OAAO,iDAAiD,GAAG,EAAE,CAAC;IAC/D,CAAC;IAID,MAAM,CAAS,IAAI;QAClB,OAAO,IAAI,CAAC;IACb,CAAC;IAGD,MAAM,CAAc,EAAU,EAAU,IAAI;QAC3C,OAAO,uBAAuB,GAAG,EAAE,GAAG,mBAAmB,CAAC;IAC3D,CAAC;IAGD,MAAM,CAAc,EAAU;QAC7B,OAAO,uBAAuB,GAAG,EAAE,GAAG,mBAAmB,CAAC;IAC3D,CAAC;CACD,CAAA;AA1BA;IAAC,IAAA,YAAG,GAAE;IACG,WAAA,IAAA,cAAK,GAAE,CAAA;;;;8CAGf;AAED;IAAC,IAAA,YAAG,EAAC,KAAK,CAAC;IACF,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;8CAEnB;AAED;IAAC,IAAA,aAAI,GAAE;IACN,IAAA,iBAAQ,EAAC,mBAAU,CAAC,IAAI,CAAC;IAClB,WAAA,IAAA,aAAI,GAAE,CAAA;;;;6CAEb;AAED;IAAC,IAAA,cAAK,EAAC,KAAK,CAAC;IACL,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAA,aAAI,GAAE,CAAA;;;;6CAEtC;AAED;IAAC,IAAA,eAAM,EAAC,KAAK,CAAC;IACN,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;6CAElB;AA5BW,eAAe;IAD3B,IAAA,mBAAU,EAAC,OAAO,CAAC;qCAEwB,4BAAY;GAD3C,eAAe,CA6B3B;AA7BY,0CAAe"} {"version":3,"file":"users.controller.js","sourceRoot":"","sources":["../../src/users/users.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAGwB;AAExB,mDAA+C;AAGxC,IAAM,eAAe,GAArB,MAAM,eAAe;IAC3B,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAG3D,OAAO,CAAU,KAAK;QAErB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;IACpC,CAAC;IAGD,OAAO,CAAc,EAAU;QAC9B,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAID,MAAM,CAAS,IAAI;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAGD,MAAM,CAAc,EAAU,EAAU,IAAI;QAC3C,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAGD,MAAM,CAAc,EAAU;QAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;CACD,CAAA;AA1BA;IAAC,IAAA,YAAG,GAAE;IACG,WAAA,IAAA,cAAK,GAAE,CAAA;;;;8CAGf;AAED;IAAC,IAAA,YAAG,EAAC,KAAK,CAAC;IACF,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;8CAEnB;AAED;IAAC,IAAA,aAAI,GAAE;IACN,IAAA,iBAAQ,EAAC,mBAAU,CAAC,IAAI,CAAC;IAClB,WAAA,IAAA,aAAI,GAAE,CAAA;;;;6CAEb;AAED;IAAC,IAAA,cAAK,EAAC,KAAK,CAAC;IACL,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAA,aAAI,GAAE,CAAA;;;;6CAEtC;AAED;IAAC,IAAA,eAAM,EAAC,KAAK,CAAC;IACN,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;6CAElB;AA5BW,eAAe;IAD3B,IAAA,mBAAU,EAAC,OAAO,CAAC;qCAEwB,4BAAY;GAD3C,eAAe,CA6B3B;AA7BY,0CAAe"}

View File

@@ -1,8 +1,9 @@
import { User } from './entities/user.entity'; import { User } from './entities/user.entity';
export declare class UsersService { export declare class UsersService {
private users; private users;
findOne(id: number): User; findOne(id: string): User;
findAll(): User[]; findAll(): User[];
create(createUserDto: any): void; create(createUserDto: any): string;
update(id: number, updateUserDto: any): void; update(id: string, updateUserDto: any): string;
remove(id: string): string;
} }

View File

@@ -12,29 +12,43 @@ let UsersService = class UsersService {
constructor() { constructor() {
this.users = [ this.users = [
{ {
userId: 1, userId: '1',
username: 'john', username: 'john',
password: 'changeme', password: 'changeme',
}, },
{ {
userId: 2, userId: '2',
username: 'maria', username: 'maria',
password: 'guess', password: 'guess',
}, },
]; ];
} }
findOne(id) { findOne(id) {
return this.users.find(user => user.userId === id); const user = this.users.find(user => user.userId === id);
if (!user)
throw new common_1.NotFoundException(`The requested user not found.`);
return user;
} }
findAll() { findAll() {
if (!this.users.length)
throw new common_1.HttpException(`No user exists.`, common_1.HttpStatus.NOT_FOUND);
return this.users; return this.users;
} }
create(createUserDto) { create(createUserDto) {
this.users.push(createUserDto); const user = this.users.push(createUserDto);
if (!user)
throw new common_1.HttpException(`The user could not be created.`, common_1.HttpStatus.NOT_FOUND);
return 'User has been created';
} }
update(id, updateUserDto) { update(id, updateUserDto) {
const index = this.users.findIndex(user => user.userId === id); const index = this.users.findIndex(user => user.userId === id);
this.users[index] = updateUserDto; this.users[index] = updateUserDto;
return this.users[index].username + ' has been updated';
}
remove(id) {
const index = this.users.findIndex(user => user.userId === id);
this.users.splice(index, 1);
return 'User has been deleted';
} }
}; };
UsersService = __decorate([ UsersService = __decorate([

View File

@@ -1 +1 @@
{"version":3,"file":"users.service.js","sourceRoot":"","sources":["../../src/users/users.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAIrC,IAAM,YAAY,GAAlB,MAAM,YAAY;IAAlB;QACE,UAAK,GAAU;YACtB;gBACC,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE,UAAU;aACpB;YACD;gBACC,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,OAAO;aACjB;SACD,CAAC;IAmBH,CAAC;IAjBA,OAAO,CAAC,EAAU;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,OAAO;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,aAAkB;QACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,EAAU,EAAE,aAAkB;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;IACnC,CAAC;CAED,CAAA;AA/BY,YAAY;IADxB,IAAA,mBAAU,GAAE;GACA,YAAY,CA+BxB;AA/BY,oCAAY"} {"version":3,"file":"users.service.js","sourceRoot":"","sources":["../../src/users/users.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAsG;AAK/F,IAAM,YAAY,GAAlB,MAAM,YAAY;IAAlB;QACE,UAAK,GAAU;YACtB;gBACC,MAAM,EAAE,GAAG;gBACX,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE,UAAU;aACpB;YACD;gBACC,MAAM,EAAE,GAAG;gBACX,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,OAAO;aACjB;SACD,CAAC;IAkCH,CAAC;IAhCA,OAAO,CAAC,EAAU;QACjB,MAAM,IAAI,GAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI;YACR,MAAM,IAAI,0BAAiB,CAAC,+BAA+B,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO;QACN,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;YACrB,MAAM,IAAI,sBAAa,CAAC,iBAAiB,EAAC,mBAAU,CAAC,SAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,aAAkB;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI;YACR,MAAM,IAAI,sBAAa,CAAC,gCAAgC,EAAC,mBAAU,CAAC,SAAS,CAAC,CAAC;QAChF,OAAO,uBAAuB,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,EAAU,EAAE,aAAkB;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,mBAAmB,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,EAAU;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,uBAAuB,CAAC;IAChC,CAAC;CAED,CAAA;AA9CY,YAAY;IADxB,IAAA,mBAAU,GAAE;GACA,YAAY,CA8CxB;AA9CY,oCAAY"}

View File

@@ -5,7 +5,7 @@ import { AuthModule } from './auth/auth.module';
import { UsersModule } from './users/users.module'; import { UsersModule } from './users/users.module';
@Module({ @Module({
imports: [AuthModule, UsersModule], imports: [UsersModule],
controllers: [AppController], controllers: [AppController],
providers: [AppService], providers: [AppService],
}) })

View File

@@ -1,5 +1,5 @@
export class User { export class User {
userId: number; userId: string;
username: string; username: string;
password: string; password: string;
} }

View File

@@ -11,28 +11,28 @@ export class UsersController {
// par exemple dans postamn ou insomnia http://localhost:3000/users?limit=10&offset=20 // par exemple dans postamn ou insomnia http://localhost:3000/users?limit=10&offset=20
@Get() @Get()
findAll(@Query() query) { findAll(@Query() query) {
const { limit, offset } = query; //const { limit, offset } = query;
return `This action returns all users. The limits is ${limit} and the offset is ${offset}`; return this.usersService.findAll();
} }
@Get(':id') @Get(':id')
findOne(@Param('id') id: string) { findOne(@Param('id') id: string) {
return 'This action returns a single user whose id is ' + id; return this.usersService.findOne(id);
} }
@Post() @Post()
@HttpCode(HttpStatus.GONE) @HttpCode(HttpStatus.GONE)
create(@Body() body) { create(@Body() body) {
return body; return this.usersService.create(body);
} }
@Patch(':id') @Patch(':id')
update(@Param('id') id: string, @Body() body) { update(@Param('id') id: string, @Body() body) {
return 'The user whose id is ' + id + ' has been updated'; return this.usersService.update(id, body);
} }
@Delete(':id') @Delete(':id')
remove(@Param('id') id: string) { remove(@Param('id') id: string) {
return 'The user whose id is ' + id + ' has been deleted'; return this.usersService.remove(id);
} }
} }

View File

@@ -1,36 +1,52 @@
import { Injectable } from '@nestjs/common'; import { HttpCode, HttpException, HttpStatus, Injectable, NotFoundException, } from '@nestjs/common';
import { NotFoundError } from 'rxjs';
import { User } from './entities/user.entity'; import { User } from './entities/user.entity';
@Injectable() @Injectable()
export class UsersService { export class UsersService {
private users:User[] = [ private users:User[] = [
{ {
userId: 1, userId: '1',
username: 'john', username: 'john',
password: 'changeme', password: 'changeme',
}, },
{ {
userId: 2, userId: '2',
username: 'maria', username: 'maria',
password: 'guess', password: 'guess',
}, },
]; ];
findOne(id: number) { findOne(id: string) {
return this.users.find(user => user.userId === id); const user = this.users.find(user => user.userId === id);
if (!user)
throw new NotFoundException(`The requested user not found.`);
return user;
} }
findAll() { findAll() {
if (!this.users.length)
throw new HttpException(`No user exists.`,HttpStatus.NOT_FOUND);
return this.users; return this.users;
} }
create(createUserDto: any) { create(createUserDto: any) {
this.users.push(createUserDto); const user = this.users.push(createUserDto);
if (!user)
throw new HttpException(`The user could not be created.`,HttpStatus.NOT_FOUND);
return 'User has been created';
} }
update(id: number, updateUserDto: any) { update(id: string, updateUserDto: any) {
const index = this.users.findIndex(user => user.userId === id); const index = this.users.findIndex(user => user.userId === id);
this.users[index] = updateUserDto; this.users[index] = updateUserDto;
return this.users[index].username + ' has been updated';
}
remove(id: string) {
const index = this.users.findIndex(user => user.userId === id);
this.users.splice(index, 1);
return 'User has been deleted';
} }
} }