<?php

use App\Http\Controllers\CronExecutionController;
use App\Http\Controllers\PublicPromptLandingPageController;
use Illuminate\Support\Facades\Route;

Route::get('p/{domain}/{purpose}/{landing_page}', [PublicPromptLandingPageController::class, 'show'])
    ->whereNumber('landing_page')
    ->name('public-prompt-landing-pages.show');

Route::post('p/{domain}/{purpose}/{landing_page}/leads', [PublicPromptLandingPageController::class, 'storeLead'])
    ->whereNumber('landing_page')
    ->middleware('throttle:public-leads')
    ->name('public-prompt-landing-pages.leads.store');

Route::post('p/{domain}/{purpose}/{landing_page}/downloads', [PublicPromptLandingPageController::class, 'storeDownloadClick'])
    ->whereNumber('landing_page')
    ->middleware('throttle:public-prompt-downloads')
    ->name('public-prompt-landing-pages.downloads.store');

Route::post('p/{domain}/{purpose}/{landing_page}/clickouts', [PublicPromptLandingPageController::class, 'storeClickout'])
    ->whereNumber('landing_page')
    ->middleware('throttle:public-catalog-clickouts')
    ->name('public-catalog-landing-pages.clickouts.store');

Route::match(['get', 'post'], 'cron/run', CronExecutionController::class)
    ->name('api.cron.run');
