From 39ed8f1b813ef212804b0f525a227fb57bff6ad5 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Thu, 8 Jun 2023 14:24:00 +0200 Subject: [PATCH 1/2] feat(backend): filter for event end date as well --- backend/src/schema/resolvers/posts.js | 10 ++++++++++ backend/src/schema/types/type/Post.gql | 1 + 2 files changed, 11 insertions(+) diff --git a/backend/src/schema/resolvers/posts.js b/backend/src/schema/resolvers/posts.js index c7d2eebdb..690d5497c 100644 --- a/backend/src/schema/resolvers/posts.js +++ b/backend/src/schema/resolvers/posts.js @@ -21,12 +21,22 @@ const maintainPinnedPosts = (params) => { return params } +const filterEventDates = (params) => { + if (params.filter.eventStart_gte) { + const date = params.filter.eventStart_gte + delete params.filter.eventStart_gte + params.filter = { ...params.filter, OR: [{ eventStart_gte: date }, { eventEnd_gte: date }] } + } + return params +} + export default { Query: { Post: async (object, params, context, resolveInfo) => { params = await filterPostsOfMyGroups(params, context) params = await filterInvisiblePosts(params, context) params = await filterForMutedUsers(params, context) + params = filterEventDates(params) params = await maintainPinnedPosts(params) return neo4jgraphql(object, params, context, resolveInfo) }, diff --git a/backend/src/schema/types/type/Post.gql b/backend/src/schema/types/type/Post.gql index af1e14188..7c93c0b73 100644 --- a/backend/src/schema/types/type/Post.gql +++ b/backend/src/schema/types/type/Post.gql @@ -85,6 +85,7 @@ input _PostFilter { postsInMyGroups: Boolean postType_in: [PostType] eventStart_gte: String + eventEnd_gte: String } enum _PostOrdering { From 02ef59184c7e59d10d39b2a247a0fe404c772b90 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Thu, 8 Jun 2023 17:58:52 +0200 Subject: [PATCH 2/2] check if filter is present --- backend/src/schema/resolvers/posts.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/schema/resolvers/posts.js b/backend/src/schema/resolvers/posts.js index 690d5497c..c9bfca053 100644 --- a/backend/src/schema/resolvers/posts.js +++ b/backend/src/schema/resolvers/posts.js @@ -22,7 +22,7 @@ const maintainPinnedPosts = (params) => { } const filterEventDates = (params) => { - if (params.filter.eventStart_gte) { + if (params.filter?.eventStart_gte) { const date = params.filter.eventStart_gte delete params.filter.eventStart_gte params.filter = { ...params.filter, OR: [{ eventStart_gte: date }, { eventEnd_gte: date }] }