@@ -18,19 +18,19 @@ const esClient = helper.getESClient()
18
18
*/
19
19
async function processCreate ( message , transactionId ) {
20
20
const data = message . payload
21
- const workPeriod = await esClient . get ( {
21
+ const workPeriod = await esClient . getExtra ( {
22
22
index : config . get ( 'esConfig.ES_INDEX_WORK_PERIOD' ) ,
23
23
id : data . workPeriodId
24
24
} )
25
- const payments = _ . isArray ( workPeriod . body . _source . payments ) ? workPeriod . body . _source . payments : [ ]
25
+ const payments = _ . isArray ( workPeriod . body . payments ) ? workPeriod . body . payments : [ ]
26
26
payments . push ( data )
27
27
28
- return esClient . update ( {
28
+ return esClient . updateExtra ( {
29
29
index : config . get ( 'esConfig.ES_INDEX_WORK_PERIOD' ) ,
30
30
id : data . workPeriodId ,
31
31
transactionId,
32
32
body : {
33
- doc : _ . assign ( workPeriod . body . _source , { payments } )
33
+ doc : _ . assign ( workPeriod . body , { payments } )
34
34
} ,
35
35
refresh : constants . esRefreshOption
36
36
} )
@@ -77,31 +77,34 @@ async function processUpdate (message, transactionId) {
77
77
}
78
78
}
79
79
} )
80
+ if ( ! workPeriod . body . hits . total . value ) {
81
+ throw new Error ( `id: ${ data . id } "WorkPeriodPayments" not found` )
82
+ }
80
83
let payments
81
84
// if WorkPeriodPayment's workPeriodId changed then it must be deleted from the old WorkPeriod
82
85
// and added to the new WorkPeriod
83
86
if ( workPeriod . body . hits . hits [ 0 ] . _source . id !== data . workPeriodId ) {
84
87
payments = _ . filter ( workPeriod . body . hits . hits [ 0 ] . _source . payments , ( payment ) => payment . id !== data . id )
85
- await esClient . update ( {
88
+ await esClient . updateExtra ( {
86
89
index : config . get ( 'esConfig.ES_INDEX_WORK_PERIOD' ) ,
87
90
id : workPeriod . body . hits . hits [ 0 ] . _source . id ,
88
91
transactionId,
89
92
body : {
90
93
doc : _ . assign ( workPeriod . body . hits . hits [ 0 ] . _source , { payments } )
91
94
}
92
95
} )
93
- workPeriod = await esClient . get ( {
96
+ workPeriod = await esClient . getExtra ( {
94
97
index : config . get ( 'esConfig.ES_INDEX_WORK_PERIOD' ) ,
95
98
id : data . workPeriodId
96
99
} )
97
- payments = _ . isArray ( workPeriod . body . _source . payments ) ? workPeriod . body . _source . payments : [ ]
100
+ payments = _ . isArray ( workPeriod . body . payments ) ? workPeriod . body . payments : [ ]
98
101
payments . push ( data )
99
- return esClient . update ( {
102
+ return esClient . updateExtra ( {
100
103
index : config . get ( 'esConfig.ES_INDEX_WORK_PERIOD' ) ,
101
104
id : data . workPeriodId ,
102
105
transactionId,
103
106
body : {
104
- doc : _ . assign ( workPeriod . body . _source , { payments } )
107
+ doc : _ . assign ( workPeriod . body , { payments } )
105
108
}
106
109
} )
107
110
}
@@ -113,7 +116,7 @@ async function processUpdate (message, transactionId) {
113
116
return payment
114
117
} )
115
118
116
- return esClient . update ( {
119
+ return esClient . updateExtra ( {
117
120
index : config . get ( 'esConfig.ES_INDEX_WORK_PERIOD' ) ,
118
121
id : data . workPeriodId ,
119
122
transactionId,
0 commit comments