Files
sam-api/app/Exceptions/DuplicateCodeException.php
hskwon c7eee97610 style: Pint 코드 스타일 자동 수정 및 마이그레이션 실행
- Pint 스타일 이슈 25개 수정 (783 파일 통과)
- 마이그레이션 4개 실행 (payrolls, payroll_settings, push 테이블)
- routes/api.php import 정렬
2025-12-18 11:40:49 +09:00

52 lines
1.1 KiB
PHP

<?php
namespace App\Exceptions;
use Exception;
/**
* 품목 코드 중복 예외
*
* 중복된 품목 ID를 함께 반환하기 위한 커스텀 예외
*/
class DuplicateCodeException extends Exception
{
protected int $duplicateId;
protected string $duplicateCode;
public function __construct(string $code, int $duplicateId, ?string $message = null)
{
$this->duplicateCode = $code;
$this->duplicateId = $duplicateId;
parent::__construct($message ?? __('error.item.duplicate_code'));
}
public function getDuplicateId(): int
{
return $this->duplicateId;
}
public function getDuplicateCode(): string
{
return $this->duplicateCode;
}
/**
* HTTP 응답으로 변환
*/
public function render()
{
return response()->json([
'success' => false,
'message' => $this->getMessage(),
'error' => [
'code' => 400,
],
'duplicate_id' => $this->duplicateId,
'duplicate_code' => $this->duplicateCode,
], 400);
}
}