openvk/Web
Ilia Breitburg 5ae8b62cd1
fix(api): implement pending uploads cleanup and enhanced error response (#1384)
## Summary
- Implements automatic cleanup mechanism for pending photo uploads older
than 24 hours
- Enhances error response to include actionable information about
pending uploads
- Adds CLI command for manual cleanup with dry-run support

## Changes Made
- **CLI/CleanupPendingUploadsCommand.php**: New command to auto-delete
stale `.oct` files
- **Web/Presenters/VKAPIPresenter.php**: Enhanced error response with
pending upload details
- **openvkctl**: Added cleanup command to CLI bootstrap
- **CLI/README.md**: Documentation with usage examples and cron setup

## Problem Solved
When users encounter "There are 3 pending already" error, they now
receive:
1. **Structured JSON response** with upload details (ID, filename, size,
age, timestamp)
2. **Automatic cleanup** removes uploads older than 24 hours
3. **Manual cleanup** available via CLI command with configurable age
threshold

## Usage
```bash
# Auto-cleanup (daily cron recommended)
php openvkctl cleanup-pending-uploads

# Custom age threshold
php openvkctl cleanup-pending-uploads --max-age=1

# Preview what would be deleted
php openvkctl cleanup-pending-uploads --dry-run
```

Fixes #1275
2025-07-15 23:19:30 +03:00
..
Events feat: add linting of code (#1220) 2025-01-31 18:20:13 +03:00
Models fix(API): users bdate field, can edit/delete comments (#1359) 2025-06-29 17:12:55 +03:00
Presenters fix(api): implement pending uploads cleanup and enhanced error response (#1384) 2025-07-15 23:19:30 +03:00
static fix(API): users bdate field, can edit/delete comments (#1359) 2025-06-29 17:12:55 +03:00
Themes feat(core): add phpstan for static analysis (#1223) 2025-03-09 16:03:33 +03:00
Util feat(rate_limits) (#1353) 2025-06-29 17:11:33 +03:00
di.yml feat(fave) (#1240) 2025-03-09 16:42:19 +03:00
routes.yml fix(API): users bdate field, can edit/delete comments (#1359) 2025-06-29 17:12:55 +03:00