Save workspace changes
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
# On This Day
|
||||
|
||||
## Route
|
||||
|
||||
- URL: `GET /discover/on-this-day`
|
||||
- Controller: `App\Http\Controllers\Web\DiscoverController::onThisDay()`
|
||||
|
||||
## What the page reads
|
||||
|
||||
This page is a direct MySQL query over `artworks`.
|
||||
It does not use Meilisearch.
|
||||
|
||||
## Query logic
|
||||
|
||||
The controller selects artworks that are:
|
||||
|
||||
- public
|
||||
- published
|
||||
- approved
|
||||
- published on the same month/day as today
|
||||
- from a previous year only
|
||||
|
||||
It then sorts them by `published_at DESC` and paginates 24 per page.
|
||||
|
||||
Equivalent logic:
|
||||
|
||||
```text
|
||||
MONTH(published_at) = today.month
|
||||
AND DAY(published_at) = today.day
|
||||
AND YEAR(published_at) < today.year
|
||||
```
|
||||
|
||||
## Data sources
|
||||
|
||||
- primary source: `artworks`
|
||||
- supporting eager loads: `user`, `user.profile`, `categories`
|
||||
|
||||
## Cache behavior
|
||||
|
||||
- no explicit controller cache
|
||||
|
||||
## Background jobs and schedules
|
||||
|
||||
No dedicated cron drives this page.
|
||||
|
||||
It only depends on correct `published_at` values and the usual public/published scopes.
|
||||
|
||||
## Notes
|
||||
|
||||
- This is a calendar-history page, not a popularity or momentum page.
|
||||
- The current implementation simply orders by newest qualifying `published_at`, not by views, downloads, or favourites.
|
||||
- There are also legacy `TodayInHistoryController` variants elsewhere in the codebase, but `/discover/on-this-day` currently uses `DiscoverController::onThisDay()`.
|
||||
Reference in New Issue
Block a user