Skip to content

feat: deleting stardance projects#500

Open
0xDracula wants to merge 5 commits into
hackclub:mainfrom
0xDracula:feat/deleting-projects
Open

feat: deleting stardance projects#500
0xDracula wants to merge 5 commits into
hackclub:mainfrom
0xDracula:feat/deleting-projects

Conversation

@0xDracula

@0xDracula 0xDracula commented Jun 10, 2026

Copy link
Copy Markdown
Member

my plan:

this PR adds support for deleting projects through soft-deletion. currently, soft_delete! exists but it's partially implemented, and devlogs need to be marked as deleted!

  • soft_delete! (soft deleting devlogs)
  • editing restore! to also restore devlogs
  • UI

@0xDracula

Copy link
Copy Markdown
Member Author

these queries were used for testing soft_delete!

for project & devlogs deletion:

p = Project.unscoped.find(PROJECT_ID); puts "Project: #{p.title} (Deleted At: #{p.deleted_at})"; devlog_posts = Post.unscoped.where(project_id: PROJECT_ID, postable_type: 'Post::Devlog'); puts "Total Devlog Posts: #{devlog_posts.count}"; devlog_ids = devlog_posts.pluck(:postable_id); deleted_devlogs = Post::Devlog.unscoped.where(id: devlog_ids).where.not(deleted_at: nil); puts "Soft-Deleted Devlogs: #{deleted_devlogs.count}"

for reposts deletion:

p = Project.find(PROJECT_ID); p.soft_delete!; repost_count = Post::Repost.unscoped.where(original_post_id: p.posts.pluck(:id)).where.not(deleted_at: nil).count; puts "Project Deleted. Hidden Reposts: #{repost_count}"

@0xDracula

Copy link
Copy Markdown
Member Author

the old way was using

app/models/concerns/soft_deletable.rb

which only marks the project as deleted ignoring the devlogs & reposts

the new way marks project, devlogs & reposts as deleted

@0xDracula 0xDracula marked this pull request as ready for review June 10, 2026 18:48
@0xDracula 0xDracula changed the title wip: working on deleting projects feat: deleting stardance projects Jun 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant