Skip to content

Commit

Permalink
Merge pull request #53 from betagouv/fix--metabase-partner-to-widget
Browse files Browse the repository at this point in the history
Update widget.ts
  • Loading branch information
theolemague authored Feb 7, 2025
2 parents 1f94e6d + 9c10353 commit 9e521d4
Showing 1 changed file with 25 additions and 1 deletion.
26 changes: 25 additions & 1 deletion process/src/jobs/metabase/widget.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,12 +79,36 @@ const handler = async () => {
const transactions = [];
for (const obj of dataToUpdate) {
const { partners, ...widgetData } = obj;

const widget = await prisma.widget.findUnique({
where: { old_id: obj.old_id },
select: { id: true },
});

if (!widget) {
console.log(`[Widgets] Widget ${obj.old_id} not found`);
continue;
}

const existsPartnerToWidget = await prisma.partnerToWidget.findMany({
where: { widget_id: widget.id },
select: { partner_id: true },
});

const existsPartnerIds = existsPartnerToWidget.map((p) => p.partner_id);

transactions.push(
prisma.widget.update({
where: { old_id: obj.old_id },
data: {
...widgetData,
partners: partners,
partners: {
deleteMany: {
widget_id: widget.id,
partner_id: { in: existsPartnerIds.filter((id) => !partners.create.map((p) => p.partner_id).includes(id)) },
},
create: partners.create.filter((p) => !existsPartnerIds.includes(p.partner_id)),
},
},
}),
);
Expand Down

0 comments on commit 9e521d4

Please sign in to comment.