@@ -32,17 +32,20 @@ const uniqueFields = [['handle']]
32
32
async function create ( entity , auth ) {
33
33
await dbHelper . makeSureUnique ( User , entity , uniqueFields )
34
34
35
- const result = await sequelize . transaction ( async ( t ) => {
36
- const userEntity = await dbHelper . create ( User , entity , auth , t )
37
- await serviceHelper . createRecordInEs ( resource , userEntity . dataValues , true )
38
- try {
39
- await helper . postEvent ( config . UBAHN_CREATE_USER_TOPIC , userEntity . dataValues )
40
- } catch ( err ) {
41
- logger . logFullError ( err )
35
+ let payload
36
+ try {
37
+ const result = await sequelize . transaction ( async ( t ) => {
38
+ const userEntity = await dbHelper . create ( User , entity , auth , t )
39
+ payload = userEntity . dataValues
40
+ await serviceHelper . createRecordInEs ( resource , userEntity . dataValues , true )
41
+ } )
42
+ return result
43
+ } catch ( e ) {
44
+ if ( payload ) {
45
+ helper . postEvent ( config . UBAHN_CREATE_USER_TOPIC , payload )
42
46
}
43
- } )
44
-
45
- return result
47
+ throw e
48
+ }
46
49
}
47
50
48
51
create . schema = {
@@ -65,19 +68,24 @@ create.schema = {
65
68
async function patch ( id , entity , auth , params ) {
66
69
await dbHelper . makeSureUnique ( User , entity , uniqueFields )
67
70
68
- const result = await sequelize . transaction ( async ( t ) => {
69
- const newEntity = await dbHelper . update ( User , id , entity , auth , null , t )
70
- await serviceHelper . patchRecordInEs ( resource , newEntity . dataValues , true )
71
+ let payload
72
+ try {
73
+ const result = await sequelize . transaction ( async ( t ) => {
74
+ const newEntity = await dbHelper . update ( User , id , entity , auth , null , t )
75
+ payload = newEntity . dataValues
71
76
72
- try {
73
- await helper . postEvent ( config . UBAHN_UPDATE_USER_TOPIC , newEntity . dataValues )
74
- } catch ( err ) {
75
- logger . logFullError ( err )
76
- }
77
- return newEntity
78
- } )
77
+ await serviceHelper . patchRecordInEs ( resource , newEntity . dataValues , true )
78
+
79
+ return newEntity
80
+ } )
79
81
80
- return result
82
+ return result
83
+ } catch ( e ) {
84
+ if ( payload ) {
85
+ helper . postEvent ( config . UBAHN_UPDATE_USER_TOPIC , payload )
86
+ }
87
+ throw e
88
+ }
81
89
}
82
90
83
91
patch . schema = {
@@ -180,20 +188,23 @@ async function remove (id, auth, params) {
180
188
* @param params the path params
181
189
*/
182
190
async function beginCascadeDelete ( id , params ) {
183
- await sequelize . transaction ( async ( t ) => {
184
- await serviceHelper . deleteChild ( Achievement , id , [ 'userId' , 'achievementsProviderId' ] , 'Achievement' , t )
185
- await serviceHelper . deleteChild ( ExternalProfile , id , [ 'userId' , 'organizationId' ] , 'ExternalProfile' , t )
186
- await serviceHelper . deleteChild ( UserAttribute , id , [ 'userId' , 'attributeId' ] , 'UserAttribute' , t )
187
- await serviceHelper . deleteChild ( UsersRole , id , [ 'userId' , 'roleId' ] , 'UsersRole' , t )
188
- await serviceHelper . deleteChild ( UsersSkill , id , [ 'userId' , 'skillId' ] , 'UsersSkill' , t )
189
- await dbHelper . remove ( User , id , null , t )
190
- await serviceHelper . deleteRecordFromEs ( id , params , resource , true )
191
- try {
192
- await helper . postEvent ( config . UBAHN_DELETE_USER_TOPIC , { id} )
193
- } catch ( err ) {
194
- logger . logFullError ( err )
195
- }
196
- } )
191
+ let payload = { id}
192
+ try {
193
+ await sequelize . transaction ( async ( t ) => {
194
+ await serviceHelper . deleteChild ( Achievement , id , [ 'userId' , 'achievementsProviderId' ] , 'Achievement' , t )
195
+ aa . bb
196
+ await serviceHelper . deleteChild ( ExternalProfile , id , [ 'userId' , 'organizationId' ] , 'ExternalProfile' , t )
197
+ await serviceHelper . deleteChild ( UserAttribute , id , [ 'userId' , 'attributeId' ] , 'UserAttribute' , t )
198
+ await serviceHelper . deleteChild ( UsersRole , id , [ 'userId' , 'roleId' ] , 'UsersRole' , t )
199
+ await serviceHelper . deleteChild ( UsersSkill , id , [ 'userId' , 'skillId' ] , 'UsersSkill' , t )
200
+ await dbHelper . remove ( User , id , null , t )
201
+ await serviceHelper . deleteRecordFromEs ( id , params , resource , true )
202
+ } )
203
+
204
+ } catch ( e ) {
205
+ helper . postEvent ( config . UBAHN_DELETE_USER_TOPIC , payload )
206
+ throw e
207
+ }
197
208
}
198
209
199
210
module . exports = {
0 commit comments