From 4adf24dfa9c95c0c0a213d887bd660609a3bc91a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Urs=20Kr=C3=B6ll?= Date: Fri, 22 Nov 2024 01:38:30 +0100 Subject: [PATCH] * fix gitlab widget showing incorrect count of issues and merges --- src/widgets/gitlab/component.jsx | 17 ++++++++--------- src/widgets/gitlab/widget.js | 16 +++++++++++++--- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/src/widgets/gitlab/component.jsx b/src/widgets/gitlab/component.jsx index 6c3ac9e0..e5d9bfe4 100644 --- a/src/widgets/gitlab/component.jsx +++ b/src/widgets/gitlab/component.jsx @@ -9,12 +9,14 @@ export default function Component({ service }) { const { widget } = service; const { data: gitlabEvents, error: gitlabEventsError } = useWidgetAPI(widget, "events"); + const { data: gitlabIssues, error: gitlabIssuesError } = useWidgetAPI(widget, "issues"); + const { data: gitlabMerges, error: gitlabMergesError } = useWidgetAPI(widget, "merges"); - if (gitlabEventsError) { - return ; + if (gitlabEventsError || gitlabIssuesError || gitlabMergesError) { + return ; } - if (!gitlabEvents) { + if (!gitlabEvents || !gitlabIssues || !gitlabMerges) { return ( @@ -24,14 +26,11 @@ export default function Component({ service }) { ); } - const openIssues = gitlabEvents.issues.filter((event) => event.action_name.toLowerCase() === "opened").length; - const openMerges = gitlabEvents.merges.filter((event) => event.action_name.toLowerCase() === "opened").length; - return ( - - - + + + ); } diff --git a/src/widgets/gitlab/widget.js b/src/widgets/gitlab/widget.js index c308e954..652674ab 100644 --- a/src/widgets/gitlab/widget.js +++ b/src/widgets/gitlab/widget.js @@ -8,9 +8,19 @@ const widget = { events: { endpoint: "events", map: (data) => ({ - merges: asJson(data).filter((event) => event.target_type?.toLowerCase() === "merge_request"), - issues: asJson(data).filter((event) => event.target_type?.toLowerCase() === "issue"), - events: asJson(data).length, + count: asJson(data).length, + }), + }, + issues: { + endpoint: "issues?state=opened", + map: (data) => ({ + count: asJson(data).length, + }), + }, + merges: { + endpoint: "merge_requests?state=opened", + map: (data) => ({ + count: asJson(data).length, }), }, },