From 41ed7c1ed9c71f9477e80600d29104f844dd6c2d Mon Sep 17 00:00:00 2001 From: daengdeni Date: Mon, 26 May 2025 13:47:52 +0700 Subject: [PATCH] refactor(jobs): improve flexibility in periods parameter handling - Mengubah tipe properti `periods` dari `protected $periods` menjadi `protected array $periods` untuk memastikan konsistensi tipe data. - Memodifikasi konstruktor pada beberapa job class (`ProcessFtTxnTypeConditionJob`, `ProcessStmtNarrFormatDataJob`, `ProcessStmtNarrParamDataJob`, dan `ProcessTransactionDataJob`) agar mendukung parameter `periods` dalam bentuk array atau string. - Menambahkan validasi dalam konstruktor untuk mengonversi string `periods` menjadi array jika diperlukan, memastikan fleksibilitas dan kompatibilitas yang lebih baik saat inisialisasi object. - Refaktor ini meningkatkan kejelasan dalam codebase dan mengurangi potensi error akibat perbedaan format input. --- app/Jobs/ProcessFtTxnTypeConditionJob.php | 8 ++++---- app/Jobs/ProcessStmtNarrFormatDataJob.php | 7 ++++--- app/Jobs/ProcessStmtNarrParamDataJob.php | 7 ++++--- app/Jobs/ProcessTransactionDataJob.php | 7 ++++--- 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/app/Jobs/ProcessFtTxnTypeConditionJob.php b/app/Jobs/ProcessFtTxnTypeConditionJob.php index 95faf49..ceefbcb 100644 --- a/app/Jobs/ProcessFtTxnTypeConditionJob.php +++ b/app/Jobs/ProcessFtTxnTypeConditionJob.php @@ -16,18 +16,18 @@ class ProcessFtTxnTypeConditionJob implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; - protected $periods; protected $filename; + protected array $periods; /** * Create a new job instance. */ - public function __construct(array $periods = [], string $filename = "ST.FT.TXN.TYPE.CONDITION.csv") + public function __construct(array|string $periods = []) { - $this->periods = $periods; - $this->filename = $filename; + $this->periods = is_string($periods) ? [$periods] : $periods; } + /** * Execute the job. */ diff --git a/app/Jobs/ProcessStmtNarrFormatDataJob.php b/app/Jobs/ProcessStmtNarrFormatDataJob.php index ab7854f..7aae0f6 100644 --- a/app/Jobs/ProcessStmtNarrFormatDataJob.php +++ b/app/Jobs/ProcessStmtNarrFormatDataJob.php @@ -16,16 +16,17 @@ class ProcessStmtNarrFormatDataJob implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; - protected $periods; + protected array $periods; /** * Create a new job instance. */ - public function __construct(array $periods = []) + public function __construct(array|string $periods = []) { - $this->periods = $periods; + $this->periods = is_string($periods) ? [$periods] : $periods; } + /** * Execute the job. */ diff --git a/app/Jobs/ProcessStmtNarrParamDataJob.php b/app/Jobs/ProcessStmtNarrParamDataJob.php index 8b5e58b..7b18db9 100644 --- a/app/Jobs/ProcessStmtNarrParamDataJob.php +++ b/app/Jobs/ProcessStmtNarrParamDataJob.php @@ -16,16 +16,17 @@ { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; - protected $periods; + protected array $periods; /** * Create a new job instance. */ - public function __construct(array $periods = []) + public function __construct(array|string $periods = []) { - $this->periods = $periods; + $this->periods = is_string($periods) ? [$periods] : $periods; } + /** * Execute the job. */ diff --git a/app/Jobs/ProcessTransactionDataJob.php b/app/Jobs/ProcessTransactionDataJob.php index e8b4ba9..0064b53 100644 --- a/app/Jobs/ProcessTransactionDataJob.php +++ b/app/Jobs/ProcessTransactionDataJob.php @@ -16,16 +16,17 @@ class ProcessTransactionDataJob implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; - protected $periods; + protected array $periods; /** * Create a new job instance. */ - public function __construct(array $periods = []) + public function __construct(array|string $periods = []) { - $this->periods = $periods; + $this->periods = is_string($periods) ? [$periods] : $periods; } + /** * Execute the job. */