@@ -32,17 +32,21 @@ const uniqueFields = [['handle']]
3232async function create ( entity , auth ) {
3333 await dbHelper . makeSureUnique ( User , entity , uniqueFields )
3434
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+ return userEntity
42+ } )
43+ return result
44+ } catch ( e ) {
45+ if ( payload ) {
46+ helper . postEvent ( config . UBAHN_CREATE_USER_TOPIC , payload )
4247 }
43- } )
44-
45- return result
48+ throw e
49+ }
4650}
4751
4852create . schema = {
@@ -65,19 +69,24 @@ create.schema = {
6569async function patch ( id , entity , auth , params ) {
6670 await dbHelper . makeSureUnique ( User , entity , uniqueFields )
6771
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 )
72+ let payload
73+ try {
74+ const result = await sequelize . transaction ( async ( t ) => {
75+ const newEntity = await dbHelper . update ( User , id , entity , auth , null , t )
76+ payload = newEntity . dataValues
7177
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- } )
78+ await serviceHelper . patchRecordInEs ( resource , newEntity . dataValues , true )
79+
80+ return newEntity
81+ } )
7982
80- return result
83+ return result
84+ } catch ( e ) {
85+ if ( payload ) {
86+ helper . postEvent ( config . UBAHN_UPDATE_USER_TOPIC , payload )
87+ }
88+ throw e
89+ }
8190}
8291
8392patch . schema = {
@@ -180,20 +189,23 @@ async function remove (id, auth, params) {
180189 * @param params the path params
181190 */
182191async 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- } )
192+ let payload = { id}
193+ try {
194+ await sequelize . transaction ( async ( t ) => {
195+ await serviceHelper . deleteChild ( Achievement , id , [ 'userId' , 'achievementsProviderId' ] , 'Achievement' , t )
196+ aa . bb
197+ await serviceHelper . deleteChild ( ExternalProfile , id , [ 'userId' , 'organizationId' ] , 'ExternalProfile' , t )
198+ await serviceHelper . deleteChild ( UserAttribute , id , [ 'userId' , 'attributeId' ] , 'UserAttribute' , t )
199+ await serviceHelper . deleteChild ( UsersRole , id , [ 'userId' , 'roleId' ] , 'UsersRole' , t )
200+ await serviceHelper . deleteChild ( UsersSkill , id , [ 'userId' , 'skillId' ] , 'UsersSkill' , t )
201+ await dbHelper . remove ( User , id , null , t )
202+ await serviceHelper . deleteRecordFromEs ( id , params , resource , true )
203+ } )
204+
205+ } catch ( e ) {
206+ helper . postEvent ( config . UBAHN_DELETE_USER_TOPIC , payload )
207+ throw e
208+ }
197209}
198210
199211module . exports = {
0 commit comments