From 6124e0764f3c080d9fd92da8cc8dfe569f9b631a Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Thu, 17 Mar 2022 13:02:50 +0100 Subject: [PATCH 1/4] datatype Int for Ids --- admin/src/graphql/confirmPendingCreation.js | 2 +- admin/src/graphql/deletePendingCreation.js | 2 +- admin/src/graphql/deleteUser.js | 2 +- admin/src/graphql/unDeleteUser.js | 2 +- admin/src/pages/UserSearch.vue | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/admin/src/graphql/confirmPendingCreation.js b/admin/src/graphql/confirmPendingCreation.js index 29ac5b4fc..df72cc04d 100644 --- a/admin/src/graphql/confirmPendingCreation.js +++ b/admin/src/graphql/confirmPendingCreation.js @@ -1,7 +1,7 @@ import gql from 'graphql-tag' export const confirmPendingCreation = gql` - mutation ($id: Float!) { + mutation ($id: Int!) { confirmPendingCreation(id: $id) } ` diff --git a/admin/src/graphql/deletePendingCreation.js b/admin/src/graphql/deletePendingCreation.js index e47fa6a8d..edf45fe74 100644 --- a/admin/src/graphql/deletePendingCreation.js +++ b/admin/src/graphql/deletePendingCreation.js @@ -1,7 +1,7 @@ import gql from 'graphql-tag' export const deletePendingCreation = gql` - mutation ($id: Float!) { + mutation ($id: Int!) { deletePendingCreation(id: $id) } ` diff --git a/admin/src/graphql/deleteUser.js b/admin/src/graphql/deleteUser.js index 3b9bc73b2..9e3606bd7 100644 --- a/admin/src/graphql/deleteUser.js +++ b/admin/src/graphql/deleteUser.js @@ -1,7 +1,7 @@ import gql from 'graphql-tag' export const deleteUser = gql` - mutation ($userId: Float!) { + mutation ($userId: Int!) { deleteUser(userId: $userId) } ` diff --git a/admin/src/graphql/unDeleteUser.js b/admin/src/graphql/unDeleteUser.js index 2c6d603b2..b48c8981f 100644 --- a/admin/src/graphql/unDeleteUser.js +++ b/admin/src/graphql/unDeleteUser.js @@ -1,7 +1,7 @@ import gql from 'graphql-tag' export const unDeleteUser = gql` - mutation ($userId: Float!) { + mutation ($userId: Int!) { unDeleteUser(userId: $userId) } ` diff --git a/admin/src/pages/UserSearch.vue b/admin/src/pages/UserSearch.vue index 1fe44eda7..24334e0c9 100644 --- a/admin/src/pages/UserSearch.vue +++ b/admin/src/pages/UserSearch.vue @@ -99,7 +99,7 @@ export default { }, updateDeletedAt(userId, deletedAt) { this.searchResult.find((obj) => obj.userId === userId).deletedAt = deletedAt - this.toastSuccess(this.$t('user_deleted')) + this.toastSuccess(deletedAt ? this.$t('user_deleted') : this.$t('user_recovered')) }, }, watch: { From 4c396d7581eb4aadc4f2b6ec3f02beeafb87ece6 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Thu, 17 Mar 2022 13:03:41 +0100 Subject: [PATCH 2/4] define Int as type for args of Ids --- backend/src/graphql/resolver/AdminResolver.ts | 16 +++++++++++----- backend/src/server/plugins.ts | 3 +-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/backend/src/graphql/resolver/AdminResolver.ts b/backend/src/graphql/resolver/AdminResolver.ts index f116c3968..e7e8c2026 100644 --- a/backend/src/graphql/resolver/AdminResolver.ts +++ b/backend/src/graphql/resolver/AdminResolver.ts @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ -import { Resolver, Query, Arg, Args, Authorized, Mutation, Ctx } from 'type-graphql' +import { Resolver, Query, Arg, Args, Authorized, Mutation, Ctx, Int } from 'type-graphql' import { getCustomRepository, IsNull, @@ -122,7 +122,10 @@ export class AdminResolver { @Authorized([RIGHTS.DELETE_USER]) @Mutation(() => Date, { nullable: true }) - async deleteUser(@Arg('userId') userId: number, @Ctx() context: any): Promise { + async deleteUser( + @Arg('userId', () => Int) userId: number, + @Ctx() context: any, + ): Promise { const user = await User.findOne({ id: userId }) // user exists ? if (!user) { @@ -142,7 +145,7 @@ export class AdminResolver { @Authorized([RIGHTS.UNDELETE_USER]) @Mutation(() => Date, { nullable: true }) - async unDeleteUser(@Arg('userId') userId: number): Promise { + async unDeleteUser(@Arg('userId', () => Int) userId: number): Promise { const user = await User.findOne({ id: userId }, { withDeleted: true }) // user exists ? if (!user) { @@ -284,7 +287,7 @@ export class AdminResolver { @Authorized([RIGHTS.DELETE_PENDING_CREATION]) @Mutation(() => Boolean) - async deletePendingCreation(@Arg('id') id: number): Promise { + async deletePendingCreation(@Arg('id', () => Int) id: number): Promise { const entity = await AdminPendingCreation.findOneOrFail(id) const res = await AdminPendingCreation.delete(entity) return !!res @@ -292,7 +295,10 @@ export class AdminResolver { @Authorized([RIGHTS.CONFIRM_PENDING_CREATION]) @Mutation(() => Boolean) - async confirmPendingCreation(@Arg('id') id: number, @Ctx() context: any): Promise { + async confirmPendingCreation( + @Arg('id', () => Int) id: number, + @Ctx() context: any, + ): Promise { const pendingCreation = await AdminPendingCreation.findOneOrFail(id) const userRepository = getCustomRepository(UserRepository) const moderatorUser = await userRepository.findByPubkeyHex(context.pubKey) diff --git a/backend/src/server/plugins.ts b/backend/src/server/plugins.ts index a407135ea..5902a415f 100644 --- a/backend/src/server/plugins.ts +++ b/backend/src/server/plugins.ts @@ -39,7 +39,6 @@ const apolloLogPlugin = ApolloLogPlugin({ }, }) -const plugins = - process.env.NODE_ENV === 'development' ? [setHeadersPlugin] : [setHeadersPlugin, apolloLogPlugin] +const plugins = process.env.NODE_ENV === 'development' ? [setHeadersPlugin] : [setHeadersPlugin] // , apolloLogPlugin export default plugins From b84b4e27b4bfa19a481af3bb91725d54f6e6992e Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Thu, 17 Mar 2022 13:07:47 +0100 Subject: [PATCH 3/4] undo changes in plugin --- backend/src/server/plugins.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/src/server/plugins.ts b/backend/src/server/plugins.ts index 5902a415f..a407135ea 100644 --- a/backend/src/server/plugins.ts +++ b/backend/src/server/plugins.ts @@ -39,6 +39,7 @@ const apolloLogPlugin = ApolloLogPlugin({ }, }) -const plugins = process.env.NODE_ENV === 'development' ? [setHeadersPlugin] : [setHeadersPlugin] // , apolloLogPlugin +const plugins = + process.env.NODE_ENV === 'development' ? [setHeadersPlugin] : [setHeadersPlugin, apolloLogPlugin] export default plugins From 7dfa0e37ee1d1510225d4b658ad9963347fa56fe Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Sat, 19 Mar 2022 13:08:37 +0100 Subject: [PATCH 4/4] fix: id parameter to Int in seed --- backend/src/seeds/graphql/mutations.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/seeds/graphql/mutations.ts b/backend/src/seeds/graphql/mutations.ts index 19ca2a8d0..f68d983c0 100644 --- a/backend/src/seeds/graphql/mutations.ts +++ b/backend/src/seeds/graphql/mutations.ts @@ -94,7 +94,7 @@ export const createPendingCreation = gql` ` export const confirmPendingCreation = gql` - mutation ($id: Float!) { + mutation ($id: Int!) { confirmPendingCreation(id: $id) } `