From fbe25517e2e411b3136c0aad5b7be5acd403fe97 Mon Sep 17 00:00:00 2001 From: jayvirsinh_gohil Date: Fri, 3 Dec 2021 16:24:43 +0530 Subject: [PATCH 01/18] add cronjob.org support --- .env.example | 2 ++ .../V1/Webhook/CronJobOrgController.php | 23 +++++++++++++++++ app/Http/Kernel.php | 1 + app/Http/Middleware/CronJobOrgMiddleware.php | 25 +++++++++++++++++++ config/services.php | 3 +++ routes/api.php | 3 +++ 6 files changed, 57 insertions(+) create mode 100644 app/Http/Controllers/V1/Webhook/CronJobOrgController.php create mode 100644 app/Http/Middleware/CronJobOrgMiddleware.php diff --git a/.env.example b/.env.example index 8e98cb86..c8d4e223 100644 --- a/.env.example +++ b/.env.example @@ -36,3 +36,5 @@ SANCTUM_STATEFUL_DOMAINS=crater.test SESSION_DOMAIN=crater.test TRUSTED_PROXIES="*" + +CRON_JOB_AUTH_TOKEN="" diff --git a/app/Http/Controllers/V1/Webhook/CronJobOrgController.php b/app/Http/Controllers/V1/Webhook/CronJobOrgController.php new file mode 100644 index 00000000..dcc922ae --- /dev/null +++ b/app/Http/Controllers/V1/Webhook/CronJobOrgController.php @@ -0,0 +1,23 @@ +json(['success' => true]); + } +} diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 36f04843..af98bef2 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -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-org' => \Crater\Http\Middleware\CronJobOrgMiddleware::class, ]; /** diff --git a/app/Http/Middleware/CronJobOrgMiddleware.php b/app/Http/Middleware/CronJobOrgMiddleware.php new file mode 100644 index 00000000..74250c82 --- /dev/null +++ b/app/Http/Middleware/CronJobOrgMiddleware.php @@ -0,0 +1,25 @@ +header('Authorization-token')) { + return $next($request); + } + + return response()->json(['unauthorized'], 401); + } +} diff --git a/config/services.php b/config/services.php index d9b0607f..e14d6063 100644 --- a/config/services.php +++ b/config/services.php @@ -62,4 +62,7 @@ return [ 'redirect' => env('GITHUB_REDIRECT_URL'), ], + 'cron_job_org' => [ + 'auth_token' => env('CRON_JOB_AUTH_TOKEN', 0) + ], ]; diff --git a/routes/api.php b/routes/api.php index 6e62f1c2..5b75c8eb 100644 --- a/routes/api.php +++ b/routes/api.php @@ -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\CronJobOrgController; use Illuminate\Support\Facades\Route; /* @@ -437,3 +438,5 @@ Route::prefix('/v1')->group(function () { Route::apiResource('/users', UsersController::class); }); }); + +Route::get('/cron', CronJobOrgController::class)->middleware('cron-job-org'); From 72398f0ac9ba32e4e24c0027d34cbd18809e8b48 Mon Sep 17 00:00:00 2001 From: jayvirsinh_gohil Date: Sat, 4 Dec 2021 15:42:45 +0530 Subject: [PATCH 02/18] rename cron job issue --- .../{CronJobOrgController.php => CronJobController.php} | 2 +- app/Http/Kernel.php | 2 +- .../{CronJobOrgMiddleware.php => CronJobMiddleware.php} | 4 ++-- config/services.php | 2 +- routes/api.php | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) rename app/Http/Controllers/V1/Webhook/{CronJobOrgController.php => CronJobController.php} (91%) rename app/Http/Middleware/{CronJobOrgMiddleware.php => CronJobMiddleware.php} (71%) diff --git a/app/Http/Controllers/V1/Webhook/CronJobOrgController.php b/app/Http/Controllers/V1/Webhook/CronJobController.php similarity index 91% rename from app/Http/Controllers/V1/Webhook/CronJobOrgController.php rename to app/Http/Controllers/V1/Webhook/CronJobController.php index dcc922ae..7acd8e68 100644 --- a/app/Http/Controllers/V1/Webhook/CronJobOrgController.php +++ b/app/Http/Controllers/V1/Webhook/CronJobController.php @@ -6,7 +6,7 @@ use Crater\Http\Controllers\Controller; use Illuminate\Http\Request; use Illuminate\Support\Facades\Artisan; -class CronJobOrgController extends Controller +class CronJobController extends Controller { /** * Handle the incoming request. diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index af98bef2..def40b1f 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -69,7 +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-org' => \Crater\Http\Middleware\CronJobOrgMiddleware::class, + 'cron-job' => \Crater\Http\Middleware\CronJobMiddleware::class, ]; /** diff --git a/app/Http/Middleware/CronJobOrgMiddleware.php b/app/Http/Middleware/CronJobMiddleware.php similarity index 71% rename from app/Http/Middleware/CronJobOrgMiddleware.php rename to app/Http/Middleware/CronJobMiddleware.php index 74250c82..379b3ab7 100644 --- a/app/Http/Middleware/CronJobOrgMiddleware.php +++ b/app/Http/Middleware/CronJobMiddleware.php @@ -5,7 +5,7 @@ namespace Crater\Http\Middleware; use Closure; use Illuminate\Http\Request; -class CronJobOrgMiddleware +class CronJobMiddleware { /** * Handle an incoming request. @@ -16,7 +16,7 @@ class CronJobOrgMiddleware */ public function handle(Request $request, Closure $next) { - if ($request->header('Authorization-token')) { + if ($request->header('x-authorization-token') && $request->header('x-authorization-token') == config('services.cron_job.auth_token')) { return $next($request); } diff --git a/config/services.php b/config/services.php index e14d6063..c9254a8b 100644 --- a/config/services.php +++ b/config/services.php @@ -62,7 +62,7 @@ return [ 'redirect' => env('GITHUB_REDIRECT_URL'), ], - 'cron_job_org' => [ + 'cron_job' => [ 'auth_token' => env('CRON_JOB_AUTH_TOKEN', 0) ], ]; diff --git a/routes/api.php b/routes/api.php index 5b75c8eb..bd69ad47 100644 --- a/routes/api.php +++ b/routes/api.php @@ -80,7 +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\CronJobOrgController; +use Crater\Http\Controllers\V1\Webhook\CronJobController; use Illuminate\Support\Facades\Route; /* @@ -439,4 +439,4 @@ Route::prefix('/v1')->group(function () { }); }); -Route::get('/cron', CronJobOrgController::class)->middleware('cron-job-org'); +Route::get('/cron', CronJobController::class)->middleware('cron-job'); From b24350aba667beb91df63210bd4f76a6ea9ce010 Mon Sep 17 00:00:00 2001 From: harshjagad20 Date: Mon, 13 Dec 2021 10:40:28 +0530 Subject: [PATCH 03/18] fix payment update issue --- app/Models/Payment.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Models/Payment.php b/app/Models/Payment.php index c4929462..d88030d9 100644 --- a/app/Models/Payment.php +++ b/app/Models/Payment.php @@ -183,7 +183,7 @@ class Payment extends Model implements HasMedia public function updatePayment($request) { - $data = $request->all(); + $data = $request->getPaymentPayload(); if ($request->invoice_id && (! $this->invoice_id || $this->invoice_id !== $request->invoice_id)) { $invoice = Invoice::find($request->invoice_id); From 6ce74bd59f8412b1c3fa176e6c3e2ba8d403c574 Mon Sep 17 00:00:00 2001 From: harshjagad20 Date: Mon, 13 Dec 2021 11:34:47 +0530 Subject: [PATCH 04/18] added migration to calculate base amount for payments table --- ...alculate_base_amount_of_payments_table.php | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 database/migrations/2021_12_13_055813_calculate_base_amount_of_payments_table.php diff --git a/database/migrations/2021_12_13_055813_calculate_base_amount_of_payments_table.php b/database/migrations/2021_12_13_055813_calculate_base_amount_of_payments_table.php new file mode 100644 index 00000000..24cb8da8 --- /dev/null +++ b/database/migrations/2021_12_13_055813_calculate_base_amount_of_payments_table.php @@ -0,0 +1,34 @@ +base_amount = $payment->exchange_rate * $payment->amount; + $payment->save(); + } + } + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} From 99b1cc80c6713d4c62c8bd6a6698bbeae9c50c5f Mon Sep 17 00:00:00 2001 From: payalDholakiya Date: Mon, 13 Dec 2021 14:27:44 +0530 Subject: [PATCH 05/18] date formatting issue fix --- resources/scripts/views/expenses/Index.vue | 4 ++++ resources/scripts/views/payments/Index.vue | 10 +++++----- resources/scripts/views/payments/View.vue | 6 +++--- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/resources/scripts/views/expenses/Index.vue b/resources/scripts/views/expenses/Index.vue index 5d487bd0..add4257d 100644 --- a/resources/scripts/views/expenses/Index.vue +++ b/resources/scripts/views/expenses/Index.vue @@ -185,6 +185,10 @@ /> + + + +