File: D:/HostingSpaces/SBogers10/shop.komma.nl/app/Shipments/ShipmentApiRoutes.php
<?php declare(strict_types = 1);
namespace App\Shipments;
use Illuminate\Support\Facades\Route;
class ShipmentApiRoutes
{
public static function kms()
{
//Shipment webhook url. The url which a shipment provider can use to update a shipment status.
Route::post('shipments/statusupdate/{shipment?}', [ShipmentController::class, 'processShipmentProviderResponse'])->name('shipment.statusupdate');
Route::get('shipments/statusupdate/{shipment?}', [ShipmentController::class, 'processShipmentProviderResponse'])->name('shipment.statusupdate');
//Unauthenticated routes
Route::group(['middleware' => 'auth:sanctum'], function() {
Route::model('shipment', Shipment::class); //Explicit route model binding
Route::patch('shipments/remove_ordered_products_from_shipment', [ShipmentApiController::class, 'removeOrderedProductsFromShipment'])->name('api.shipments.ordered_products.remove');
Route::patch('shipments/add_ordered_products_from_shipment', [ShipmentApiController::class, 'addOrderedProductsFromShipment'])->name('api.shipments.ordered_products.add');
Route::patch('shipments/clear_ordered_products_from_shipment', [ShipmentApiController::class, 'clearOrderedProductsFromShipment'])->name('api.shipments.ordered_products.clear');
Route::patch('shipments/notifyCarrier', [ShipmentController::class, 'notifyCarrier']);
Route::get('shipments/label/{shipment}', [ShipmentController::class, 'downloadLabel'])->name('api.shipments.label.download');
Route::post('shipments/cancel', [ShipmentController::class, 'cancelShipments'])->name('api.shipments.cancel');
Route::resource('shipments', ShipmentApiController::class, ['as' => 'api.shipments']);
});
}
}