@@ -31,36 +31,39 @@ export default async (data) => {
31
31
const update = [ ] ;
32
32
await Promise . all ( data . map ( async ( d ) => {
33
33
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
+ } ) ) ;
64
67
} ) ) ;
65
68
66
69
// Splitt in Chunks & Update
0 commit comments