Skip to content

Use model events to handle different modes of user deletion #819

@alexweissman

Description

@alexweissman

Discussed in #785. Basically we should stop overriding User::delete, and instead factor out this code and its decision points into model events and controller methods.

The way I see it, we might have three modes of deletion:

  • Soft delete (deleted_at timestamp)
  • Medium delete (deleted_at timestamp and clear out most user details)
  • Hard delete (delete record and delete/null out any orphaned related entities)

It's possible that if we make all related entities have nullable FKs, then medium-delete and hard-delete can be essentially the same thing.

This also brings up the question of what to do when a new user wants to use the username/email of an account that was deleted previously.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Not Started

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions