Compare commits

..

1 Commits

Author SHA1 Message Date
swapnil-signoz
6fcff5dcee feat: adding dashboard delete unsafe v2 method 2026-09-16 12:38:42 +05:30
5 changed files with 24 additions and 2 deletions

View File

@@ -583,7 +583,7 @@ func (module *module) deprovisionDashboards(ctx context.Context, orgID valuer.UU
return err
}
if err := module.dashboardModule.DeleteUnsafe(ctx, orgID, dashID); err != nil {
if err := module.dashboardModule.DeleteUnsafeV2(ctx, orgID, dashID); err != nil {
return err
}
}

View File

@@ -297,6 +297,15 @@ func (module *module) DeleteV2(ctx context.Context, orgID valuer.UUID, id valuer
})
}
func (module *module) DeleteUnsafeV2(ctx context.Context, orgID valuer.UUID, id valuer.UUID) error {
return module.store.RunInTx(ctx, func(ctx context.Context) error {
if err := module.store.DeletePublic(ctx, id.String()); err != nil && !errors.Ast(err, errors.TypeNotFound) {
return err
}
return module.pkgDashboardModule.DeleteUnsafeV2(ctx, orgID, id)
})
}
func (module *module) LockUnlockV2(ctx context.Context, orgID valuer.UUID, id valuer.UUID, updatedBy string, isAdmin bool, lock bool) error {
return module.pkgDashboardModule.LockUnlockV2(ctx, orgID, id, updatedBy, isAdmin, lock)
}

View File

@@ -82,6 +82,10 @@ type Module interface {
DeleteV2(ctx context.Context, orgID valuer.UUID, id valuer.UUID) error
// DeleteUnsafeV2 deletes a v2 dashboard and its related state without applying deletion guards.
// Intended for internal system callers.
DeleteUnsafeV2(ctx context.Context, orgID valuer.UUID, id valuer.UUID) error
DeletePreferencesForUser(ctx context.Context, orgID valuer.UUID, userID valuer.UUID) error
// get the v2 dashboard data by public dashboard id

View File

@@ -294,6 +294,15 @@ func (module *module) DeleteV2(ctx context.Context, orgID valuer.UUID, id valuer
return err
}
return module.deleteV2(ctx, orgID, id)
}
// DeleteUnsafeV2 deletes a v2 dashboard bypassing the guards. Intended for internal system callers.
func (module *module) DeleteUnsafeV2(ctx context.Context, orgID valuer.UUID, id valuer.UUID) error {
return module.deleteV2(ctx, orgID, id)
}
func (module *module) deleteV2(ctx context.Context, orgID valuer.UUID, id valuer.UUID) error {
return module.store.RunInTx(ctx, func(ctx context.Context) error {
// Syncing to an empty tag set drops every tag link for the dashboard.
if _, err := module.tagModule.SyncTags(ctx, orgID, coretypes.KindDashboard, id, nil); err != nil {

View File

@@ -470,7 +470,7 @@ func (m *Manager) deprovisionDashboards(
if err != nil {
return err
}
if err := m.dashboardModule.DeleteUnsafe(ctx, orgID, dashID); err != nil {
if err := m.dashboardModule.DeleteUnsafeV2(ctx, orgID, dashID); err != nil {
return err
}
}