Explorar el Código

fix: drop userKeys on user delete

NGPixel hace 5 años
padre
commit
fcd37afdb0
Se han modificado 2 ficheros con 16 adiciones y 1 borrados
  1. 1 1
      server/graph/resolvers/user.js
  2. 15 0
      server/models/users.js

+ 1 - 1
server/graph/resolvers/user.js

@@ -45,7 +45,7 @@ module.exports = {
         if (args.id <= 2) {
           throw new WIKI.Error.UserDeleteProtected()
         }
-        await WIKI.models.users.query().deleteById(args.id)
+        await WIKI.models.users.deleteUser(args.id)
         return {
           responseResult: graphHelper.generateSuccess('User deleted successfully')
         }

+ 15 - 0
server/models/users.js

@@ -596,6 +596,21 @@ module.exports = class User extends Model {
     }
   }
 
+  /**
+   * Delete a User
+   *
+   * @param {*} id User ID
+   */
+  static async deleteUser (id) {
+    const usr = await WIKI.models.users.query().findById(id)
+    if (usr) {
+      await WIKI.models.userKeys.query().delete().where('userId', id)
+      await WIKI.models.users.query().deleteById(id)
+    } else {
+      throw new WIKI.Error.UserNotFound()
+    }
+  }
+
   /**
    * Register a new user (client-side registration)
    *