Skip to content

Commit 994160f

Browse files
authored
Merge pull request #48 from demokratie-live/sprint#9/fix_import_antrag_gesetz
Sprint#9/fix import antrag gesetz
2 parents a038100 + 4af35bb commit 994160f

File tree

1 file changed

+33
-30
lines changed

1 file changed

+33
-30
lines changed

src/scripts/webhook.js

Lines changed: 33 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -31,36 +31,39 @@ export default async (data) => {
3131
const update = [];
3232
await Promise.all(data.map(async (d) => {
3333
const period = parseInt(d.period, 10);
34-
const { type, countBefore, changedIds } = d.types.find(t => t.type === 'Gesetzgebung' || t.type === 'Antrag');
35-
const group = groups.find(c => c.period === period);
36-
const localGroup = group ? group.types.find(ct => ct.type === type) : null;
37-
const localCount = localGroup ? localGroup.count : 0;
38-
// Append Changed IDs
39-
update.concat(changedIds);
40-
// Compare Counts Remote & Local
41-
if (countBefore > localCount) {
42-
// Find remote Procedure Updates
43-
const { data: { procedureUpdates } } = await client.query({
44-
query: getProcedureUpdates,
45-
variables: { period, type },
46-
});
47-
// Find local Procedure Updates
48-
const localProcedureUpdates = await ProcedureModel.find(
49-
{ period, type },
50-
{ procedureId: 1, bioUpdateAt: 1 },
51-
);
52-
// Compare
53-
procedureUpdates.forEach((pu) => {
54-
const localData = localProcedureUpdates.find(ld => ld.procedureId === pu.procedureId);
55-
if (
56-
!localData ||
57-
(pu.bioUpdateAt &&
58-
new Date(localData.bioUpdateAt).getTime() !== new Date(pu.bioUpdateAt).getTime())
59-
) {
60-
update.push(pu.procedureId);
61-
}
62-
});
63-
}
34+
const types = d.types.filter(t => t.type === 'Gesetzgebung' || t.type === 'Antrag');
35+
await Promise.all(types.map(async (t) => {
36+
const { type, countBefore, changedIds } = t;
37+
const group = groups.find(c => c.period === period);
38+
const localGroup = group ? group.types.find(ct => ct.type === type) : null;
39+
const localCount = localGroup ? localGroup.count : 0;
40+
// Append Changed IDs
41+
update.concat(changedIds);
42+
// Compare Counts Remote & Local
43+
if (countBefore > localCount) {
44+
// Find remote Procedure Updates
45+
const { data: { procedureUpdates } } = await client.query({
46+
query: getProcedureUpdates,
47+
variables: { period, type },
48+
});
49+
// Find local Procedure Updates
50+
const localProcedureUpdates = await ProcedureModel.find(
51+
{ period, type },
52+
{ procedureId: 1, bioUpdateAt: 1 },
53+
);
54+
// Compare
55+
procedureUpdates.forEach((pu) => {
56+
const localData = localProcedureUpdates.find(ld => ld.procedureId === pu.procedureId);
57+
if (
58+
!localData ||
59+
(pu.bioUpdateAt &&
60+
new Date(localData.bioUpdateAt).getTime() !== new Date(pu.bioUpdateAt).getTime())
61+
) {
62+
update.push(pu.procedureId);
63+
}
64+
});
65+
}
66+
}));
6467
}));
6568

6669
// Splitt in Chunks & Update

0 commit comments

Comments
 (0)