amélioration du user. Maintenant les requêtes fonctionnent correctement. Doit toujours être testé en profondeur, mais apriori on ne peut plus accepter sa propre requête.

This commit is contained in:
batche
2022-10-28 10:27:15 +02:00
parent c8814d4b77
commit 1f146d14c5
34 changed files with 174 additions and 76 deletions

View File

@@ -14,15 +14,12 @@ const users_module_1 = require("./users/users.module");
const typeorm_1 = require("@nestjs/typeorm"); const typeorm_1 = require("@nestjs/typeorm");
const config_1 = require("@nestjs/config"); const config_1 = require("@nestjs/config");
const friendships_module_1 = require("./friendship/friendships.module"); const friendships_module_1 = require("./friendship/friendships.module");
const core_1 = require("@nestjs/core");
const routes_1 = require("./routes/routes");
let AppModule = class AppModule { let AppModule = class AppModule {
}; };
AppModule = __decorate([ AppModule = __decorate([
(0, common_1.Module)({ (0, common_1.Module)({
imports: [users_module_1.UsersModule, imports: [users_module_1.UsersModule,
friendships_module_1.FriendshipsModule, friendships_module_1.FriendshipsModule,
core_1.RouterModule.register(routes_1.routesForUsers),
config_1.ConfigModule.forRoot(), config_1.ConfigModule.forRoot(),
typeorm_1.TypeOrmModule.forRoot({ typeorm_1.TypeOrmModule.forRoot({
type: 'postgres', type: 'postgres',

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,uDAAmD;AACnD,6CAAgD;AAChD,2CAA8C;AAC9C,wEAAoE;AACpE,uCAA4C;AAC5C,4CAAiD;AAuB1C,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,SAAS;IArBrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,0BAAW;YACpB,sCAAiB;YACjB,mBAAY,CAAC,QAAQ,CAAC,uBAAc,CAAC;YACrC,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"} {"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;AAC9C,wEAAoE;AAyB7D,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,SAAS;IArBrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,0BAAW;YACpB,sCAAiB;YAEjB,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"}

View File

@@ -0,0 +1,4 @@
export declare class PaginationQueryDto {
limit: number;
offset: number;
}

View File

@@ -0,0 +1,27 @@
"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.PaginationQueryDto = void 0;
const class_validator_1 = require("class-validator");
class PaginationQueryDto {
}
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsPositive)(),
__metadata("design:type", Number)
], PaginationQueryDto.prototype, "limit", void 0);
__decorate([
(0, class_validator_1.IsPositive)(),
(0, class_validator_1.IsOptional)(),
__metadata("design:type", Number)
], PaginationQueryDto.prototype, "offset", void 0);
exports.PaginationQueryDto = PaginationQueryDto;
//# sourceMappingURL=pagination-query.dto.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"pagination-query.dto.js","sourceRoot":"","sources":["../../../src/common/dto/pagination-query.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAyD;AAEzD,MAAa,kBAAkB;CAS9B;AAPA;IAAC,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,GAAE;;iDACC;AAEd;IAAC,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,GAAE;;kDACE;AARhB,gDASC"}

View File

@@ -5,11 +5,11 @@ export declare class FriendshipController {
private readonly friendshipService; private readonly friendshipService;
constructor(friendshipService: FriendshipService); constructor(friendshipService: FriendshipService);
findEmpty(userId: string): Promise<import("./entities/friendship.entity").Friendship[]>; findEmpty(userId: string): Promise<import("./entities/friendship.entity").Friendship[]>;
findAllFriends(userId: string): Promise<import("./entities/friendship.entity").Friendship[]>;
findAllBlocked(userId: string): Promise<import("./entities/friendship.entity").Friendship[]>; findAllBlocked(userId: string): Promise<import("./entities/friendship.entity").Friendship[]>;
findAllPendant(userId: string): Promise<import("./entities/friendship.entity").Friendship[]>; findAllPendantFriendshipRequested(userId: string): Promise<import("./entities/friendship.entity").Friendship[]>;
findAllPendantFriendshipReceived(userId: string): Promise<import("./entities/friendship.entity").Friendship[]>;
findOneFriend(friendId: string): Promise<import("./entities/friendship.entity").Friendship[]>; findOneFriend(friendId: string): Promise<import("./entities/friendship.entity").Friendship[]>;
create(createFriendshipDto: CreateFriendshipDto): Promise<import("./entities/friendship.entity").Friendship>; create(createFriendshipDto: CreateFriendshipDto): Promise<import("./entities/friendship.entity").Friendship>;
update(friendId: string, friendshipUpdateDto: UpdateFriendshipDto): Promise<import("./entities/friendship.entity").Friendship>; update(relationshipId: string, { status }: UpdateFriendshipDto): Promise<import("./entities/friendship.entity").Friendship>;
remove(friendId: string): Promise<import("./entities/friendship.entity").Friendship[]>; remove(friendId: string): Promise<import("./entities/friendship.entity").Friendship[]>;
} }

View File

@@ -24,58 +24,58 @@ let FriendshipController = class FriendshipController {
findEmpty(userId) { findEmpty(userId) {
return this.friendshipService.findAllFriends(userId); return this.friendshipService.findAllFriends(userId);
} }
findAllFriends(userId) {
return this.friendshipService.findAllFriends(userId);
}
findAllBlocked(userId) { findAllBlocked(userId) {
return this.friendshipService.findAllBlockedFriends(userId); return this.friendshipService.findAllBlockedFriends(userId);
} }
findAllPendant(userId) { findAllPendantFriendshipRequested(userId) {
return this.friendshipService.findAllPendantRequestsForFriendship(userId); return this.friendshipService.findAllPendantRequestsForFriendship(userId);
} }
findAllPendantFriendshipReceived(userId) {
return this.friendshipService.findAllReceivedRequestsForFriendship(userId);
}
findOneFriend(friendId) { findOneFriend(friendId) {
return this.friendshipService.findOneFriend(friendId); return this.friendshipService.findOneFriend(friendId);
} }
create(createFriendshipDto) { create(createFriendshipDto) {
return this.friendshipService.create(createFriendshipDto); return this.friendshipService.create(createFriendshipDto);
} }
update(friendId, friendshipUpdateDto) { update(relationshipId, { status }) {
return this.friendshipService.updateFriendship(friendId, friendshipUpdateDto); return this.friendshipService.updateFriendship(relationshipId, { status });
} }
remove(friendId) { remove(friendId) {
return this.friendshipService.removeFriendship(friendId); return this.friendshipService.removeFriendship(friendId);
} }
}; };
__decorate([ __decorate([
(0, common_1.Get)(), (0, common_1.Get)(':userId/friends'),
__param(0, (0, common_1.Param)('userId')), __param(0, (0, common_1.Param)('userId')),
__metadata("design:type", Function), __metadata("design:type", Function),
__metadata("design:paramtypes", [String]), __metadata("design:paramtypes", [String]),
__metadata("design:returntype", void 0) __metadata("design:returntype", void 0)
], FriendshipController.prototype, "findEmpty", null); ], FriendshipController.prototype, "findEmpty", null);
__decorate([ __decorate([
(0, common_1.Get)('friends'), (0, common_1.Get)(':userId/blocked'),
__param(0, (0, common_1.Param)('userId')),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
__metadata("design:returntype", void 0)
], FriendshipController.prototype, "findAllFriends", null);
__decorate([
(0, common_1.Get)('blocked'),
__param(0, (0, common_1.Param)('userId')), __param(0, (0, common_1.Param)('userId')),
__metadata("design:type", Function), __metadata("design:type", Function),
__metadata("design:paramtypes", [String]), __metadata("design:paramtypes", [String]),
__metadata("design:returntype", void 0) __metadata("design:returntype", void 0)
], FriendshipController.prototype, "findAllBlocked", null); ], FriendshipController.prototype, "findAllBlocked", null);
__decorate([ __decorate([
(0, common_1.Get)('pendant'), (0, common_1.Get)(':userId/pending'),
__param(0, (0, common_1.Param)('userId')), __param(0, (0, common_1.Param)('userId')),
__metadata("design:type", Function), __metadata("design:type", Function),
__metadata("design:paramtypes", [String]), __metadata("design:paramtypes", [String]),
__metadata("design:returntype", void 0) __metadata("design:returntype", void 0)
], FriendshipController.prototype, "findAllPendant", null); ], FriendshipController.prototype, "findAllPendantFriendshipRequested", null);
__decorate([ __decorate([
(0, common_1.Get)('friends/:friendId'), (0, common_1.Get)(':userId/received'),
__param(0, (0, common_1.Param)('userId')),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
__metadata("design:returntype", void 0)
], FriendshipController.prototype, "findAllPendantFriendshipReceived", null);
__decorate([
(0, common_1.Get)(':userId/myfriends/:friendId'),
__param(0, (0, common_1.Param)('friendId')), __param(0, (0, common_1.Param)('friendId')),
__metadata("design:type", Function), __metadata("design:type", Function),
__metadata("design:paramtypes", [String]), __metadata("design:paramtypes", [String]),
@@ -90,7 +90,7 @@ __decorate([
__metadata("design:returntype", void 0) __metadata("design:returntype", void 0)
], FriendshipController.prototype, "create", null); ], FriendshipController.prototype, "create", null);
__decorate([ __decorate([
(0, common_1.Patch)(':friendId'), (0, common_1.Patch)(':userId/received/:relationshipId'),
__param(0, (0, common_1.Param)('friendId')), __param(0, (0, common_1.Param)('friendId')),
__param(1, (0, common_1.Body)()), __param(1, (0, common_1.Body)()),
__metadata("design:type", Function), __metadata("design:type", Function),
@@ -105,7 +105,7 @@ __decorate([
__metadata("design:returntype", void 0) __metadata("design:returntype", void 0)
], FriendshipController.prototype, "remove", null); ], FriendshipController.prototype, "remove", null);
FriendshipController = __decorate([ FriendshipController = __decorate([
(0, common_1.Controller)(), (0, common_1.Controller)('network'),
__metadata("design:paramtypes", [friendship_service_1.FriendshipService]) __metadata("design:paramtypes", [friendship_service_1.FriendshipService])
], FriendshipController); ], FriendshipController);
exports.FriendshipController = FriendshipController; exports.FriendshipController = FriendshipController;

View File

@@ -1 +1 @@
{"version":3,"file":"friendship.controller.js","sourceRoot":"","sources":["../../src/friendship/friendship.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwH;AAExH,uEAAkE;AAClE,uEAAkE;AAElE,6DAAyD;AAGlD,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAChC,YAA6B,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAAG,CAAC;IAGrE,SAAS,CAAkB,MAAc;QACxC,OAAO,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAED,cAAc,CAAkB,MAAc;QAC7C,OAAO,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAGD,cAAc,CAAkB,MAAc;QAC7C,OAAO,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAGD,cAAc,CAAkB,MAAc;QAC7C,OAAO,IAAI,CAAC,iBAAiB,CAAC,mCAAmC,CAAC,MAAM,CAAC,CAAC;IAC3E,CAAC;IAGD,aAAa,CAAoB,QAAgB;QAChD,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAID,MAAM,CAAS,mBAAwC;QACtD,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3D,CAAC;IAGD,MAAM,CAAoB,QAAgB,EAAU,mBAAwC;QAC3F,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAC/E,CAAC;IAGD,MAAM,CAAoB,QAAgB;QACzC,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;CACD,CAAA;AAvCA;IAAC,IAAA,YAAG,GAAE;IACK,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;;;;qDAEzB;AACD;IAAC,IAAA,YAAG,EAAC,SAAS,CAAC;IACC,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;;;;0DAE9B;AAED;IAAC,IAAA,YAAG,EAAC,SAAS,CAAC;IACC,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;;;;0DAE9B;AAED;IAAC,IAAA,YAAG,EAAC,SAAS,CAAC;IACC,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;;;;0DAE9B;AAED;IAAC,IAAA,YAAG,EAAC,mBAAmB,CAAC;IACV,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;;;;yDAE/B;AAED;IAAC,IAAA,aAAI,GAAE;IACN,IAAA,iBAAQ,EAAC,mBAAU,CAAC,OAAO,CAAC;IACrB,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAsB,2CAAmB;;kDAEtD;AAED;IAAC,IAAA,cAAK,EAAC,WAAW,CAAC;IACX,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;IAAoB,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAsB,2CAAmB;;kDAE3F;AAED;IAAC,IAAA,eAAM,EAAC,mBAAmB,CAAC;IACpB,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;;;;kDAExB;AAzCW,oBAAoB;IADhC,IAAA,mBAAU,GAAE;qCAEoC,sCAAiB;GADrD,oBAAoB,CA0ChC;AA1CY,oDAAoB"} {"version":3,"file":"friendship.controller.js","sourceRoot":"","sources":["../../src/friendship/friendship.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwH;AAExH,uEAAkE;AAClE,uEAAkE;AAElE,6DAAyD;AAGlD,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAChC,YAA6B,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAAG,CAAC;IAGrE,SAAS,CAAkB,MAAc;QACxC,OAAO,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAGD,cAAc,CAAkB,MAAc;QAC7C,OAAO,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAGD,iCAAiC,CAAkB,MAAc;QAChE,OAAO,IAAI,CAAC,iBAAiB,CAAC,mCAAmC,CAAC,MAAM,CAAC,CAAC;IAC3E,CAAC;IAGD,gCAAgC,CAAkB,MAAc;QAC/D,OAAO,IAAI,CAAC,iBAAiB,CAAC,oCAAoC,CAAC,MAAM,CAAC,CAAC;IAC5E,CAAC;IAGD,aAAa,CAAoB,QAAgB;QAChD,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAID,MAAM,CAAS,mBAAwC;QACtD,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3D,CAAC;IAGD,MAAM,CAAoB,cAAsB,EAAU,EAAC,MAAM,EAAsB;QACtF,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,cAAc,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;IAC1E,CAAC;IAGD,MAAM,CAAoB,QAAgB;QACzC,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;CACD,CAAA;AAxCA;IAAC,IAAA,YAAG,EAAC,iBAAiB,CAAC;IACZ,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;;;;qDAEzB;AAED;IAAC,IAAA,YAAG,EAAC,iBAAiB,CAAC;IACP,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;;;;0DAE9B;AAED;IAAC,IAAA,YAAG,EAAC,iBAAiB,CAAC;IACY,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;;;;6EAEjD;AAED;IAAC,IAAA,YAAG,EAAC,kBAAkB,CAAC;IACU,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;;;;4EAEhD;AAED;IAAC,IAAA,YAAG,EAAC,6BAA6B,CAAC;IACpB,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;;;;yDAE/B;AAED;IAAC,IAAA,aAAI,GAAE;IACN,IAAA,iBAAQ,EAAC,mBAAU,CAAC,OAAO,CAAC;IACrB,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAsB,2CAAmB;;kDAEtD;AAED;IAAC,IAAA,cAAK,EAAC,kCAAkC,CAAC;IAClC,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;IAA0B,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAW,2CAAmB;;kDAEtF;AAED;IAAC,IAAA,eAAM,EAAC,mBAAmB,CAAC;IACpB,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;;;;kDAExB;AA1CW,oBAAoB;IADhC,IAAA,mBAAU,EAAC,SAAS,CAAC;qCAE2B,sCAAiB;GADrD,oBAAoB,CA2ChC;AA3CY,oDAAoB"}

View File

@@ -12,6 +12,7 @@ export declare class FriendshipService {
findAllFriends(id: string): Promise<Friendship[]>; findAllFriends(id: string): Promise<Friendship[]>;
findAllBlockedFriends(id: string): Promise<Friendship[]>; findAllBlockedFriends(id: string): Promise<Friendship[]>;
findAllPendantRequestsForFriendship(id: string): Promise<Friendship[]>; findAllPendantRequestsForFriendship(id: string): Promise<Friendship[]>;
findAllReceivedRequestsForFriendship(id: string): Promise<Friendship[]>;
create(createFriendshipDto: CreateFriendshipDto): Promise<Friendship>; create(createFriendshipDto: CreateFriendshipDto): Promise<Friendship>;
updateFriendship(id: string, updateFriendshipDto: UpdateFriendshipDto): Promise<Friendship>; updateFriendship(id: string, updateFriendshipDto: UpdateFriendshipDto): Promise<Friendship>;
removeFriendship(id: string): Promise<Friendship[]>; removeFriendship(id: string): Promise<Friendship[]>;

View File

@@ -53,8 +53,21 @@ let FriendshipService = class FriendshipService {
const user = await this.userRepository.findOneBy({ id: +id }); const user = await this.userRepository.findOneBy({ id: +id });
if (!user) if (!user)
throw new common_1.HttpException(`The requested user not found.`, common_1.HttpStatus.NOT_FOUND); throw new common_1.HttpException(`The requested user not found.`, common_1.HttpStatus.NOT_FOUND);
const blocked = await this.friendshipRepository.find({ where: { requesterId: id, status: friendship_entity_1.FriendshipStatus.REQUESTED } }); const requests = await this.friendshipRepository.find({
return blocked; where: { requesterId: id, status: friendship_entity_1.FriendshipStatus.REQUESTED },
relations: ['requesterId']
});
return requests;
}
async findAllReceivedRequestsForFriendship(id) {
const user = await this.userRepository.findOneBy({ id: +id });
if (!user)
throw new common_1.HttpException(`The requested user not found.`, common_1.HttpStatus.NOT_FOUND);
const requests = await this.friendshipRepository.find({
where: { addresseeId: id, status: friendship_entity_1.FriendshipStatus.REQUESTED },
relations: ['addresseeId']
});
return requests;
} }
async create(createFriendshipDto) { async create(createFriendshipDto) {
const requester = await this.userRepository.findOneBy({ id: +createFriendshipDto.requesterId }); const requester = await this.userRepository.findOneBy({ id: +createFriendshipDto.requesterId });
@@ -77,8 +90,6 @@ let FriendshipService = class FriendshipService {
throw new common_1.HttpException(`The request has been declined.`, common_1.HttpStatus.OK); throw new common_1.HttpException(`The request has been declined.`, common_1.HttpStatus.OK);
} }
const newFriendship = this.friendshipRepository.create({ requesterId: createFriendshipDto.requesterId, addresseeId: createFriendshipDto.addresseeId, status: friendship_entity_1.FriendshipStatus.REQUESTED }); const newFriendship = this.friendshipRepository.create({ requesterId: createFriendshipDto.requesterId, addresseeId: createFriendshipDto.addresseeId, status: friendship_entity_1.FriendshipStatus.REQUESTED });
const sendrquest = this.friendshipRepository.create({ requesterId: createFriendshipDto.requesterId, addresseeId: createFriendshipDto.addresseeId, status: friendship_entity_1.FriendshipStatus.REQUESTED });
this.friendshipRepository.save(sendrquest);
return this.friendshipRepository.save(newFriendship); return this.friendshipRepository.save(newFriendship);
} }
async updateFriendship(id, updateFriendshipDto) { async updateFriendship(id, updateFriendshipDto) {

View File

@@ -1 +1 @@
{"version":3,"file":"friendship.service.js","sourceRoot":"","sources":["../../src/friendship/friendship.service.ts"],"names":[],"mappings":"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"} {"version":3,"file":"friendship.service.js","sourceRoot":"","sources":["../../src/friendship/friendship.service.ts"],"names":[],"mappings":"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"}

View File

@@ -9,6 +9,9 @@ async function bootstrap() {
whitelist: true, whitelist: true,
forbidNonWhitelisted: true, forbidNonWhitelisted: true,
transform: true, transform: true,
transformOptions: {
enableImplicitConversion: true,
},
})); }));
await app.listen(3000); await app.listen(3000);
} }

View File

@@ -1 +1 @@
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;AAAA,uCAA2C;AAC3C,2CAAgD;AAChD,6CAAyC;AAEzC,KAAK,UAAU,SAAS;IAEtB,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,sBAAS,CAAC,CAAC;IAGhD,GAAG,CAAC,cAAc,CACnB,IAAI,uBAAc,CAAC;QAElB,SAAS,EAAE,IAAI;QAEf,oBAAoB,EAAE,IAAI;QAE1B,SAAS,EAAE,IAAI;KACf,CAAC,CACA,CAAC;IACF,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AACD,SAAS,EAAE,CAAC"} {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;AAAA,uCAA2C;AAC3C,2CAAgD;AAChD,6CAAyC;AAEzC,KAAK,UAAU,SAAS;IAEtB,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,sBAAS,CAAC,CAAC;IAGhD,GAAG,CAAC,cAAc,CACnB,IAAI,uBAAc,CAAC;QAElB,SAAS,EAAE,IAAI;QAEf,oBAAoB,EAAE,IAAI;QAE1B,SAAS,EAAE,IAAI;QACf,gBAAgB,EAAE;YACjB,wBAAwB,EAAE,IAAI;SAC9B;KACD,CAAC,CACA,CAAC;IACF,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AACD,SAAS,EAAE,CAAC"}

File diff suppressed because one or more lines are too long

View File

@@ -10,6 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.CreateUsersDto = void 0; exports.CreateUsersDto = void 0;
const class_transformer_1 = require("class-transformer");
const class_validator_1 = require("class-validator"); const class_validator_1 = require("class-validator");
class CreateUsersDto { class CreateUsersDto {
} }
@@ -23,6 +24,7 @@ __decorate([
], CreateUsersDto.prototype, "username", void 0); ], CreateUsersDto.prototype, "username", void 0);
__decorate([ __decorate([
(0, class_validator_1.IsString)(), (0, class_validator_1.IsString)(),
(0, class_transformer_1.Exclude)(),
__metadata("design:type", String) __metadata("design:type", String)
], CreateUsersDto.prototype, "password", void 0); ], CreateUsersDto.prototype, "password", void 0);
__decorate([ __decorate([

View File

@@ -1 +1 @@
{"version":3,"file":"create-users.dto.js","sourceRoot":"","sources":["../../../src/users/dto/create-users.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAoD;AAEpD,MAAa,cAAc;CAS1B;AARA;IAAC,IAAA,0BAAQ,GAAE;;4CACW;AACtB;IAAC,IAAA,0BAAQ,GAAE;;gDACe;AAC1B;IAAC,IAAA,0BAAQ,GAAE;;gDACe;AAC1B;IAAC,IAAA,yBAAO,GAAE;;6CACa;AARxB,wCASC"} {"version":3,"file":"create-users.dto.js","sourceRoot":"","sources":["../../../src/users/dto/create-users.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA4C;AAC5C,qDAAoD;AAEpD,MAAa,cAAc;CAU1B;AATA;IAAC,IAAA,0BAAQ,GAAE;;4CACW;AACtB;IAAC,IAAA,0BAAQ,GAAE;;gDACe;AAC1B;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAO,GAAE;;gDACgB;AAC1B;IAAC,IAAA,yBAAO,GAAE;;6CACa;AATxB,wCAUC"}

View File

@@ -8,5 +8,5 @@ export declare class User {
status: [string]; status: [string];
requesterId: Friendship[]; requesterId: Friendship[];
addresseeId: Friendship[]; addresseeId: Friendship[];
friendships: Friendship[]; constructor(partial: Partial<User>);
} }

View File

@@ -10,9 +10,13 @@ var __metadata = (this && this.__metadata) || function (k, v) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.User = void 0; exports.User = void 0;
const class_transformer_1 = require("class-transformer");
const typeorm_1 = require("typeorm"); const typeorm_1 = require("typeorm");
const friendship_entity_1 = require("../../friendship/entities/friendship.entity"); const friendship_entity_1 = require("../../friendship/entities/friendship.entity");
let User = class User { let User = class User {
constructor(partial) {
Object.assign(this, partial);
}
}; };
__decorate([ __decorate([
(0, typeorm_1.PrimaryGeneratedColumn)(), (0, typeorm_1.PrimaryGeneratedColumn)(),
@@ -32,6 +36,7 @@ __decorate([
], User.prototype, "email", void 0); ], User.prototype, "email", void 0);
__decorate([ __decorate([
(0, typeorm_1.Column)(), (0, typeorm_1.Column)(),
(0, class_transformer_1.Exclude)(),
__metadata("design:type", String) __metadata("design:type", String)
], User.prototype, "password", void 0); ], User.prototype, "password", void 0);
__decorate([ __decorate([
@@ -49,7 +54,8 @@ __decorate([
__metadata("design:type", Array) __metadata("design:type", Array)
], User.prototype, "addresseeId", void 0); ], User.prototype, "addresseeId", void 0);
User = __decorate([ User = __decorate([
(0, typeorm_1.Entity)('users') (0, typeorm_1.Entity)('users'),
__metadata("design:paramtypes", [Object])
], User); ], User);
exports.User = User; exports.User = User;
//# sourceMappingURL=user.entity.js.map //# sourceMappingURL=user.entity.js.map

View File

@@ -1 +1 @@
{"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../../src/users/entities/user.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,qCAA2G;AAC3G,mFAAyE;AAIlE,IAAM,IAAI,GAAV,MAAM,IAAI;CAgChB,CAAA;AA9BA;IAAC,IAAA,gCAAsB,GAAE;;gCACd;AAEX;IAAC,IAAA,gBAAM,GAAE;;kCACI;AAEb;IAAC,IAAA,gBAAM,GAAE;;sCACQ;AAGjB;IAAC,IAAA,gBAAM,GAAE;;mCACK;AAId;IAAC,IAAA,gBAAM,GAAE;;sCACQ;AAEjB;IAAC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oCAClB;AAEjB;IAAC,IAAA,mBAAS,GAAE;IACX,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,8BAAU,EAAG,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;;yCAC7C;AAE1B;IAAC,IAAA,mBAAS,GAAE;IACX,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,8BAAU,EAAG,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;;yCAC7C;AA7Bd,IAAI;IADhB,IAAA,gBAAM,EAAC,OAAO,CAAC;GACH,IAAI,CAgChB;AAhCY,oBAAI"} {"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../../src/users/entities/user.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA4C;AAC5C,qCAA2G;AAC3G,mFAAyE;AAIlE,IAAM,IAAI,GAAV,MAAM,IAAI;IAgChB,YAAY,OAAsB;QACjC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC;CACD,CAAA;AAjCA;IAAC,IAAA,gCAAsB,GAAE;;gCACd;AAEX;IAAC,IAAA,gBAAM,GAAE;;kCACI;AAEb;IAAC,IAAA,gBAAM,GAAE;;sCACQ;AAGjB;IAAC,IAAA,gBAAM,GAAE;;mCACK;AAId;IAAC,IAAA,gBAAM,GAAE;IACR,IAAA,2BAAO,GAAE;;sCACO;AAEjB;IAAC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oCAClB;AAEjB;IAAC,IAAA,mBAAS,GAAE;IACX,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,8BAAU,EAAG,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;;yCAC7C;AAE1B;IAAC,IAAA,mBAAS,GAAE;IACX,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,8BAAU,EAAG,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;;yCAC7C;AA9Bd,IAAI;IADhB,IAAA,gBAAM,EAAC,OAAO,CAAC;;GACH,IAAI,CAmChB;AAnCY,oBAAI"}

View File

@@ -1,10 +1,11 @@
import { PaginationQueryDto } from 'src/common/dto/pagination-query.dto';
import { CreateUsersDto } from './dto/create-users.dto'; import { CreateUsersDto } from './dto/create-users.dto';
import { UpdateUsersDto } from './dto/update-users.dto'; import { UpdateUsersDto } from './dto/update-users.dto';
import { UsersService } from './users.service'; 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): Promise<import("./entities/user.entity").User[]>; findAll(paginationquery: PaginationQueryDto): Promise<import("./entities/user.entity").User[]>;
findOne(id: string): Promise<import("./entities/user.entity").User>; findOne(id: string): Promise<import("./entities/user.entity").User>;
create(createUsersDto: CreateUsersDto): 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>; update(id: string, usersUpdateDto: UpdateUsersDto): Promise<import("./entities/user.entity").User>;

View File

@@ -14,6 +14,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.UsersController = void 0; exports.UsersController = void 0;
const common_1 = require("@nestjs/common"); const common_1 = require("@nestjs/common");
const pagination_query_dto_1 = require("../common/dto/pagination-query.dto");
const create_users_dto_1 = require("./dto/create-users.dto"); const create_users_dto_1 = require("./dto/create-users.dto");
const update_users_dto_1 = require("./dto/update-users.dto"); const update_users_dto_1 = require("./dto/update-users.dto");
const users_service_1 = require("./users.service"); const users_service_1 = require("./users.service");
@@ -21,8 +22,8 @@ let UsersController = class UsersController {
constructor(usersService) { constructor(usersService) {
this.usersService = usersService; this.usersService = usersService;
} }
findAll(query) { findAll(paginationquery) {
return this.usersService.findAll(); return this.usersService.findAll(paginationquery);
} }
findOne(id) { findOne(id) {
return this.usersService.findOne(id); return this.usersService.findOne(id);
@@ -41,7 +42,7 @@ __decorate([
(0, common_1.Get)('all'), (0, common_1.Get)('all'),
__param(0, (0, common_1.Query)()), __param(0, (0, common_1.Query)()),
__metadata("design:type", Function), __metadata("design:type", Function),
__metadata("design:paramtypes", [Object]), __metadata("design:paramtypes", [pagination_query_dto_1.PaginationQueryDto]),
__metadata("design:returntype", void 0) __metadata("design:returntype", void 0)
], UsersController.prototype, "findAll", null); ], UsersController.prototype, "findAll", null);
__decorate([ __decorate([
@@ -75,7 +76,7 @@ __decorate([
__metadata("design:returntype", void 0) __metadata("design:returntype", void 0)
], UsersController.prototype, "remove", null); ], UsersController.prototype, "remove", null);
UsersController = __decorate([ UsersController = __decorate([
(0, common_1.Controller)('/'), (0, common_1.Controller)('user'),
__metadata("design:paramtypes", [users_service_1.UsersService]) __metadata("design:paramtypes", [users_service_1.UsersService])
], UsersController); ], UsersController);
exports.UsersController = UsersController; exports.UsersController = UsersController;

View File

@@ -1 +1 @@
{"version":3,"file":"users.controller.js","sourceRoot":"","sources":["../../src/users/users.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAGwB;AACxB,6DAAwD;AACxD,6DAAwD;AAExD,mDAA+C;AAIxC,IAAM,eAAe,GAArB,MAAM,eAAe;IAC3B,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAI3D,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,cAA+B;QAC7C,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;IAGD,MAAM,CAAc,EAAU,EAAU,cAA8B;QACrE,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IACrD,CAAC;IAGD,MAAM,CAAc,EAAU;QAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;CACD,CAAA;AA1BA;IAAC,IAAA,YAAG,EAAC,KAAK,CAAC;IACF,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;;qCAAkB,iCAAc;;6CAE7C;AAED;IAAC,IAAA,cAAK,EAAC,KAAK,CAAC;IACL,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAiB,iCAAc;;6CAErE;AAED;IAAC,IAAA,eAAM,EAAC,KAAK,CAAC;IACN,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;6CAElB;AA7BW,eAAe;IAD3B,IAAA,mBAAU,EAAC,GAAG,CAAC;qCAE4B,4BAAY;GAD3C,eAAe,CA8B3B;AA9BY,0CAAe"} {"version":3,"file":"users.controller.js","sourceRoot":"","sources":["../../src/users/users.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAGwB;AACxB,6EAAyE;AACzE,6DAAwD;AACxD,6DAAwD;AAExD,mDAA+C;AAIxC,IAAM,eAAe,GAArB,MAAM,eAAe;IAC3B,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAI3D,OAAO,CAAU,eAAoC;QAEpD,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACnD,CAAC;IAGD,OAAO,CAAc,EAAU;QAC9B,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAID,MAAM,CAAS,cAA+B;QAC7C,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;IAGD,MAAM,CAAc,EAAU,EAAU,cAA8B;QACrE,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IACrD,CAAC;IAGD,MAAM,CAAc,EAAU;QAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;CACD,CAAA;AA1BA;IAAC,IAAA,YAAG,EAAC,KAAK,CAAC;IACF,WAAA,IAAA,cAAK,GAAE,CAAA;;qCAAmB,yCAAkB;;8CAGpD;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;;qCAAkB,iCAAc;;6CAE7C;AAED;IAAC,IAAA,cAAK,EAAC,KAAK,CAAC;IACL,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAiB,iCAAc;;6CAErE;AAED;IAAC,IAAA,eAAM,EAAC,KAAK,CAAC;IACN,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;6CAElB;AA7BW,eAAe;IAD3B,IAAA,mBAAU,EAAC,MAAM,CAAC;qCAEyB,4BAAY;GAD3C,eAAe,CA8B3B;AA9BY,0CAAe"}

View File

@@ -3,12 +3,13 @@ import { Repository } from 'typeorm';
import { CreateUsersDto } from './dto/create-users.dto'; import { CreateUsersDto } from './dto/create-users.dto';
import { UpdateUsersDto } from './dto/update-users.dto'; import { UpdateUsersDto } from './dto/update-users.dto';
import { Friendship } from '../friendship/entities/friendship.entity'; import { Friendship } from '../friendship/entities/friendship.entity';
import { PaginationQueryDto } from 'src/common/dto/pagination-query.dto';
export declare class UsersService { export declare class UsersService {
private readonly userRepository; private readonly userRepository;
private readonly friendshipRepository; private readonly friendshipRepository;
constructor(userRepository: Repository<User>, friendshipRepository: Repository<Friendship>); constructor(userRepository: Repository<User>, friendshipRepository: Repository<Friendship>);
findOne(id: string): Promise<User>; findOne(id: string): Promise<User>;
findAll(): Promise<User[]>; findAll(paginationquery: PaginationQueryDto): Promise<User[]>;
create(createUserDto: CreateUsersDto): Promise<User>; create(createUserDto: CreateUsersDto): Promise<User>;
update(id: string, updateUserDto: UpdateUsersDto): Promise<User>; update(id: string, updateUserDto: UpdateUsersDto): Promise<User>;
remove(id: string): Promise<User>; remove(id: string): Promise<User>;

View File

@@ -32,8 +32,12 @@ let UsersService = class UsersService {
throw new common_1.NotFoundException(`The requested user not found.`); throw new common_1.NotFoundException(`The requested user not found.`);
return user; return user;
} }
findAll() { findAll(paginationquery) {
return this.userRepository.find(); const { limit, offset } = paginationquery;
return this.userRepository.find({
skip: offset,
take: limit,
});
} }
async create(createUserDto) { async create(createUserDto) {
if (await this.userRepository.findOneBy({ email: createUserDto.email })) if (await this.userRepository.findOneBy({ email: createUserDto.email }))

View File

@@ -1 +1 @@
{"version":3,"file":"users.service.js","sourceRoot":"","sources":["../../src/users/users.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAsG;AACtG,6CAAmD;AAEnD,wDAA8C;AAC9C,qCAA8D;AAG9D,gFAAsE;AACtE,qDAAiD;AAK1C,IAAM,YAAY,GAAlB,MAAM,YAAY;IAExB,YAEiB,cAAgC,EAEhC,oBAA4C;QAF5C,mBAAc,GAAd,cAAc,CAAkB;QAEhC,yBAAoB,GAApB,oBAAoB,CAAwB;IAC1D,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,EAAU;QACvB,IAAI,CAAC,IAAA,gCAAc,EAAC,EAAE,CAAC;YACtB,MAAM,IAAI,sBAAa,CAAC,+BAA+B,EAAC,mBAAU,CAAC,SAAS,CAAC,CAAC;QAC/E,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,KAAK,CAAC,MAAM,CAAC,aAA6B;QACzC,IAAI,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAC,KAAK,EAAE,aAAa,CAAC,KAAK,EAAC,CAAC;YACpE,MAAM,IAAI,sBAAa,CAAC,0BAA0B,EAAC,mBAAU,CAAC,QAAQ,CAAC,CAAC;QACzE,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;CACD,CAAA;AA9CY,YAAY;IADxB,IAAA,mBAAU,GAAE;IAIX,WAAA,IAAA,0BAAgB,EAAC,kBAAI,CAAC,CAAA;IAEtB,WAAA,IAAA,0BAAgB,EAAC,8BAAU,CAAC,CAAA;qCADI,oBAAU;QAEJ,oBAAU;GANrC,YAAY,CA8CxB;AA9CY,oCAAY"} {"version":3,"file":"users.service.js","sourceRoot":"","sources":["../../src/users/users.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAsG;AACtG,6CAAmD;AAEnD,wDAA8C;AAC9C,qCAA8D;AAG9D,gFAAsE;AACtE,qDAAiD;AAM1C,IAAM,YAAY,GAAlB,MAAM,YAAY;IAExB,YAEiB,cAAgC,EAEhC,oBAA4C;QAF5C,mBAAc,GAAd,cAAc,CAAkB;QAEhC,yBAAoB,GAApB,oBAAoB,CAAwB;IAC1D,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,EAAU;QACvB,IAAI,CAAC,IAAA,gCAAc,EAAC,EAAE,CAAC;YACtB,MAAM,IAAI,sBAAa,CAAC,+BAA+B,EAAC,mBAAU,CAAC,SAAS,CAAC,CAAC;QAC/E,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;IAGD,OAAO,CAAC,eAAoC;QAC3C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC;QAC1C,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YAC/B,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,KAAK;SACX,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,aAA6B;QACzC,IAAI,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAC,KAAK,EAAE,aAAa,CAAC,KAAK,EAAC,CAAC;YACpE,MAAM,IAAI,sBAAa,CAAC,0BAA0B,EAAC,mBAAU,CAAC,QAAQ,CAAC,CAAC;QACzE,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;CACD,CAAA;AAnDY,YAAY;IADxB,IAAA,mBAAU,GAAE;IAIX,WAAA,IAAA,0BAAgB,EAAC,kBAAI,CAAC,CAAA;IAEtB,WAAA,IAAA,0BAAgB,EAAC,8BAAU,CAAC,CAAA;qCADI,oBAAU;QAEJ,oBAAU;GANrC,YAAY,CAmDxB;AAnDY,oCAAY"}

View File

@@ -11,7 +11,7 @@ import { routesForUsers } from './routes/routes';
@Module({ @Module({
imports: [UsersModule, imports: [UsersModule,
FriendshipsModule, FriendshipsModule,
RouterModule.register(routesForUsers), // RouterModule.register(routesForUsers),
ConfigModule.forRoot(), ConfigModule.forRoot(),
TypeOrmModule.forRoot({ TypeOrmModule.forRoot({
type: 'postgres', type: 'postgres',

View File

@@ -0,0 +1,12 @@
import { IsOptional, IsPositive } from "class-validator";
export class PaginationQueryDto {
@IsOptional()
@IsPositive()
limit: number;
@IsPositive()
@IsOptional()
offset: number;
}

View File

@@ -5,30 +5,31 @@ import { UpdateFriendshipDto } from './dto/update-friendship.dto';
import { FriendshipStatus } from './entities/friendship.entity'; import { FriendshipStatus } from './entities/friendship.entity';
import { FriendshipService } from './friendship.service'; import { FriendshipService } from './friendship.service';
@Controller() @Controller('network')
export class FriendshipController { export class FriendshipController {
constructor(private readonly friendshipService: FriendshipService) {} constructor(private readonly friendshipService: FriendshipService) {}
@Get() @Get(':userId/friends')
findEmpty(@Param('userId') userId: string) { findEmpty(@Param('userId') userId: string) {
return this.friendshipService.findAllFriends(userId); return this.friendshipService.findAllFriends(userId);
} }
@Get('friends')
findAllFriends(@Param('userId') userId: string) {
return this.friendshipService.findAllFriends(userId);
}
@Get('blocked') @Get(':userId/blocked')
findAllBlocked(@Param('userId') userId: string) { findAllBlocked(@Param('userId') userId: string) {
return this.friendshipService.findAllBlockedFriends(userId); return this.friendshipService.findAllBlockedFriends(userId);
} }
@Get('pendant') @Get(':userId/pending')
findAllPendant(@Param('userId') userId: string) { findAllPendantFriendshipRequested(@Param('userId') userId: string) {
return this.friendshipService.findAllPendantRequestsForFriendship(userId); return this.friendshipService.findAllPendantRequestsForFriendship(userId);
} }
@Get('friends/:friendId') @Get(':userId/received')
findAllPendantFriendshipReceived(@Param('userId') userId: string) {
return this.friendshipService.findAllReceivedRequestsForFriendship(userId);
}
@Get(':userId/myfriends/:friendId')
findOneFriend(@Param('friendId') friendId: string) { findOneFriend(@Param('friendId') friendId: string) {
return this.friendshipService.findOneFriend(friendId); return this.friendshipService.findOneFriend(friendId);
} }
@@ -39,9 +40,9 @@ export class FriendshipController {
return this.friendshipService.create(createFriendshipDto); return this.friendshipService.create(createFriendshipDto);
} }
@Patch(':friendId') @Patch(':userId/received/:relationshipId')
update(@Param('friendId') friendId: string, @Body() friendshipUpdateDto: UpdateFriendshipDto) { update(@Param('friendId') relationshipId: string, @Body() {status}: UpdateFriendshipDto) {
return this.friendshipService.updateFriendship(friendId, friendshipUpdateDto); return this.friendshipService.updateFriendship(relationshipId, {status});
} }
@Delete(':userId/:friendId') @Delete(':userId/:friendId')

View File

@@ -53,9 +53,22 @@ export class FriendshipService {
const user = await this.userRepository.findOneBy({id: +id}); const user = await this.userRepository.findOneBy({id: +id});
if (!user) if (!user)
throw new HttpException(`The requested user not found.`,HttpStatus.NOT_FOUND); throw new HttpException(`The requested user not found.`,HttpStatus.NOT_FOUND);
const blocked = await this.friendshipRepository.find( const requests = await this.friendshipRepository.find({
{where: {requesterId: id, status: FriendshipStatus.REQUESTED}}); where:
return blocked; {requesterId: id, status: FriendshipStatus.REQUESTED},
relations: ['requesterId']});
return requests;
}
async findAllReceivedRequestsForFriendship(id: string) {
const user = await this.userRepository.findOneBy({id: +id});
if (!user)
throw new HttpException(`The requested user not found.`,HttpStatus.NOT_FOUND);
const requests = await this.friendshipRepository.find({
where:
{addresseeId: id, status: FriendshipStatus.REQUESTED},
relations: ['addresseeId']});
return requests;
} }
async create(createFriendshipDto: CreateFriendshipDto) { async create(createFriendshipDto: CreateFriendshipDto) {
@@ -80,13 +93,11 @@ export class FriendshipService {
} }
const newFriendship = this.friendshipRepository.create( const newFriendship = this.friendshipRepository.create(
{requesterId: createFriendshipDto.requesterId, addresseeId: createFriendshipDto.addresseeId, status: FriendshipStatus.REQUESTED}); {requesterId: createFriendshipDto.requesterId, addresseeId: createFriendshipDto.addresseeId, status: FriendshipStatus.REQUESTED});
const sendrquest = this.friendshipRepository.create(
{requesterId: createFriendshipDto.requesterId, addresseeId: createFriendshipDto.addresseeId, status: FriendshipStatus.REQUESTED});
this.friendshipRepository.save(sendrquest);
return this.friendshipRepository.save(newFriendship); return this.friendshipRepository.save(newFriendship);
} }
async updateFriendship(id: string, updateFriendshipDto: UpdateFriendshipDto) { async updateFriendship(id: string, updateFriendshipDto: UpdateFriendshipDto) {
const friendship = await this.friendshipRepository.preload( const friendship = await this.friendshipRepository.preload(
{id: +id, {id: +id,
...updateFriendshipDto}); ...updateFriendshipDto});

View File

@@ -15,6 +15,9 @@ async function bootstrap() {
forbidNonWhitelisted: true, forbidNonWhitelisted: true,
//permet de transformer les données en fonction de leur type //permet de transformer les données en fonction de leur type
transform: true, transform: true,
transformOptions: {//permet de transformer les données en fonction de leur type
enableImplicitConversion: true,
},
}), }),
); );
await app.listen(3000); await app.listen(3000);

View File

@@ -1,3 +1,4 @@
import { Exclude } from 'class-transformer';
import { IsEmail, IsString } from 'class-validator'; import { IsEmail, IsString } from 'class-validator';
export class CreateUsersDto { export class CreateUsersDto {
@@ -6,6 +7,7 @@ export class CreateUsersDto {
@IsString() @IsString()
readonly username: string; readonly username: string;
@IsString() @IsString()
@Exclude()
readonly password: string; readonly password: string;
@IsEmail() @IsEmail()
readonly email: string; readonly email: string;

View File

@@ -1,4 +1,4 @@
import { type } from "os"; import { Exclude } from "class-transformer";
import { Column, Entity, JoinTable, ManyToMany, OneToMany, PrimaryGeneratedColumn, Unique } from "typeorm"; import { Column, Entity, JoinTable, ManyToMany, OneToMany, PrimaryGeneratedColumn, Unique } from "typeorm";
import { Friendship } from "../../friendship/entities/friendship.entity"; import { Friendship } from "../../friendship/entities/friendship.entity";
@@ -22,6 +22,7 @@ export class User {
//Dans le cadre d'un tableau on peut faire : //Dans le cadre d'un tableau on peut faire :
// @Column('json', { nullable: true }) // @Column('json', { nullable: true })
@Column() @Column()
@Exclude()
password: string; password: string;
@Column('json', { nullable: true }) @Column('json', { nullable: true })
@@ -35,5 +36,7 @@ export class User {
@OneToMany(type => Friendship , (friendship) => friendship.addresseeId) @OneToMany(type => Friendship , (friendship) => friendship.addresseeId)
addresseeId: Friendship[]; addresseeId: Friendship[];
friendships: Friendship[]; constructor(partial: Partial<User>) {
Object.assign(this, partial);
}
} }

View File

@@ -2,21 +2,22 @@ import {
Body, Controller, Delete, Get, HttpCode, Body, Controller, Delete, Get, HttpCode,
HttpStatus, Param, Patch, Post, Query HttpStatus, Param, Patch, Post, Query
} from '@nestjs/common'; } from '@nestjs/common';
import { PaginationQueryDto } from 'src/common/dto/pagination-query.dto';
import { CreateUsersDto } from './dto/create-users.dto'; import { CreateUsersDto } from './dto/create-users.dto';
import { UpdateUsersDto } from './dto/update-users.dto'; import { UpdateUsersDto } from './dto/update-users.dto';
import { UsersService } from './users.service'; import { UsersService } from './users.service';
@Controller('/') @Controller('user')
export class UsersController { export class UsersController {
constructor(private readonly usersService: UsersService) {} constructor(private readonly usersService: UsersService) {}
// 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('all') @Get('all')
findAll(@Query() query) { findAll(@Query() paginationquery : PaginationQueryDto) {
//const { limit, offset } = query; //const { limit, offset } = query;
return this.usersService.findAll(); return this.usersService.findAll(paginationquery);
} }
@Get(':id') @Get(':id')

View File

@@ -7,6 +7,7 @@ import { CreateUsersDto } from './dto/create-users.dto';
import { UpdateUsersDto } from './dto/update-users.dto'; import { UpdateUsersDto } from './dto/update-users.dto';
import { Friendship } from '../friendship/entities/friendship.entity'; import { Friendship } from '../friendship/entities/friendship.entity';
import { isNumberString } from 'class-validator'; import { isNumberString } from 'class-validator';
import { PaginationQueryDto } from 'src/common/dto/pagination-query.dto';
// On va devoir sûrement trouver un moyen plus simple pour passer l'id, sûrement via des pipes // On va devoir sûrement trouver un moyen plus simple pour passer l'id, sûrement via des pipes
// ou des interceptors, mais pour l'instant on va faire comme ça. // ou des interceptors, mais pour l'instant on va faire comme ça.
@@ -29,8 +30,13 @@ export class UsersService {
return user; return user;
} }
findAll() { // Example : http://localhost:3000/users?limit=10&offset=20
return this.userRepository.find(); findAll(paginationquery : PaginationQueryDto) {
const { limit, offset } = paginationquery;
return this.userRepository.find({
skip: offset,
take: limit,
});
} }
async create(createUserDto: CreateUsersDto) { async create(createUserDto: CreateUsersDto) {