* fix gitlab widget showing incorrect count of issues and merges
This commit is contained in:
parent
defa1ded7f
commit
4adf24dfa9
@ -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 <Container service={service} error={gitlabEvents} />;
|
||||
if (gitlabEventsError || gitlabIssuesError || gitlabMergesError) {
|
||||
return <Container service={service} error={gitlabEventsError ?? gitlabIssuesError ?? gitlabMergesError} />;
|
||||
}
|
||||
|
||||
if (!gitlabEvents) {
|
||||
if (!gitlabEvents || !gitlabIssues || !gitlabMerges) {
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="gitlab.events" />
|
||||
@ -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 (
|
||||
<Container service={service}>
|
||||
<Block label="gitlab.events" value={t("common.number", { value: gitlabEvents.events })} />
|
||||
<Block label="gitlab.issues" value={t("common.number", { value: openIssues })} />
|
||||
<Block label="gitlab.merges" value={t("common.number", { value: openMerges })} />
|
||||
<Block label="gitlab.events" value={t("common.number", { value: gitlabEvents.count })} />
|
||||
<Block label="gitlab.issues" value={t("common.number", { value: gitlabIssues.count })} />
|
||||
<Block label="gitlab.merges" value={t("common.number", { value: gitlabMerges.count })} />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
@ -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,
|
||||
}),
|
||||
},
|
||||
},
|
||||
|
||||
Loading…
Reference in New Issue
Block a user