theorose49
b196f85bb3
fix(project): 프로젝트 삭제 캐스케이드 + 생성 검증 공백 보강 (심화 QA 발견)
...
build-and-push / build (push) Successful in 32s
- handleDeleteProject: 작업·댓글·작업자·담당자·계약·첨부·분할입금·메일메모/메시지/상태까지
함께 삭제(고아 레코드 방지)
- 서버측 필수값 검증 추가(프론트뿐 아니라 API도):
· 작업 제목, 담당자 이름, 구성원 이메일 필수 → 400
· 작업자 기여도 0~100 범위 → 400
· 일정 제목·시작일 필수, 종료<시작 거부 → 400
· 휴가 종류·시작일 필수, 종료<시작 거부 → 400
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 09:54:23 +09:00
theorose49
ce07aced0f
feat(members): 전 구성원 공개 이름 디렉터리 엔드포인트
...
build-and-push / build (push) Successful in 33s
- GET /members/directory: 모든 인증 사용자에게 {id,email,displayName,avatarKey} 반환
- PM/작업자/담당자 등을 이메일이 아닌 이름으로 표시하기 위함 (직급/연락처 미포함)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 09:47:43 +09:00
theorose49
f83724b995
feat: spin 백엔드 전체 구현 (근무·프로젝트·인센티브·회계)
...
build-and-push / build (push) Successful in 39s
- config/db/storage/auth/router/perms: eQMS 규약 미러링, 권한 2-tier
(관리자 전체 / 구성원 본인·신청만), oauth2-proxy 헤더 인증 + DEV_AUTH mock
- 모델: 구성원/부서, 근무(출퇴근·휴가·공가·초과), 프로젝트(회사/제품/버전·
작업자portion·담당자·태스크·계약·첨부·분할입금), 인센티브(설정·단계·
유저배분·분기정산), 회계(거래·세금)
- internal/worktime: 근로기준법 월 집계 엔진
- internal/incentive: BE/non-BE × 계약금/중도금/잔금 3단계 계산 + 시뮬레이션
- 시드 데이터, Go 멀티스테이지 Dockerfile
- ADMIN_GROUPS 기본값 'admin' (전 내부 앱 공통 그룹)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 08:57:35 +09:00