- 개발팀 전용 폴더 dev/ 생성 (standards, guides, quickstart, changes, deploys, data, history, dev_plans 이동) - 프론트엔드 전용 폴더 frontend/ 생성 (api/ → frontend/api-specs/) - 기획팀 폴더 requests/ 생성 - plans/ → dev/dev_plans/ 이름 변경 - README.md 신규 (사람용 안내), INDEX.md 재작성 (Claude Code용) - resources.md 신규 (노션 링크용, assets/brochure 이관 예정) - CURRENT_WORKS.md 삭제, TODO.md → dev/ 이동 - 전체 참조 경로 업데이트 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
79 lines
2.0 KiB
Markdown
79 lines
2.0 KiB
Markdown
# 변경 내용 요약
|
|
|
|
**날짜:** 2025-12-25
|
|
**작업자:** Claude Code
|
|
**이슈:** employee-user-linkage-plan.md 구현
|
|
|
|
## 📋 변경 개요
|
|
사원-회원 연결 기능의 핵심 API 구현:
|
|
- 사원 전용 등록 (시스템 계정 없이)
|
|
- 계정 해제 기능 (revokeAccount)
|
|
|
|
## 📁 수정된 파일
|
|
|
|
### 1. api/app/Services/EmployeeService.php
|
|
- **store()**: password 생성 로직 수정 - `create_account=false`면 password=NULL 허용
|
|
- **revokeAccount()**: 신규 메서드 추가 - 시스템 계정 해제 (password=NULL, 토큰 무효화)
|
|
|
|
### 2. api/app/Http/Controllers/Api/V1/EmployeeController.php
|
|
- **revokeAccount()**: 신규 액션 추가
|
|
- **createAccount()**: 응답 메시지 i18n 키로 변경
|
|
|
|
### 3. api/routes/api.php
|
|
- `POST /employees/{id}/revoke-account` 라우트 추가
|
|
|
|
### 4. api/lang/ko/employee.php (신규)
|
|
- 사원 관련 메시지 키 정의
|
|
|
|
### 5. api/lang/en/employee.php (신규)
|
|
- 영문 메시지 키 정의
|
|
|
|
## 🔧 상세 변경 사항
|
|
|
|
### 1. EmployeeService::store() 수정
|
|
|
|
**변경 전:**
|
|
```php
|
|
'password' => Hash::make($data['password'] ?? Str::random(16)),
|
|
```
|
|
|
|
**변경 후:**
|
|
```php
|
|
$password = null;
|
|
$createAccount = $data['create_account'] ?? false;
|
|
if ($createAccount && ! empty($data['password'])) {
|
|
$password = Hash::make($data['password']);
|
|
}
|
|
// ...
|
|
'password' => $password,
|
|
```
|
|
|
|
**이유:** 사원 전용 등록 지원 (로그인 불가)
|
|
|
|
### 2. EmployeeService::revokeAccount() 추가
|
|
|
|
```php
|
|
public function revokeAccount(int $id): TenantUserProfile
|
|
{
|
|
// tenant_id 격리 적용
|
|
// password=NULL로 설정 (로그인 불가)
|
|
// 기존 토큰 무효화
|
|
}
|
|
```
|
|
|
|
**이유:** 시스템 계정 해제 기능
|
|
|
|
## ✅ 테스트 체크리스트
|
|
- [x] PHP 문법 검사 통과
|
|
- [x] Pint 코드 포맷 통과
|
|
- [x] 라우트 등록 확인
|
|
- [ ] Swagger 문서 작성 (추후)
|
|
- [ ] API 통합 테스트 (추후)
|
|
|
|
## ⚠️ 배포 시 주의사항
|
|
- users.password 컬럼이 nullable인지 확인 필요
|
|
- 기존 사원 데이터에 영향 없음
|
|
|
|
## 🔗 관련 문서
|
|
- docs/dev_plans/employee-user-linkage-plan.md
|