feat: bật/tắt yêu cầu hoàn tất hồ sơ, xoá dịch vụ kèm đơn/hoá đơn, sync tên VM đã gán

- setting.require_complete_profile (mặc định bật), trả qua GET v1/setting
- bulkDeleteServices xoá mềm invoice nâng cấp + order mồ côi (ServiceOrderRecorder::discardOrder)
- createService trỏ dịch vụ sang order mới thì bỏ order cũ
- SyncVirtualMachine cập nhật name + gắn virtual_machine_id cho module_vmware

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
baodev0
2026-10-15 08:04:02 +07:00
co-authored by Claude Opus 5.5
parent bf78f3b810
commit 0bd15f6018
9 changed files with 198 additions and 9 deletions
@@ -24,7 +24,7 @@ class SettingController extends Controller
* operationId="getSetting",
* tags={"Settings"},
* summary="Get application settings",
* description="Returns the public application settings (title, company, logo, favi_icon, brand_color)",
* description="Returns the public application settings (title, company, logo, favi_icon, brand_color, require_complete_profile)",
* @OA\Response(
* response=200,
* description="Successful operation",
@@ -39,7 +39,9 @@ class SettingController extends Controller
public function getSetting(): \Illuminate\Http\JsonResponse
{
return response()->json([
'data' => PublicSetting::values(),
'data' => PublicSetting::values() + [
'require_complete_profile' => PublicSetting::requireCompleteProfile(),
],
'message' => 'Get setting successfully',
'error' => false
]);