<?php

use Intuit\Controllers\Webhook;

use App\Http\Controllers\{AccountingController,
	AdminController,
	CheckoutController,
	ProductController,
	ResellerServicesController};

/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/

// Wholesaler API calls
Route::group(['middleware'=>['auth:api','role:wholesaler']], function() {
	Route::get('a/supplier_products',[ProductController::class,'api_supplier_products']);
});

// Reseller API calls
Route::group(['middleware'=>['auth:api','role:reseller']], function() {
	Route::get('/r/services/{o}',[ResellerServicesController::class,'services'])
		->where('o','[0-9]+');
	Route::post('r/invoices/{o}',[AdminController::class,'pay_invoices'])
		->where('o','[0-9]+')
		->middleware(['theme:adminlte-be','role:wholesaler']);
});

Route::group(['middleware'=>'auth:api'], function() {
	Route::post('/u/checkout/fee/{o}',[CheckoutController::class,'fee'])
		->where('o','[0-9]+');

	Route::any('/intuit/accounting/list',[AccountingController::class,'list']);
});

Route::any('/intuit/webhook',[Webhook::class,'webhook']);