ajout d'une bdd postgresql aec le type orm, d'une table user avec quelques champs dedans. TODO : faire une relations basique entre deux entités, par exemple la question de la relation entre deux personnes, amis / bloqués.
This commit is contained in:
@@ -11,11 +11,25 @@ const common_1 = require("@nestjs/common");
|
||||
const app_controller_1 = require("./app.controller");
|
||||
const app_service_1 = require("./app.service");
|
||||
const users_module_1 = require("./users/users.module");
|
||||
const typeorm_1 = require("@nestjs/typeorm");
|
||||
const config_1 = require("@nestjs/config");
|
||||
let AppModule = class AppModule {
|
||||
};
|
||||
AppModule = __decorate([
|
||||
(0, common_1.Module)({
|
||||
imports: [users_module_1.UsersModule],
|
||||
imports: [users_module_1.UsersModule,
|
||||
config_1.ConfigModule.forRoot(),
|
||||
typeorm_1.TypeOrmModule.forRoot({
|
||||
type: 'postgres',
|
||||
host: process.env.POSTGRES_HOST,
|
||||
port: parseInt(process.env.POSTGRES_PORT),
|
||||
username: process.env.POSTGRES_USER,
|
||||
password: process.env.POSTGRES_PASSWORD,
|
||||
database: process.env.POSTGRES_DATABASE,
|
||||
autoLoadEntities: true,
|
||||
synchronize: true,
|
||||
}),
|
||||
],
|
||||
controllers: [app_controller_1.AppController],
|
||||
providers: [app_service_1.AppService],
|
||||
})
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"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"}
|
||||
{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qDAAiD;AACjD,+CAA2C;AAC3C,uDAAmD;AACnD,6CAAgD;AAChD,2CAA8C;AAsBvC,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,SAAS;IAnBrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,0BAAW;YACpB,qBAAY,CAAC,OAAO,EAAE;YACtB,uBAAa,CAAC,OAAO,CAAC;gBACrB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;gBAC/B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;gBACzC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;gBACnC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;gBACvC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;gBACvC,gBAAgB,EAAE,IAAI;gBAGtB,WAAW,EAAE,IAAI;aACjB,CAAC;SACJ;QACC,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
@@ -1,6 +1,7 @@
|
||||
export declare class User {
|
||||
userId: string;
|
||||
id: number;
|
||||
name: string;
|
||||
username: string;
|
||||
password: string;
|
||||
status: [string];
|
||||
}
|
||||
|
||||
@@ -1,7 +1,40 @@
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.User = void 0;
|
||||
class User {
|
||||
}
|
||||
const typeorm_1 = require("typeorm");
|
||||
let User = class User {
|
||||
};
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
||||
__metadata("design:type", Number)
|
||||
], User.prototype, "id", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)(),
|
||||
__metadata("design:type", String)
|
||||
], User.prototype, "name", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)(),
|
||||
__metadata("design:type", String)
|
||||
], User.prototype, "username", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)(),
|
||||
__metadata("design:type", String)
|
||||
], User.prototype, "password", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.Column)('json', { nullable: true }),
|
||||
__metadata("design:type", Array)
|
||||
], User.prototype, "status", void 0);
|
||||
User = __decorate([
|
||||
(0, typeorm_1.Entity)('users')
|
||||
], User);
|
||||
exports.User = User;
|
||||
//# sourceMappingURL=user.entity.js.map
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../../src/users/entities/user.entity.ts"],"names":[],"mappings":";;;AAAA,MAAa,IAAI;CAKhB;AALD,oBAKC"}
|
||||
{"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../../src/users/entities/user.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAiE;AAG1D,IAAM,IAAI,GAAV,MAAM,IAAI;CAehB,CAAA;AAdA;IAAC,IAAA,gCAAsB,GAAE;;gCACd;AACX;IAAC,IAAA,gBAAM,GAAE;;kCACI;AACb;IAAC,IAAA,gBAAM,GAAE;;sCACQ;AAIjB;IAAC,IAAA,gBAAM,GAAE;;sCACQ;AAEjB;IAAC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oCAClB;AAdL,IAAI;IADhB,IAAA,gBAAM,EAAC,OAAO,CAAC;GACH,IAAI,CAehB;AAfY,oBAAI"}
|
||||
@@ -4,9 +4,9 @@ import { UsersService } from './users.service';
|
||||
export declare class UsersController {
|
||||
private readonly usersService;
|
||||
constructor(usersService: UsersService);
|
||||
findAll(query: any): import("./entities/user.entity").User[];
|
||||
findOne(id: string): import("./entities/user.entity").User;
|
||||
create(createUsersDto: CreateUsersDto): string;
|
||||
update(id: string, usersUpdateDto: UpdateUsersDto): string;
|
||||
remove(id: string): string;
|
||||
findAll(query: any): Promise<import("./entities/user.entity").User[]>;
|
||||
findOne(id: string): Promise<import("./entities/user.entity").User>;
|
||||
create(createUsersDto: CreateUsersDto): Promise<import("./entities/user.entity").User>;
|
||||
update(id: string, usersUpdateDto: UpdateUsersDto): Promise<import("./entities/user.entity").User>;
|
||||
remove(id: string): Promise<import("./entities/user.entity").User>;
|
||||
}
|
||||
|
||||
@@ -10,10 +10,13 @@ exports.UsersModule = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
const users_service_1 = require("./users.service");
|
||||
const users_controller_1 = require("./users.controller");
|
||||
const user_entity_1 = require("./entities/user.entity");
|
||||
const typeorm_1 = require("@nestjs/typeorm");
|
||||
let UsersModule = class UsersModule {
|
||||
};
|
||||
UsersModule = __decorate([
|
||||
(0, common_1.Module)({
|
||||
imports: [typeorm_1.TypeOrmModule.forFeature([user_entity_1.User])],
|
||||
providers: [users_service_1.UsersService],
|
||||
exports: [users_service_1.UsersService],
|
||||
controllers: [users_controller_1.UsersController],
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"users.module.js","sourceRoot":"","sources":["../../src/users/users.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,mDAA+C;AAC/C,yDAAqD;AAO9C,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,WAAW;IALvB,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,4BAAY,CAAC;QACzB,OAAO,EAAE,CAAC,4BAAY,CAAC;QACvB,WAAW,EAAE,CAAC,kCAAe,CAAC;KAC/B,CAAC;GACW,WAAW,CAAG;AAAd,kCAAW"}
|
||||
{"version":3,"file":"users.module.js","sourceRoot":"","sources":["../../src/users/users.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,mDAA+C;AAC/C,yDAAqD;AACrD,wDAA8C;AAC9C,6CAAgD;AAQzC,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,WAAW;IANvB,IAAA,eAAM,EAAC;QACP,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,kBAAI,CAAC,CAAC,CAAC;QAC3C,SAAS,EAAE,CAAC,4BAAY,CAAC;QACzB,OAAO,EAAE,CAAC,4BAAY,CAAC;QACvB,WAAW,EAAE,CAAC,kCAAe,CAAC;KAC9B,CAAC;GACW,WAAW,CAAG;AAAd,kCAAW"}
|
||||
@@ -1,9 +1,13 @@
|
||||
import { User } from './entities/user.entity';
|
||||
import { Repository } from 'typeorm';
|
||||
import { CreateUsersDto } from './dto/create-users.dto';
|
||||
import { UpdateUsersDto } from './dto/update-users.dto';
|
||||
export declare class UsersService {
|
||||
private users;
|
||||
findOne(id: string): User;
|
||||
findAll(): User[];
|
||||
create(createUserDto: any): string;
|
||||
update(id: string, updateUserDto: any): string;
|
||||
remove(id: string): string;
|
||||
private readonly userRepository;
|
||||
constructor(userRepository: Repository<User>);
|
||||
findOne(id: string): Promise<User>;
|
||||
findAll(): Promise<User[]>;
|
||||
create(createUserDto: CreateUsersDto): Promise<User>;
|
||||
update(id: string, updateUserDto: UpdateUsersDto): Promise<User>;
|
||||
remove(id: string): Promise<User>;
|
||||
}
|
||||
|
||||
@@ -5,56 +5,54 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
||||
return function (target, key) { decorator(target, key, paramIndex); }
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.UsersService = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
const typeorm_1 = require("@nestjs/typeorm");
|
||||
const user_entity_1 = require("./entities/user.entity");
|
||||
const typeorm_2 = require("typeorm");
|
||||
let UsersService = class UsersService {
|
||||
constructor() {
|
||||
this.users = [
|
||||
{
|
||||
userId: '1',
|
||||
name: 'John',
|
||||
username: 'TheBoss',
|
||||
password: 'changeme',
|
||||
},
|
||||
{
|
||||
userId: '2',
|
||||
name: 'Jane',
|
||||
username: 'Jane2000',
|
||||
password: 'guess',
|
||||
},
|
||||
];
|
||||
constructor(userRepository) {
|
||||
this.userRepository = userRepository;
|
||||
}
|
||||
findOne(id) {
|
||||
const user = this.users.find(user => user.userId === id);
|
||||
async findOne(id) {
|
||||
const user = await this.userRepository.findOneBy({ id: +id });
|
||||
if (!user)
|
||||
throw new common_1.NotFoundException(`The requested user not found.`);
|
||||
return user;
|
||||
}
|
||||
findAll() {
|
||||
if (!this.users.length)
|
||||
throw new common_1.HttpException(`No user exists.`, common_1.HttpStatus.NOT_FOUND);
|
||||
return this.users;
|
||||
return this.userRepository.find();
|
||||
}
|
||||
create(createUserDto) {
|
||||
const user = this.users.push(createUserDto);
|
||||
const user = this.userRepository.create(createUserDto);
|
||||
if (!user)
|
||||
throw new common_1.HttpException(`The user could not be created.`, common_1.HttpStatus.NOT_FOUND);
|
||||
return createUserDto.username + ' has been created';
|
||||
return this.userRepository.save(user);
|
||||
}
|
||||
update(id, updateUserDto) {
|
||||
const index = this.users.findIndex(user => user.userId === id);
|
||||
this.users[index] = updateUserDto;
|
||||
return this.users[index].username + ' has been updated';
|
||||
async update(id, updateUserDto) {
|
||||
const user = await this.userRepository.preload(Object.assign({ id: +id }, updateUserDto));
|
||||
if (!user)
|
||||
throw new common_1.HttpException(`The user could not be updated.`, common_1.HttpStatus.NOT_FOUND);
|
||||
return this.userRepository.save(user);
|
||||
}
|
||||
remove(id) {
|
||||
const index = this.users.findIndex(user => user.userId === id);
|
||||
this.users.splice(index, 1);
|
||||
return 'User has been deleted';
|
||||
async remove(id) {
|
||||
const user = await this.findOne(id);
|
||||
if (!user)
|
||||
throw new common_1.HttpException(`The user could not be deleted.`, common_1.HttpStatus.NOT_FOUND);
|
||||
return this.userRepository.remove(user);
|
||||
}
|
||||
};
|
||||
UsersService = __decorate([
|
||||
(0, common_1.Injectable)()
|
||||
(0, common_1.Injectable)(),
|
||||
__param(0, (0, typeorm_1.InjectRepository)(user_entity_1.User)),
|
||||
__metadata("design:paramtypes", [typeorm_2.Repository])
|
||||
], UsersService);
|
||||
exports.UsersService = UsersService;
|
||||
//# sourceMappingURL=users.service.js.map
|
||||
@@ -1 +1 @@
|
||||
{"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,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,UAAU;aACpB;YACD;gBACC,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,UAAU;gBACpB,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,aAAa,CAAC,QAAQ,GAAG,mBAAmB,CAAC;IACrD,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;AAhDY,YAAY;IADxB,IAAA,mBAAU,GAAE;GACA,YAAY,CAgDxB;AAhDY,oCAAY"}
|
||||
{"version":3,"file":"users.service.js","sourceRoot":"","sources":["../../src/users/users.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAsG;AACtG,6CAAmD;AAEnD,wDAA8C;AAC9C,qCAAqC;AAM9B,IAAM,YAAY,GAAlB,MAAM,YAAY;IAExB,YAEiB,cAAgC;QAAhC,mBAAc,GAAd,cAAc,CAAkB;IAC9C,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,EAAU;QACvB,MAAM,IAAI,GAAI,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,EAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI;YACR,MAAM,IAAI,0BAAiB,CAAC,+BAA+B,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO;QACN,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,aAA6B;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI;YACR,MAAM,IAAI,sBAAa,CAAC,gCAAgC,EAAC,mBAAU,CAAC,SAAS,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,aAA6B;QACrD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,iBAC5C,EAAE,EAAE,CAAC,EAAE,IACL,aAAa,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI;YACR,MAAM,IAAI,sBAAa,CAAC,gCAAgC,EAAC,mBAAU,CAAC,SAAS,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI;YACR,MAAM,IAAI,sBAAa,CAAC,gCAAgC,EAAC,mBAAU,CAAC,SAAS,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;CAED,CAAA;AAzCY,YAAY;IADxB,IAAA,mBAAU,GAAE;IAIX,WAAA,IAAA,0BAAgB,EAAC,kBAAI,CAAC,CAAA;qCACU,oBAAU;GAJ/B,YAAY,CAyCxB;AAzCY,oCAAY"}
|
||||
Reference in New Issue
Block a user