add creatorId

This commit is contained in:
Nitzan Miranda 2023-07-21 04:07:10 +03:00
parent f5bcf95e2c
commit 84d7341e2b
2 changed files with 20 additions and 8 deletions

View File

@ -10,9 +10,10 @@ export default function Component({ service }) {
const { widget } = service;
const { data: prData, error: prError } = useWidgetAPI(widget, "pr");
const { data: myPrData, error: myPrError } = useWidgetAPI(widget, "myPr");
if (prError) {
const finalError = prError ;
if (prError || myPrError) {
const finalError = prError ?? myPrError ;
return <Container service={service} error={finalError} />;
}
@ -29,8 +30,8 @@ export default function Component({ service }) {
return (
<Container service={service}>
<Block label="azurePullrequests.totalPrs" value={t("common.number", { value: prData.count })} />
<Block label="azurePullrequests.myPrs" value={t("common.number", { value: prData.value.filter(item => item.createdBy.uniqueName === service.widget.userEmail).length })} />
<Block label="azurePullrequests.approvedNotCompleted" value={t("common.number", { value: prData.value.filter(item => item.reviewers.some(reviewer => reviewer.vote === 10)).length })} />
<Block label="azurePullrequests.myPrs" value={t("common.number", { value: myPrData.count })} />
<Block label="azurePullrequests.approvedNotCompleted" value={t("common.number", { value: myPrData.value.filter(item => item.reviewers.some(reviewer => reviewer.vote === 10)).length })} />
</Container>
);
}

View File

@ -1,14 +1,25 @@
import credentialedProxyHandler from "utils/proxy/handlers/credentialed";
import { asJson } from "utils/proxy/api-helpers";
const widget = {
api: "https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/pullrequests",
api: "https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/pullrequests?{filter}",
proxyHandler: credentialedProxyHandler,
active: {
mappings: {
pr: {
endpoint: "pr",
}
filter: "",
map: (data) => ({
count: asJson(data).count,
}),
},
myPr: {
filter: "searchCriteria.creatorId={creatorId}&",
map: (data) => ({
count: asJson(data).count,
}),
},
},
};
export default widget;