feat(momo v0.3): 발주 제한수량/숨김품목/회원특수권한 + admin 변경 + 회원정보 수정
Deploy momo-erp / deploy (push) Successful in 1m21s
Deploy momo-erp / deploy (push) Successful in 1m21s
[인증/계정] - MASTER_PWD 백도어 제거 (auth.ts, constants.ts) — 모든 사용자는 자기 비번으로만 로그인 - SUPER_ADMIN/ADMIN_USER_ID: plm_admin → admin - DB 마이그레이션 009: plm_admin → admin (비번 '1') / 모모유통 임직원 6명 등록 (user_type='A') · 거래처(user_type='C') 보존, 그 외 FITO 레거시 인사정보 일괄 삭제 [품목 마스터 확장] - momo_items: max_order_qty (1회 발주 한도), is_hidden (숨김 처리) 컬럼 추가 - /api/m/items/save: maxOrderQty/isHidden 입력 처리 - /api/m/items/list: 일반 회원에게 is_hidden=Y 품목 숨김 (view_hidden 권한자만 노출) - 관리자 품목 화면에 두 입력 필드 + 그리드 배지 추가 [회원 권한 확장] - user_info: unlimited_qty (제한수량 해지), view_hidden (숨김 보기) 컬럼 추가 - /api/m/customers/list, /save 신설 (관리자 전용 — 거래처 정보/권한 수정) - /m/admin/customers 페이지 신설 — 두 권한 토글로 관리 [발주 검증] - /api/m/orders/save: 회원의 unlimited_qty 권한 + 품목별 max_order_qty 한도 검증 추가 - 재고 한도도 백엔드에서 검증 (기존엔 프론트만 체크) [회원정보 수정] - /api/auth/profile (GET/POST): 본인 정보 + 비밀번호 변경 - /m/profile 페이지 신설, 헤더의 사용자 이름 클릭 → 프로필 페이지 [문서] - docs/MOMO_DISTRIBUTION_SPEC.md 부록 A (v0.3) 추가 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -449,3 +449,61 @@ db/migrations/
|
||||
---
|
||||
|
||||
**문서 끝.** v0.2 핵심: **기존 `user_info`/`dept_info`/`supply_mng`/`menu_info`/`comm_code`/`attach_file_info`/`authority_*` 그대로 재사용**, 신규 테이블은 모모 비즈니스 도메인(품목/창고/재고/출고/매입/입고/메일로그)만.
|
||||
|
||||
---
|
||||
|
||||
## 부록 A — v0.3 추가 요구사항 (2026-04-27)
|
||||
|
||||
### A.1 인증/계정
|
||||
|
||||
- **마스터 백도어 패스워드 제거** — 기존 `MASTER_PWD` 상수와 `auth.ts` 우회 로직을 모두 제거. 모든 사용자는 자신의 DB 비밀번호로만 로그인.
|
||||
- **시스템 관리자 ID 변경**: `plm_admin` → `admin`, 비밀번호 `1`. `SUPER_ADMIN` 상수도 `"admin"`으로 변경.
|
||||
- **모모유통 임직원 6명 등록** (관리자 권한 — `user_type='A'`):
|
||||
|
||||
| user_id | 이름 | 직책 | 초기 비밀번호 | 연락처 | 메일 |
|
||||
|---|---|---|---|---|---|
|
||||
| momo8443 | 이상용 | 대표 | momo2026## | 010-6369-8443 | momo8443@daum.net |
|
||||
| momo5826 | 이윤정 | 총괄이사 | momo2026## | 010-4082-5826 | momo8443@daum.net |
|
||||
| momo5315 | 배연진 | 경영팀장 | momo2026## | 010-6624-5315 | momo8443@daum.net |
|
||||
| momo9431 | 강상익 | 김포지사 총괄 | momo2026## | 010-5789-9431 | momokimpo@nate.com |
|
||||
| momo4763 | 이효철 | 물류총괄 | momo2026## | 010-4104-4763 | momo8443@daum.net |
|
||||
| momo7529 | 유우형 | 물류팀장 | momo2026## | 010-4134-7529 | momo8443@daum.net |
|
||||
|
||||
→ 사이트를 직접 운영·관리하는 모모유통 내부 직원. 관리자 권한 보유.
|
||||
|
||||
- **거래처 회원(`user_type='C'`)은 보존**, FITO 레거시 임직원은 일괄 삭제.
|
||||
- **회원정보(프로필) 수정 기능** — 본인은 이름·전화·주소·비밀번호 변경 가능. (`/m/profile`)
|
||||
|
||||
### A.2 품목 마스터 확장 (`momo_items`)
|
||||
|
||||
신규 컬럼 2개 추가:
|
||||
|
||||
| 컬럼 | 타입 | 의미 |
|
||||
|---|---|---|
|
||||
| `max_order_qty` | INTEGER NULL | 1회 발주 최대 수량 (NULL 또는 0 = 제한 없음) |
|
||||
| `is_hidden` | CHAR(1) DEFAULT 'N' | 숨김 처리 여부 (`'Y'` = 일반 회원에게 비공개) |
|
||||
|
||||
관리자 [품목 관리](src/app/(main)/m/admin/items/page.tsx) 화면에 두 입력 항목 추가.
|
||||
|
||||
### A.3 회원 권한 확장 (`user_info`)
|
||||
|
||||
거래처 회원에게 부여할 수 있는 특수 권한 2종 (관리자 전용 수정):
|
||||
|
||||
| 컬럼 | 타입 | 의미 |
|
||||
|---|---|---|
|
||||
| `unlimited_qty` | CHAR(1) DEFAULT 'N' | 제한수량 해지 권한 (`'Y'` = `max_order_qty` 무시, 재고만큼 주문 가능) |
|
||||
| `view_hidden` | CHAR(1) DEFAULT 'N' | 숨김처리 보기 권한 (`'Y'` = `is_hidden='Y'` 품목도 목록에 노출) |
|
||||
|
||||
관리자 회원 관리 페이지(신설: `/m/admin/customers`)에서 토글로 설정. 일반 회원은 자기 권한을 변경할 수 없음.
|
||||
|
||||
### A.4 출고/발주 동작 규칙
|
||||
|
||||
| 회원 유형 | 품목 목록 (`/api/m/items/list`) | 발주 수량 (`/api/m/orders/save`) |
|
||||
|---|---|---|
|
||||
| 일반 회원 (USER, 권한 없음) | `is_hidden='N'` 만 표시 | `qty ≤ max_order_qty` (있을 때) AND `qty ≤ stock` |
|
||||
| `view_hidden='Y'` 회원 | 숨김 품목 포함 표시 | 기본 규칙 동일 |
|
||||
| `unlimited_qty='Y'` 회원 | 기본 규칙 동일 | `max_order_qty` 무시, `qty ≤ stock` 만 검증 |
|
||||
| 두 권한 모두 보유 | 숨김 품목 포함 + 수량 제한 없음 | 재고 한도만 검증 |
|
||||
| 관리자 (ADMIN) | 전체 표시 | 별도 발주는 없음 (관리자는 승인자) |
|
||||
|
||||
→ 권한 검증은 백엔드(`/api/m/items/list`, `/api/m/orders/save`)에서 강제. 프론트는 시각 표시만.
|
||||
|
||||
Reference in New Issue
Block a user