feat(webstatement): tambahkan fitur unlock PDF file dan jadwal otomatisasi harian
- Menambahkan command baru `webstatement:unlock-pdf` untuk membuka file PDF yang dilindungi password: - Dapat menerima parameter `directory` untuk menetapkan direktori file sumber. - Opsi `--password` untuk menentukan password yang digunakan dalam proses unlock, dengan default `123456`. - Menampilkan log proses unlock PDF dengan pesan sukses atau error. - Membuat job baru `UnlockPdfJob` untuk menangani proses unlock PDF secara asinkron: - Memindai direktori utama berdasarkan struktur folder (tahun dan ID). - Membuka proteksi file PDF dengan menggunakan library `qpdf`. - Menghasilkan file PDF yang telah didekripsi di direktori yang sama dengan nama file ekstensi `.dec.pdf`. - Melakukan logging untuk setiap file yang berhasil diproses atau ketika terjadi error. - Menghindari duplikasi dengan memeriksa keberadaan file decrypted sebelumnya. - Memperbarui `WebstatementServiceProvider`: - Mendaftarkan command `UnlockPdf` untuk digunakan dalam aplikasi. - Menambah jadwal otomatisasi harian pada pukul 09:30 untuk menjalankan command `webstatement:unlock-pdf`. - Logging hasil proses executables ke file `logs/unlock-pdf.log`. Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
This commit is contained in:
@@ -13,6 +13,7 @@ use Modules\Webstatement\Console\ProcessDailyMigration;
|
||||
use Modules\Webstatement\Console\GenerateBiayakartuCommand;
|
||||
use Modules\Webstatement\Jobs\UpdateAtmCardBranchCurrencyJob;
|
||||
use Modules\Webstatement\Console\GenerateBiayaKartuCsvCommand;
|
||||
use Modules\Webstatement\Console\UnlockPdf;
|
||||
|
||||
class WebstatementServiceProvider extends ServiceProvider
|
||||
{
|
||||
@@ -60,7 +61,8 @@ class WebstatementServiceProvider extends ServiceProvider
|
||||
ProcessDailyMigration::class,
|
||||
ExportDailyStatements::class,
|
||||
CombinePdf::class,
|
||||
ConvertHtmlToPdf::class
|
||||
ConvertHtmlToPdf::class,
|
||||
UnlockPdf::class,
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -112,6 +114,12 @@ class WebstatementServiceProvider extends ServiceProvider
|
||||
->dailyAt('09:30')
|
||||
->withoutOverlapping()
|
||||
->appendOutputTo(storage_path('logs/convert-html-to-pdf.log'));
|
||||
|
||||
// Unlock PDF
|
||||
$schedule->command('webstatement:unlock-pdf')
|
||||
->dailyAt('09:30')
|
||||
->withoutOverlapping()
|
||||
->appendOutputTo(storage_path('logs/unlock-pdf.log'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user