abpframework / abpframework/abp

Design a system to allow to work with the soft-deleted entities

Open
#4,081 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

abp-framework discussion feature priority:normal
Dominant language
C#
Stars
14.4k
Forks
3.7k
Avg merge
15h 32m
Merged PRs (30d)
106

Description

My thoughts:

  • Create an AspNet Core middleware that disables soft-delete if requested by the client via a cookie or http header. So, we can create a global or page based switch to the UI that sets the cookie/header.
  • We should relate this to a permission, surely.

This is very easy way to make the UI working with soft delete entities. But the remaining system should suppose use cases, like undelete an entity. For example;

  • Always make the related DTO implementing the ISoftDelete (or inherit from FullAuditedEntityDto or something like that) for the soft-delete entities, so the UI can know if the entity is in the deleted state.
  • Add an "undelete" action on the data table for deleted entities.

Actually, anyone can implement it like that for their applications. But we can add this included in the framework level and also implement this for the pre-built modules.

Any other suggestion would be appreciated.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the framework's existing soft-delete handling, permissions, DTO conventions, and pre-built modules. The issue does not name files or tests; work is complete only after the framework-level scope and design for viewing, identifying, and undeleting soft-deleted entities are agreed.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
authorization, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.