From 8970c47a4ae23081cf3134155d59e7f98bb55a8c Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Tue, 4 Aug 2026 15:58:11 +0700 Subject: [PATCH] refactor: update constructors to use readonly properties for service dependencies --- .../Admin/AdminSettingsController.php | 4 +- .../Admin/Finance/CashAccountController.php | 2 +- .../Finance/EmployeeAdvanceController.php | 2 +- .../Admin/Finance/ExpenseController.php | 2 +- .../Finance/PayrollAdjustmentController.php | 6 +-- .../Admin/Finance/PayrollController.php | 2 +- .../Admin/Finance/PayrollPeriodController.php | 2 +- .../Admin/HR/AttendanceController.php | 2 +- .../Admin/HR/EmployeeController.php | 2 +- .../Admin/HR/LeaveRequestController.php | 2 +- .../Admin/Manage/CuttingController.php | 2 +- .../Admin/Manage/PurchaseController.php | 2 +- .../Admin/Manage/RestockController.php | 2 +- .../Admin/Manage/TransactionController.php | 2 +- .../Admin/Master/CategoryController.php | 2 +- .../Admin/Master/CustomerController.php | 2 +- .../Master/Product/ProductController.php | 4 +- .../Product/ProductVariantController.php | 2 +- .../Product/StockMutationController.php | 2 +- .../RawMaterial/RawMaterialController.php | 2 +- .../RawMaterialVariantController.php | 2 +- .../Admin/Master/SupplierController.php | 2 +- app/Http/Controllers/Admin/RoleController.php | 2 +- .../Api/PresignedUrlController.php | 2 +- app/Http/Controllers/Controller.php | 5 ++ .../Settings/ProfileController.php | 54 +++++++++---------- .../Settings/SecurityController.php | 16 ++---- 27 files changed, 61 insertions(+), 70 deletions(-) diff --git a/app/Http/Controllers/Admin/AdminSettingsController.php b/app/Http/Controllers/Admin/AdminSettingsController.php index 77bac79..958bce3 100644 --- a/app/Http/Controllers/Admin/AdminSettingsController.php +++ b/app/Http/Controllers/Admin/AdminSettingsController.php @@ -16,7 +16,7 @@ class AdminSettingsController extends Controller { public function __construct( - private AdminSettingsService $service + private readonly AdminSettingsService $service ) {} public function index(): Response @@ -70,7 +70,7 @@ public function updateHR(UpdateHRRequest $request): RedirectResponse { $this->service->updateHR($request->validated()); - Inertia::flash('toast', ['type' => 'success', 'message' => 'Pengaturan hr berhasil diperbarui.']); + Inertia::flash('toast', ['type' => 'success', 'message' => 'Pengaturan HR berhasil diperbarui.']); return to_route('admin.settings.index'); } diff --git a/app/Http/Controllers/Admin/Finance/CashAccountController.php b/app/Http/Controllers/Admin/Finance/CashAccountController.php index fb784ff..2a2b1f9 100644 --- a/app/Http/Controllers/Admin/Finance/CashAccountController.php +++ b/app/Http/Controllers/Admin/Finance/CashAccountController.php @@ -14,7 +14,7 @@ class CashAccountController extends Controller { public function __construct( - private CashAccountService $service + private readonly CashAccountService $service ) {} public function index(PaginatedRequest $request): Response diff --git a/app/Http/Controllers/Admin/Finance/EmployeeAdvanceController.php b/app/Http/Controllers/Admin/Finance/EmployeeAdvanceController.php index 1031240..f655e76 100644 --- a/app/Http/Controllers/Admin/Finance/EmployeeAdvanceController.php +++ b/app/Http/Controllers/Admin/Finance/EmployeeAdvanceController.php @@ -14,7 +14,7 @@ class EmployeeAdvanceController extends Controller { public function __construct( - private EmployeeAdvanceService $service + private readonly EmployeeAdvanceService $service ) {} public function index(PaginatedRequest $request): Response diff --git a/app/Http/Controllers/Admin/Finance/ExpenseController.php b/app/Http/Controllers/Admin/Finance/ExpenseController.php index 47f9244..322c931 100644 --- a/app/Http/Controllers/Admin/Finance/ExpenseController.php +++ b/app/Http/Controllers/Admin/Finance/ExpenseController.php @@ -14,7 +14,7 @@ class ExpenseController extends Controller { public function __construct( - private ExpenseService $service + private readonly ExpenseService $service ) {} public function index(PaginatedRequest $request): Response diff --git a/app/Http/Controllers/Admin/Finance/PayrollAdjustmentController.php b/app/Http/Controllers/Admin/Finance/PayrollAdjustmentController.php index 0ca624d..069cb77 100644 --- a/app/Http/Controllers/Admin/Finance/PayrollAdjustmentController.php +++ b/app/Http/Controllers/Admin/Finance/PayrollAdjustmentController.php @@ -12,7 +12,7 @@ class PayrollAdjustmentController extends Controller { public function __construct( - private PayrollAdjustmentService $service + private readonly PayrollAdjustmentService $service ) {} public function store(PayrollAdjustmentRequest $request, Payroll $payroll): RedirectResponse @@ -21,7 +21,7 @@ public function store(PayrollAdjustmentRequest $request, Payroll $payroll): Redi fn () => $this->service->create($payroll, $request->validated()), 'Adjustment gaji berhasil ditambahkan.', 'admin.finance.payroll-periods.show', - ['payroll_period' => $payroll->payroll_period_id] + parameters : ['payroll_period' => $payroll->payroll_period_id] ); } @@ -31,7 +31,7 @@ public function destroy(PayrollAdjustment $payrollAdjustment): RedirectResponse fn () => $this->service->delete($payrollAdjustment), 'Adjustment gaji berhasil dihapus.', 'admin.finance.payroll-periods.show', - ['payroll_period' => $payrollAdjustment->payroll->payroll_period_id] + parameters: ['payroll_period' => $payrollAdjustment->payroll->payroll_period_id] ); } } diff --git a/app/Http/Controllers/Admin/Finance/PayrollController.php b/app/Http/Controllers/Admin/Finance/PayrollController.php index 5ef7549..98cbefb 100644 --- a/app/Http/Controllers/Admin/Finance/PayrollController.php +++ b/app/Http/Controllers/Admin/Finance/PayrollController.php @@ -10,7 +10,7 @@ class PayrollController extends Controller { public function __construct( - private PayrollPeriodService $service + private readonly PayrollPeriodService $service ) {} public function pay(Payroll $payroll): RedirectResponse diff --git a/app/Http/Controllers/Admin/Finance/PayrollPeriodController.php b/app/Http/Controllers/Admin/Finance/PayrollPeriodController.php index 4e00b67..7d8851e 100644 --- a/app/Http/Controllers/Admin/Finance/PayrollPeriodController.php +++ b/app/Http/Controllers/Admin/Finance/PayrollPeriodController.php @@ -14,7 +14,7 @@ class PayrollPeriodController extends Controller { public function __construct( - private PayrollPeriodService $service + private readonly PayrollPeriodService $service ) {} public function index(PaginatedRequest $request): Response diff --git a/app/Http/Controllers/Admin/HR/AttendanceController.php b/app/Http/Controllers/Admin/HR/AttendanceController.php index 438782c..93af584 100644 --- a/app/Http/Controllers/Admin/HR/AttendanceController.php +++ b/app/Http/Controllers/Admin/HR/AttendanceController.php @@ -15,7 +15,7 @@ class AttendanceController extends Controller { public function __construct( - private AttendanceService $service + private readonly AttendanceService $service ) {} public function index(Request $request): Response diff --git a/app/Http/Controllers/Admin/HR/EmployeeController.php b/app/Http/Controllers/Admin/HR/EmployeeController.php index 53ca1bb..ecec02a 100644 --- a/app/Http/Controllers/Admin/HR/EmployeeController.php +++ b/app/Http/Controllers/Admin/HR/EmployeeController.php @@ -14,7 +14,7 @@ class EmployeeController extends Controller { public function __construct( - private EmployeeService $service + private readonly EmployeeService $service ) {} public function index(PaginatedRequest $request): Response diff --git a/app/Http/Controllers/Admin/HR/LeaveRequestController.php b/app/Http/Controllers/Admin/HR/LeaveRequestController.php index e941d04..64bf1b7 100644 --- a/app/Http/Controllers/Admin/HR/LeaveRequestController.php +++ b/app/Http/Controllers/Admin/HR/LeaveRequestController.php @@ -14,7 +14,7 @@ class LeaveRequestController extends Controller { public function __construct( - private LeaveRequestService $service + private readonly LeaveRequestService $service ) {} public function index(PaginatedRequest $request): Response diff --git a/app/Http/Controllers/Admin/Manage/CuttingController.php b/app/Http/Controllers/Admin/Manage/CuttingController.php index 1ea9f12..5fdd21b 100644 --- a/app/Http/Controllers/Admin/Manage/CuttingController.php +++ b/app/Http/Controllers/Admin/Manage/CuttingController.php @@ -14,7 +14,7 @@ class CuttingController extends Controller { public function __construct( - private CuttingService $service, + private readonly CuttingService $service, ) {} public function index(PaginatedRequest $request): Response diff --git a/app/Http/Controllers/Admin/Manage/PurchaseController.php b/app/Http/Controllers/Admin/Manage/PurchaseController.php index 66de86e..f17091c 100644 --- a/app/Http/Controllers/Admin/Manage/PurchaseController.php +++ b/app/Http/Controllers/Admin/Manage/PurchaseController.php @@ -14,7 +14,7 @@ class PurchaseController extends Controller { public function __construct( - private PurchaseService $service, + private readonly PurchaseService $service, ) {} public function index(PaginatedRequest $request): Response diff --git a/app/Http/Controllers/Admin/Manage/RestockController.php b/app/Http/Controllers/Admin/Manage/RestockController.php index b0b94f9..96b7c1e 100644 --- a/app/Http/Controllers/Admin/Manage/RestockController.php +++ b/app/Http/Controllers/Admin/Manage/RestockController.php @@ -14,7 +14,7 @@ class RestockController extends Controller { public function __construct( - private RestockService $service, + private readonly RestockService $service, ) {} public function index(PaginatedRequest $request): Response diff --git a/app/Http/Controllers/Admin/Manage/TransactionController.php b/app/Http/Controllers/Admin/Manage/TransactionController.php index d2312a0..009c20a 100644 --- a/app/Http/Controllers/Admin/Manage/TransactionController.php +++ b/app/Http/Controllers/Admin/Manage/TransactionController.php @@ -14,7 +14,7 @@ class TransactionController extends Controller { public function __construct( - private TransactionService $service, + private readonly TransactionService $service, ) {} public function index(PaginatedRequest $request): Response diff --git a/app/Http/Controllers/Admin/Master/CategoryController.php b/app/Http/Controllers/Admin/Master/CategoryController.php index 417e160..4a5b413 100644 --- a/app/Http/Controllers/Admin/Master/CategoryController.php +++ b/app/Http/Controllers/Admin/Master/CategoryController.php @@ -14,7 +14,7 @@ class CategoryController extends Controller { public function __construct( - private CategoryService $service + private readonly CategoryService $service ) {} public function index(PaginatedRequest $request): Response diff --git a/app/Http/Controllers/Admin/Master/CustomerController.php b/app/Http/Controllers/Admin/Master/CustomerController.php index e660dbd..e5d3358 100644 --- a/app/Http/Controllers/Admin/Master/CustomerController.php +++ b/app/Http/Controllers/Admin/Master/CustomerController.php @@ -14,7 +14,7 @@ class CustomerController extends Controller { public function __construct( - private CustomerService $service + private readonly CustomerService $service ) {} public function index(PaginatedRequest $request): Response diff --git a/app/Http/Controllers/Admin/Master/Product/ProductController.php b/app/Http/Controllers/Admin/Master/Product/ProductController.php index fe09732..f5765ea 100644 --- a/app/Http/Controllers/Admin/Master/Product/ProductController.php +++ b/app/Http/Controllers/Admin/Master/Product/ProductController.php @@ -15,8 +15,8 @@ class ProductController extends Controller { public function __construct( - private ProductService $service, - private CategoryService $categoryService, + private readonly ProductService $service, + private readonly CategoryService $categoryService, ) {} public function index(PaginatedRequest $request): Response diff --git a/app/Http/Controllers/Admin/Master/Product/ProductVariantController.php b/app/Http/Controllers/Admin/Master/Product/ProductVariantController.php index c334947..ed10bcf 100644 --- a/app/Http/Controllers/Admin/Master/Product/ProductVariantController.php +++ b/app/Http/Controllers/Admin/Master/Product/ProductVariantController.php @@ -15,7 +15,7 @@ class ProductVariantController extends Controller { public function __construct( - private ProductVariantService $variantService, + private readonly ProductVariantService $variantService, ) {} public function edit(Product $product, ProductVariant $variant): Response diff --git a/app/Http/Controllers/Admin/Master/Product/StockMutationController.php b/app/Http/Controllers/Admin/Master/Product/StockMutationController.php index 540ecf7..e8a07a5 100644 --- a/app/Http/Controllers/Admin/Master/Product/StockMutationController.php +++ b/app/Http/Controllers/Admin/Master/Product/StockMutationController.php @@ -13,7 +13,7 @@ class StockMutationController extends Controller { public function __construct( - private StockMutationService $service = new StockMutationService, + private readonly StockMutationService $service, ) {} public function index(StockMutationRequest $request, Product $product, ProductVariant $variant): Response diff --git a/app/Http/Controllers/Admin/Master/RawMaterial/RawMaterialController.php b/app/Http/Controllers/Admin/Master/RawMaterial/RawMaterialController.php index 52135f8..73f1a89 100644 --- a/app/Http/Controllers/Admin/Master/RawMaterial/RawMaterialController.php +++ b/app/Http/Controllers/Admin/Master/RawMaterial/RawMaterialController.php @@ -14,7 +14,7 @@ class RawMaterialController extends Controller { public function __construct( - private RawMaterialService $service, + private readonly RawMaterialService $service, ) {} public function index(PaginatedRequest $request): Response diff --git a/app/Http/Controllers/Admin/Master/RawMaterial/RawMaterialVariantController.php b/app/Http/Controllers/Admin/Master/RawMaterial/RawMaterialVariantController.php index 64920a2..4947526 100644 --- a/app/Http/Controllers/Admin/Master/RawMaterial/RawMaterialVariantController.php +++ b/app/Http/Controllers/Admin/Master/RawMaterial/RawMaterialVariantController.php @@ -14,7 +14,7 @@ class RawMaterialVariantController extends Controller { public function __construct( - private RawMaterialVariantService $variantService, + private readonly RawMaterialVariantService $variantService, ) {} public function edit(RawMaterial $rawMaterial, RawMaterialPrice $variant): Response diff --git a/app/Http/Controllers/Admin/Master/SupplierController.php b/app/Http/Controllers/Admin/Master/SupplierController.php index eed93c9..9342dd2 100644 --- a/app/Http/Controllers/Admin/Master/SupplierController.php +++ b/app/Http/Controllers/Admin/Master/SupplierController.php @@ -14,7 +14,7 @@ class SupplierController extends Controller { public function __construct( - private SupplierService $service + private readonly SupplierService $service ) {} public function index(PaginatedRequest $request): Response diff --git a/app/Http/Controllers/Admin/RoleController.php b/app/Http/Controllers/Admin/RoleController.php index 11b29ff..e20d82c 100644 --- a/app/Http/Controllers/Admin/RoleController.php +++ b/app/Http/Controllers/Admin/RoleController.php @@ -14,7 +14,7 @@ class RoleController extends Controller { public function __construct( - private RoleService $service + private readonly RoleService $service ) {} public function index(PaginatedRequest $request): Response diff --git a/app/Http/Controllers/Api/PresignedUrlController.php b/app/Http/Controllers/Api/PresignedUrlController.php index 1d8904f..96a0c53 100644 --- a/app/Http/Controllers/Api/PresignedUrlController.php +++ b/app/Http/Controllers/Api/PresignedUrlController.php @@ -11,7 +11,7 @@ class PresignedUrlController extends Controller { public function __construct( - private S3PresignedService $service + private readonly S3PresignedService $service ) {} public function store(PresignedUrlRequest $request): JsonResponse diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php index 978127f..ceea408 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Http/Controllers/Controller.php @@ -28,4 +28,9 @@ protected function handleAction(callable $action, string $successMessage, string return to_route($errorRoute ?? $redirectRoute, $parameters); } } + + protected function handleToggle(callable $action, string $successMessage, string $redirectRoute): RedirectResponse + { + return $this->handleAction($action, $successMessage, $redirectRoute); + } } diff --git a/app/Http/Controllers/Settings/ProfileController.php b/app/Http/Controllers/Settings/ProfileController.php index ba5b1b0..570c371 100644 --- a/app/Http/Controllers/Settings/ProfileController.php +++ b/app/Http/Controllers/Settings/ProfileController.php @@ -12,9 +12,6 @@ class ProfileController extends Controller { - /** - * Show the user's profile settings page. - */ public function edit(Request $request): Response { $user = $request->user(); @@ -38,38 +35,37 @@ public function edit(Request $request): Response ]); } - /** - * Update the user's profile information. - */ public function update(ProfileUpdateRequest $request): RedirectResponse { - $validated = $request->validated(); - $user = $request->user(); + return $this->handleAction( + function () use ($request) { + $validated = $request->validated(); + $user = $request->user(); - $user->fill([ - 'email' => $validated['email'], - 'username' => $validated['username'], - ]); + $user->fill([ + 'email' => $validated['email'], + 'username' => $validated['username'], + ]); - if ($user->isDirty('email')) { - $user->email_verified_at = null; - } + if ($user->isDirty('email')) { + $user->email_verified_at = null; + } - $user->save(); + $user->save(); - $user->userProfile()->updateOrCreate( - [], - [ - 'full_name' => $validated['full_name'], - 'phone_number' => $validated['phone_number'] ?? null, - 'gender' => $validated['gender'] ?? null, - 'birth_date' => $validated['birth_date'] ?? null, - 'address' => $validated['address'] ?? null, - ], + $user->userProfile()->updateOrCreate( + [], + [ + 'full_name' => $validated['full_name'], + 'phone_number' => $validated['phone_number'] ?? null, + 'gender' => $validated['gender'] ?? null, + 'birth_date' => $validated['birth_date'] ?? null, + 'address' => $validated['address'] ?? null, + ], + ); + }, + 'Profil berhasil diperbarui.', + 'profile.edit', ); - - Inertia::flash('toast', ['type' => 'success', 'message' => 'Profil berhasil diperbarui.']); - - return to_route('profile.edit'); } } diff --git a/app/Http/Controllers/Settings/SecurityController.php b/app/Http/Controllers/Settings/SecurityController.php index c4a9773..f6233fd 100644 --- a/app/Http/Controllers/Settings/SecurityController.php +++ b/app/Http/Controllers/Settings/SecurityController.php @@ -11,26 +11,16 @@ class SecurityController extends Controller { - /** - * Show the user's security settings page. - */ public function edit(): Response { - $props = [ + return Inertia::render('settings/security', [ 'passwordRules' => Password::defaults()->toPasswordRulesString(), - ]; - - return Inertia::render('settings/security', $props); + ]); } - /** - * Update the user's password. - */ public function update(PasswordUpdateRequest $request): RedirectResponse { - $request->user()->update([ - 'password' => $request->password, - ]); + $request->user()->update(['password' => $request->password]); Inertia::flash('toast', ['type' => 'success', 'message' => 'Kata sandi berhasil diperbarui.']);