From 52cdff8f6f2ff812b055a7b34a016fb1aa014550 Mon Sep 17 00:00:00 2001 From: joseph le Date: Thu, 7 Dec 2023 09:29:07 +0700 Subject: [PATCH] create payment table, update controller --- app/Events/CustomerGitAction.php | 36 ++++++++++++++++++++++ app/Listeners/PullUpdateRepository.php | 26 ++++++++++++++++ app/Providers/EventServiceProvider.php | 3 ++ routes/api.php | 42 +++++++++----------------- routes/web.php | 1 + 5 files changed, 80 insertions(+), 28 deletions(-) create mode 100644 app/Events/CustomerGitAction.php create mode 100644 app/Listeners/PullUpdateRepository.php diff --git a/app/Events/CustomerGitAction.php b/app/Events/CustomerGitAction.php new file mode 100644 index 0000000..fe581e2 --- /dev/null +++ b/app/Events/CustomerGitAction.php @@ -0,0 +1,36 @@ + + */ + public function broadcastOn(): array + { + return [ + new PrivateChannel('channel-name'), + ]; + } +} diff --git a/app/Listeners/PullUpdateRepository.php b/app/Listeners/PullUpdateRepository.php new file mode 100644 index 0000000..ffabe0b --- /dev/null +++ b/app/Listeners/PullUpdateRepository.php @@ -0,0 +1,26 @@ + [ SendEmailVerificationNotification::class, ], + 'App\Events\CustomerGitAction' => [ + 'App\Listeners\PullUpdateRepository', + ], ]; /** diff --git a/routes/api.php b/routes/api.php index b2a6305..e03bb5c 100644 --- a/routes/api.php +++ b/routes/api.php @@ -2,6 +2,9 @@ use App\Http\Controllers\PayPalController; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Pipeline; +use Symfony\Component\Process\Process; +use Symfony\Component\Process\Exception\ProcessFailedException; use Illuminate\Support\Facades\Route; use Srmklive\PayPal\Services\PayPal as PayPalClient; @@ -16,33 +19,16 @@ use Srmklive\PayPal\Services\PayPal as PayPalClient; | */ -Route::middleware('auth:sanctum')->get('/user', function (Request $request) { - return $request->user(); + Route::post('/git-hook', function(){ + $result = Process::fromShellCommandline('cd .. && dir'); + + try { + $result->mustRun(); + + $output = $result->getOutput(); + return ""; + } catch (ProcessFailedException $exception) { + return response()->json(['status' => 'Failed to execute Git pull command'], 500); + } }); -Route::post('create-payment', [PayPalController::class, 'index'])->name('payment.create'); -Route::get('invoices', function () { - $provider = new PayPalClient; - $provider->setApiCredentials(config('paypal')); - $provider->getAccessToken(); - - $data = json_decode('{ - "name": "Video Streaming Service", - "description": "Video streaming service", - "type": "SERVICE", - "category": "SOFTWARE", - "image_url": "https://example.com/streaming.jpg", - "home_url": "https://example.com/home" - }', true); - - $product = $provider->setRequestHeader('PayPal-Request-Id', 'create-product-' . time())->createProduct($data); - - $inv = $provider->showOrderDetails('0KX38537YL610435R'); - // $invoice_no = $provider->generateInvoiceNumber(); - - dd( - $inv - ); -})->name('payment.invoices'); - -Route::get('/paypal/payment', [PayPalController::class, 'payment'])->name('paypal.payment'); \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 2611dd4..f1e9782 100644 --- a/routes/web.php +++ b/routes/web.php @@ -29,6 +29,7 @@ Route::middleware('auth')->group(function () { Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy'); Route::group(['prefix' => 'paypal'], function () { Route::get('/', [PayPalController::class, 'index'])->name('paypal'); + Route::get('/payment', [PayPalController::class, 'payment'])->name('paypal.payment'); Route::get('/payment/success', [PayPalController::class, 'paymentSuccess'])->name('paypal.payment.success'); Route::get('/payment/cancel', [PayPalController::class, 'paymentCancel'])->name('paypal.payment/cancel'); });