From 23a21b6cd3966e7ad820e9ce9f3105f54512837f Mon Sep 17 00:00:00 2001 From: Douglas Barone Date: Wed, 17 Nov 2021 10:19:52 -0400 Subject: [PATCH] Added delele expired token --- server/package-lock.json | 4 +-- server/package.json | 2 +- server/src/classes/ResetToken.js | 13 +++++++++ server/src/resolvers/Mutation/index.js | 4 +++ server/src/typeDefs.js | 3 ++ web/package-lock.json | 4 +-- web/package.json | 2 +- .../SystemAdministration/Maintenance.vue | 29 +++++++++++++++++-- 8 files changed, 53 insertions(+), 8 deletions(-) diff --git a/server/package-lock.json b/server/package-lock.json index 27355b7..11a52f9 100755 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -1,12 +1,12 @@ { "name": "ifms-pti-svr", - "version": "2.7.0", + "version": "2.7.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ifms-pti-svr", - "version": "2.7.0", + "version": "2.7.1", "license": "ISC", "dependencies": { "@prisma/client": "^3.4.2", diff --git a/server/package.json b/server/package.json index 5b03d56..42b072d 100755 --- a/server/package.json +++ b/server/package.json @@ -1,6 +1,6 @@ { "name": "ifms-pti-svr", - "version": "2.7.0", + "version": "2.7.1", "description": "Servidor do Portal de TI do IFMS", "main": "src/index.js", "scripts": { diff --git a/server/src/classes/ResetToken.js b/server/src/classes/ResetToken.js index 2f01d0d..eadd842 100755 --- a/server/src/classes/ResetToken.js +++ b/server/src/classes/ResetToken.js @@ -111,6 +111,19 @@ class ResetToken { return true } + static async deleteExpiredTokens() { + const result = await prisma.resetToken.deleteMany({ + where: { + expiration: { + lt: new Date() + } + } + }) + + logSuccess({ message: `${result.count} tokens deletados` }) + + return result.count + } } export { ResetToken } diff --git a/server/src/resolvers/Mutation/index.js b/server/src/resolvers/Mutation/index.js index 965611f..9120f00 100644 --- a/server/src/resolvers/Mutation/index.js +++ b/server/src/resolvers/Mutation/index.js @@ -33,6 +33,10 @@ const Mutation = { return ResetToken.useToken(data.token, data.newPassword) }, + async deleteExpiredTokens() { + return `Tokens deletados ${await ResetToken.deleteExpiredTokens()}` + }, + async importUsers() { User.importAllUsers() diff --git a/server/src/typeDefs.js b/server/src/typeDefs.js index c8ae1b2..6f0f5f1 100644 --- a/server/src/typeDefs.js +++ b/server/src/typeDefs.js @@ -78,6 +78,9 @@ const typeDefs = gql` "Use a provided Reset Token to update a user password" useResetToken(data: UseResetTokenInput!): Boolean! + "Delete all expired Tokens" + deleteExpiredTokens: String! + "Import all users from Active Directory" importUsers: String! @auth(roles: ["superAdmin"]) diff --git a/web/package-lock.json b/web/package-lock.json index e5958d1..ddb07e5 100755 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -1,12 +1,12 @@ { "name": "ifms-pti", - "version": "2.7.0", + "version": "2.7.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ifms-pti", - "version": "2.7.0", + "version": "2.7.1", "dependencies": { "@mdi/font": "^5.9.55", "apollo-link-ws": "^1.0.20", diff --git a/web/package.json b/web/package.json index 562ff25..768c6a6 100755 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "ifms-pti", - "version": "2.7.0", + "version": "2.7.1", "private": true, "scripts": { "serve": "vue-cli-service serve", diff --git a/web/src/views/SystemAdministration/Maintenance.vue b/web/src/views/SystemAdministration/Maintenance.vue index 55dcf36..f7d8abc 100644 --- a/web/src/views/SystemAdministration/Maintenance.vue +++ b/web/src/views/SystemAdministration/Maintenance.vue @@ -47,7 +47,13 @@ - + Apagar tokens @@ -65,7 +71,8 @@ export default { name: 'Maintenance', components: {}, data: () => ({ - tab: 0 + tab: 0, + isDeletingExpiredTokens: false }), methods: { async importUsers() { @@ -77,6 +84,24 @@ export default { ` }) alert(response.data.importUsers) + }, + + async deleteExpiredTokens() { + try { + this.isDeletingExpiredTokens = true + const response = await this.$apollo.mutate({ + mutation: gql` + mutation { + deleteExpiredTokens + } + ` + }) + alert(response.data.deleteExpiredTokens) + } catch (error) { + console.log(error) + } finally { + this.isDeletingExpiredTokens = false + } } } }