Дмитрий
|
7408bc4232
|
feat(projects): hard delete with deals-guard, replace archive
- ProjectService: add delete() with DB-level deals check (bypasses SoftDeletes
scope via DB::table), captures supplier pivot IDs before cascade, dispatches
DeleteSupplierProjectJob; add bulkDelete() private method; replace archive
match arm with delete; remove archive() method
- ProjectController: destroy() calls delete() not archive(); update docblocks
- BulkProjectActionRequest: replace 'archive' with 'delete' in Rule::in for action
- Tests: ProjectDeleteTest (2 new TDD tests), ProjectsActionsTest updated
(destroy → hard delete, 409-already-archived → 422-has-deals, bulk archive → bulk delete)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-21 08:08:33 +03:00 |
|