🚀 新規事業

soft-delete-purge

最終更新 2026年05月09日 / 40_新規事業/SCALE_Build/カタログ/機能集/soft-delete-purge.md

論理削除 + 期限切れ自動パージ

用途

削除を deleted_at で論理化 → 30日後に物理削除。誤削除復活可能 + ストレージ節約。

特徴

  • deleted_at で論理削除
  • 30日経過後 自動 purge
  • 復元コマンド
  • CSV 出力時除外

コード(コピペ用)

// 論理削除
function softDelete(item) { item.deleted_at = Date.now(); }
function restore(item) { delete item.deleted_at; }

// 期限切れパージ(30日)
const PURGE_DAYS = 30;
function purgeExpiredTrash(collection) {
  const cutoff = Date.now() - PURGE_DAYS * 86400 * 1000;
  const items = PD(collection, []);
  const kept = items.filter(it => !it.deleted_at || it.deleted_at > cutoff);
  if (kept.length !== items.length) setPD(collection, kept);
}

// アクティブ取得
function getActive(collection) {
  return PD(collection, []).filter(x => !x.deleted_at);
}

使い方

対象プロジェクトに該当ファイルをコピーして、props を流し込むだけ。

注意事項

  • 依存パッケージを忘れず追加