Files
sam-api/lang/ko/message.php
hskwon 17fa82c35b feat: Design BOM 템플릿 diff/clone API 및 모델버전 릴리즈 유효성 검사 도입
- Design BOM 템플릿 diff/clone 엔드포인트 추가
- 컨트롤러 검증 로직 FormRequest 분리(DiffRequest/CloneRequest/Upsert/ReplaceItems)
- BomTemplateService에 diffTemplates/cloneTemplate/replaceItems/쇼우 로직 정리
- ModelVersionController createDraft FormRequest 적용 및 서비스 호출 정리
- 모델버전 release 전 유효성 검사(존재/활성/테넌트 일치, qty>0, 중복 금지) 추가
- DB enum 미사용 방침 준수(status 문자열 유지)
- model_versions 인덱스 최적화(tenant_id, model_id, status / 기간 범위)
- Swagger 문서(Design BOM) 및 i18n 메시지 키 추가
2025-09-11 13:39:32 +09:00

59 lines
2.1 KiB
PHP

<?php
/**
* 성공/안내/일반 메시지 (비에러)
* - API 정상 응답의 message 필드용
* - 도메인 공통 키와 리소스별 하위 그룹을 혼합 사용
* - 예: return ApiResponse::success($data, __('message.created'));
*/
return [
// 공통 (CRUD/편의)
'fetched' => '조회 성공',
'created' => '등록 성공',
'updated' => '수정 성공',
'deleted' => '삭제 성공',
'restored' => '복구 성공',
'toggled' => '상태 변경 성공',
'bulk_upsert' => '대량 저장 성공',
'reordered' => '정렬 변경 성공',
'no_changes' => '변경 사항이 없습니다.',
// 인증/세션
'login_success' => '로그인 성공',
'logout_success' => '로그아웃 되었습니다.',
'signup_success' => '회원가입이 완료되었습니다.',
// 테넌트/컨텍스트
'tenant_switched' => '활성 테넌트가 전환되었습니다.',
// 리소스별 세부 (필요 시)
'product' => [
'created' => '제품이 등록되었습니다.',
'updated' => '제품이 수정되었습니다.',
'deleted' => '제품이 삭제되었습니다.',
'toggled' => '제품 상태가 변경되었습니다.',
],
'bom' => [
'fetched' => 'BOM 항목을 조회했습니다.',
'bulk_upsert' => 'BOM 항목이 저장되었습니다.',
'reordered' => 'BOM 정렬이 변경되었습니다.',
'fetch' => 'BOM 항목 조회',
'creat' => 'BOM 항목 등록',
'update' => 'BOM 항목 수정',
'delete' => 'BOM 항목 삭제',
'restore' => 'BOM 항목 복구',
],
'category' => [
'fields_saved' => '카테고리 필드가 저장되었습니다.',
'template_saved' => '카테고리 템플릿이 저장되었습니다.',
'template_applied' => '카테고리 템플릿이 적용되었습니다.',
],
'design' => [
'template_cloned' => 'BOM 템플릿이 복제되었습니다.',
'template_diff' => 'BOM 템플릿 차이를 계산했습니다.',
],
];