From da6052e43ddd7557b061df38d7e6629613fbe00c Mon Sep 17 00:00:00 2001
From: Antonin Coquet <ext.sopra.acoquet@grandlyon.com>
Date: Tue, 23 Mar 2021 17:04:00 +0100
Subject: [PATCH] feat: add route for deleting user as admin

---
 src/users/users.controller.ts | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/src/users/users.controller.ts b/src/users/users.controller.ts
index 4bde1ea1b..382369894 100644
--- a/src/users/users.controller.ts
+++ b/src/users/users.controller.ts
@@ -116,4 +116,23 @@ export class UsersController {
     });
     return user;
   }
+
+  @Post('delete-user')
+  @ApiResponse({ status: 200, description: 'User deleted' })
+  public async deleteUser(@Req() req, @Body() email: { email: string }) {
+    const user = await this.usersService.deleteOne(email.email);
+    user.structuresLink.forEach((structureId) => {
+      this.usersService.isStructureClaimed(structureId.toString()).then((userFound) => {
+        if (!userFound) {
+          this.structureService.deleteOne(structureId.toString());
+        }
+      });
+    });
+    return user;
+  }
+
+  @Get()
+  public async getAllUsers(@Req() req) {
+    return this.usersService.findAll();
+  }
 }
-- 
GitLab