storing analytics data
This commit is contained in:
@@ -2,6 +2,25 @@
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
// ── Per-artwork signal tracking (public) ────────────────────────────────────
|
||||
// GET /api/art/{id}/similar → up to 12 similar artworks (Meilisearch)
|
||||
// POST /api/art/{id}/view → record a view (session-deduped, 5 per 10 min)
|
||||
// POST /api/art/{id}/download → record a download, returns file URL (10/min)
|
||||
Route::middleware(['web', 'throttle:60,1'])
|
||||
->get('art/{id}/similar', \App\Http\Controllers\Api\SimilarArtworksController::class)
|
||||
->whereNumber('id')
|
||||
->name('api.art.similar');
|
||||
|
||||
Route::middleware(['web', 'throttle:5,10'])
|
||||
->post('art/{id}/view', \App\Http\Controllers\Api\ArtworkViewController::class)
|
||||
->whereNumber('id')
|
||||
->name('api.art.view');
|
||||
|
||||
Route::middleware(['web', 'throttle:10,1'])
|
||||
->post('art/{id}/download', \App\Http\Controllers\Api\ArtworkDownloadController::class)
|
||||
->whereNumber('id')
|
||||
->name('api.art.download');
|
||||
|
||||
/**
|
||||
* API v1 routes for Artworks module
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user