<?php

use App\Http\Controllers\GoogleAdsController;
use App\Http\Controllers\GoogleChatController;
use Illuminate\Support\Facades\Route;

Route::middleware(['auth', 'verified'])->group(function () {
    // assets.preview is deliberately not redefined here. It is already declared
    // in web.php against the same controller and the same middleware, and this
    // file is required at the end of web.php, so the duplicate silently won and
    // the route a reader finds first was not the one being served.
    Route::get('googlechat', [GoogleChatController::class, 'show'])->name('googlechat.show');
    Route::get('googlechat/new', [GoogleChatController::class, 'create'])->name('googlechat.new');
    Route::post('googlechat/send', [GoogleChatController::class, 'send'])->name('googlechat.send');
    Route::post('googlechat/upload-image', [GoogleChatController::class, 'uploadImage'])->name('googlechat.upload-image');

    Route::get('google-ads/setup', [GoogleAdsController::class, 'setup'])->name('google-ads.setup');
    Route::get('google-ads/oauth/authorize', [GoogleAdsController::class, 'authorize'])->name('google-ads.oauth.authorize');
    Route::get('google-ads/oauth/callback', [GoogleAdsController::class, 'callback'])->name('google-ads.oauth.callback');
    Route::put('google-ads/setup', [GoogleAdsController::class, 'saveSetup'])->name('google-ads.setup.save');
    Route::post('google-ads/setup/child-accounts', [GoogleAdsController::class, 'fetchChildAccounts'])->name('google-ads.setup.child-accounts');
    Route::get('google-ads/campaigns', [GoogleAdsController::class, 'campaigns'])->name('google-ads.campaigns');
    Route::post('google-ads/campaigns', [GoogleAdsController::class, 'storeCampaign'])->name('google-ads.campaigns.store');
    Route::put('google-ads/campaigns/{campaign}', [GoogleAdsController::class, 'updateCampaign'])->name('google-ads.campaigns.update');
    Route::delete('google-ads/campaigns/{campaign}', [GoogleAdsController::class, 'destroyCampaign'])->name('google-ads.campaigns.destroy');
    Route::get('google-ads/create', [GoogleAdsController::class, 'create'])->name('google-ads.create');
    Route::post('google-ads', [GoogleAdsController::class, 'store'])->name('google-ads.store');
});
