Skip to content

Commit 9165ff9

Browse files
fix[backend](integrations): added database integration save before opensearch index pattern to avoid
1 parent 5177bf8 commit 9165ff9

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

  • backend/modules/integrations/usecase

backend/modules/integrations/usecase/module.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -161,15 +161,21 @@ func (u *moduleUsecase) Create(ctx context.Context, req dto.CreateModuleRequest)
161161
IsSystem: false,
162162
}
163163

164+
165+
if err := u.repo.Save(ctx, m); err != nil {
166+
return nil, err
167+
}
168+
164169
if _,err:= u.opensearch.Create(ctx,os_dto.CreateIndexPatternRequest{
165170
PatternModule: &req.ModuleName,
166171
});err!=nil{
172+
//opensearch insertion fails, rolling back database
173+
if err:=u.repo.Delete(ctx,m.ID);err!=nil{
174+
catcher.Error("failed to remove module after index pattern creation fail", err, map[string]any{"module":m.ModuleName} )
175+
}
167176
return nil, err
168177
}
169178

170-
if err := u.repo.Save(ctx, m); err != nil {
171-
return nil, err
172-
}
173179
resp := dto.FromModule(*m)
174180
return &resp, nil
175181
}

0 commit comments

Comments
 (0)