From 4a8723b96ad839c1bf2636f1df0e0c4b41dd4408 Mon Sep 17 00:00:00 2001
From: Jeremie BRISON <ext.sopra.jbrison@grandlyon.com>
Date: Fri, 19 Feb 2021 15:08:02 +0100
Subject: [PATCH] fix(ownerStructure) : fix return owner object + fix bug
 hexString()

---
 src/structures/services/structures.service.ts |  2 +-
 src/temp-user/dto/create-temp-user.dto.ts     |  8 --------
 src/temp-user/temp-user.interface.ts          |  2 --
 src/temp-user/temp-user.schema.ts             |  6 ------
 src/users/users.controller.ts                 | 12 ++++++++----
 5 files changed, 9 insertions(+), 21 deletions(-)

diff --git a/src/structures/services/structures.service.ts b/src/structures/services/structures.service.ts
index ad300ffff..4dd3dfd27 100644
--- a/src/structures/services/structures.service.ts
+++ b/src/structures/services/structures.service.ts
@@ -338,7 +338,7 @@ export class StructuresService {
 
   public async updateAccountVerified(idStructure: string, emailUser: string): Promise<Structure> {
     const user = await this.userService.findOne(emailUser);
-    const structureLinked = await this.findOne(user.structuresLink[0].toHexString());
+    const structureLinked = await this.findOne(idStructure);
     const structure = new this.structureModel(structureLinked);
     if (!structure) {
       throw new HttpException('Invalid structure', HttpStatus.NOT_FOUND);
diff --git a/src/temp-user/dto/create-temp-user.dto.ts b/src/temp-user/dto/create-temp-user.dto.ts
index 892eb6fca..94b61f14d 100644
--- a/src/temp-user/dto/create-temp-user.dto.ts
+++ b/src/temp-user/dto/create-temp-user.dto.ts
@@ -8,14 +8,6 @@ export class CreateTempUserDto {
   @ApiProperty({ type: String })
   email: string;
 
-  @IsNotEmpty()
-  @ApiProperty({ type: String })
-  name: string;
-
-  @IsNotEmpty()
-  @ApiProperty({ type: String })
-  surname: string;
-
   @IsArray()
   @IsOptional()
   pendingStructuresLink?: Types.ObjectId[];
diff --git a/src/temp-user/temp-user.interface.ts b/src/temp-user/temp-user.interface.ts
index b802cf3dd..1e0a132a1 100644
--- a/src/temp-user/temp-user.interface.ts
+++ b/src/temp-user/temp-user.interface.ts
@@ -3,7 +3,5 @@ import { Document, Types } from 'mongoose';
 export interface ITempUser extends Document {
   readonly _id: string;
   email: string;
-  name: string;
-  surname: string;
   pendingStructuresLink: Types.ObjectId[];
 }
diff --git a/src/temp-user/temp-user.schema.ts b/src/temp-user/temp-user.schema.ts
index c8777e3ef..dc70ce2ac 100644
--- a/src/temp-user/temp-user.schema.ts
+++ b/src/temp-user/temp-user.schema.ts
@@ -8,12 +8,6 @@ export class TempUser {
   @Prop({ required: true })
   email: string;
 
-  @Prop({ required: true })
-  name: string;
-
-  @Prop({ required: true })
-  surname: string;
-
   @Prop({ default: null })
   pendingStructuresLink: Types.ObjectId[];
 }
diff --git a/src/users/users.controller.ts b/src/users/users.controller.ts
index 2add23768..5bddaee3d 100644
--- a/src/users/users.controller.ts
+++ b/src/users/users.controller.ts
@@ -8,14 +8,18 @@ import { PasswordResetApplyDto } from './dto/reset-password-apply.dto';
 import { PasswordResetDto } from './dto/reset-password.dto';
 import { UsersService } from './users.service';
 import { StructuresService } from '../structures/services/structures.service';
-import { Types } from 'mongoose';
+import { Mongoose, Types } from 'mongoose';
 import { AuthService } from '../auth/auth.service';
 import { JwtService } from '@nestjs/jwt';
 import { TempUserService } from '../temp-user/temp-user.service';
 
 @Controller('users')
 export class UsersController {
-  constructor(private usersService: UsersService, private structureService: StructuresService, private tempUserService: TempUserService) {}
+  constructor(
+    private usersService: UsersService,
+    private structureService: StructuresService,
+    private tempUserService: TempUserService
+  ) {}
 
   @UseGuards(JwtAuthGuard)
   @ApiBearerAuth('JWT')
@@ -107,9 +111,9 @@ export class UsersController {
   public async delete(@Req() req) {
     const user = await this.usersService.deleteOne(req.user.email);
     user.structuresLink.forEach((structureId) => {
-      this.usersService.isStructureClaimed(structureId.toHexString()).then((userFound) => {
+      this.usersService.isStructureClaimed(structureId.toString()).then((userFound) => {
         if (!userFound) {
-          this.structureService.deleteOne(structureId.toHexString());
+          this.structureService.deleteOne(structureId.toString());
         }
       });
     });
-- 
GitLab