refactor(jobs): hapus manajemen izin file (chmod, chown, chgrp)
Perubahan yang dilakukan: - ExportStatementJob.php: - Menghapus kode chmod(0777), chown, dan chgrp pada direktori basePath dan accountPath. - Menyederhanakan fungsi exportToCsv() dengan hanya menggunakan Storage::makeDirectory() tanpa pengaturan izin manual. - ExportStatementPeriodJob.php: - Menghapus proses chmod(0777), chown, dan chgrp dari generatePdf() dan exportToCsv(). - Mempertahankan mkdir() dengan parameter 0777 untuk kompatibilitas permission default, tanpa manipulasi ownership. - Menghapus pengecekan posix_getuid() dan function_exists() yang sebelumnya digunakan untuk memvalidasi chown. - GenerateMultiAccountPdfJob.php: - Menghapus semua proses chmod(0777), chown, dan chgrp pada direktori penyimpanan. - Menyederhanakan fungsi generateAccountPdf() dengan menghilangkan pengaturan ownership manual. Tujuan perubahan: - Menyederhanakan kode dan menghilangkan proses manajemen izin file yang tidak perlu. - Menghilangkan ketergantungan pada fungsi sistem operasi terkait chmod, chown, dan chgrp. - Mengurangi kompleksitas dan meminimalkan potensi error saat runtime. - Meningkatkan portabilitas aplikasi agar dapat berjalan di berbagai environment seperti Linux, Windows, dan Docker tanpa kendala perizinan file. - Menghilangkan risiko keamanan akibat perubahan ownership file secara manual. - Mempermudah deployment dan maintenance dengan kode yang lebih clean dan aman. Catatan: - Pembuatan direktori tetap menggunakan Laravel Storage facade atau mkdir() untuk kebutuhan tertentu. - Tidak ada perubahan pada logika bisnis utama dari proses export PDF dan CSV. - Semua fitur export tetap berjalan seperti sebelumnya tanpa pengaturan file permission manual.
This commit is contained in:
@@ -239,16 +239,6 @@ class GenerateMultiAccountPdfJob implements ShouldQueue
|
||||
|
||||
// Ensure directory exists
|
||||
Storage::disk('local')->makeDirectory($storagePath);
|
||||
// Tambahkan permission dan ownership setelah membuat directory
|
||||
$fullPath = storage_path("app/{$storagePath}");
|
||||
if (is_dir($fullPath)) {
|
||||
chmod($fullPath, 0777);
|
||||
// Tambahkan pengecekan function dan error handling untuk chown
|
||||
if (function_exists('chown') && posix_getuid() === 0) {
|
||||
@chown($fullPath, 'www-data'); // Gunakan www-data instead of root
|
||||
@chgrp($fullPath, 'www-data');
|
||||
}
|
||||
}
|
||||
|
||||
// Generate PDF path
|
||||
$pdfPath = storage_path("app/{$fullStoragePath}");
|
||||
|
||||
Reference in New Issue
Block a user