mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-27 11:41:09 -04:00
Merge branch 'cron-job-org' into 'master'
add cronjob.org support See merge request mohit.panjvani/crater-web!1316
This commit is contained in:
@ -36,3 +36,5 @@ SANCTUM_STATEFUL_DOMAINS=crater.test
|
||||
SESSION_DOMAIN=crater.test
|
||||
|
||||
TRUSTED_PROXIES="*"
|
||||
|
||||
CRON_JOB_AUTH_TOKEN=""
|
||||
|
||||
23
app/Http/Controllers/V1/Webhook/CronJobController.php
Normal file
23
app/Http/Controllers/V1/Webhook/CronJobController.php
Normal file
@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Http\Controllers\V1\Webhook;
|
||||
|
||||
use Crater\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Artisan;
|
||||
|
||||
class CronJobController extends Controller
|
||||
{
|
||||
/**
|
||||
* Handle the incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function __invoke(Request $request)
|
||||
{
|
||||
Artisan::call('schedule:run');
|
||||
|
||||
return response()->json(['success' => true]);
|
||||
}
|
||||
}
|
||||
@ -69,6 +69,7 @@ class Kernel extends HttpKernel
|
||||
'redirect-if-unauthenticated' => \Crater\Http\Middleware\RedirectIfUnauthorized::class,
|
||||
'customer-guest' => \Crater\Http\Middleware\CustomerGuest::class,
|
||||
'company' => \Crater\Http\Middleware\CompanyMiddleware::class,
|
||||
'cron-job' => \Crater\Http\Middleware\CronJobMiddleware::class,
|
||||
];
|
||||
|
||||
/**
|
||||
|
||||
25
app/Http/Middleware/CronJobMiddleware.php
Normal file
25
app/Http/Middleware/CronJobMiddleware.php
Normal file
@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class CronJobMiddleware
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle(Request $request, Closure $next)
|
||||
{
|
||||
if ($request->header('x-authorization-token') && $request->header('x-authorization-token') == config('services.cron_job.auth_token')) {
|
||||
return $next($request);
|
||||
}
|
||||
|
||||
return response()->json(['unauthorized'], 401);
|
||||
}
|
||||
}
|
||||
@ -62,4 +62,7 @@ return [
|
||||
'redirect' => env('GITHUB_REDIRECT_URL'),
|
||||
],
|
||||
|
||||
'cron_job' => [
|
||||
'auth_token' => env('CRON_JOB_AUTH_TOKEN', 0)
|
||||
],
|
||||
];
|
||||
|
||||
@ -80,6 +80,7 @@ use Crater\Http\Controllers\V1\Installation\FinishController;
|
||||
use Crater\Http\Controllers\V1\Installation\LoginController;
|
||||
use Crater\Http\Controllers\V1\Installation\OnboardingWizardController;
|
||||
use Crater\Http\Controllers\V1\Installation\RequirementsController;
|
||||
use Crater\Http\Controllers\V1\Webhook\CronJobController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
/*
|
||||
@ -437,3 +438,5 @@ Route::prefix('/v1')->group(function () {
|
||||
Route::apiResource('/users', UsersController::class);
|
||||
});
|
||||
});
|
||||
|
||||
Route::get('/cron', CronJobController::class)->middleware('cron-job');
|
||||
|
||||
Reference in New Issue
Block a user