Commit Graph

13 Commits

Author SHA1 Message Date
king ae2a624f41 여러 엑셀 파일 업로드 시 업로드 날짜 지정 기능 및 낱개 출고 자동분석 다운로드 기능 구현 2026-05-26 23:01:22 +09:00
king 892fb16576 서버 진단용 테스트 API 추가 2026-05-26 22:12:11 +09:00
king f5439b4a5b 버그 수정: PostgreSQL 데이터베이스 전체 용량 조회 권한 부족 시 테이블 기준 대체 조회 적용 및 프론트엔드 에러 툴팁 보완 2026-05-26 22:07:30 +09:00
king db58c384f1 버그 수정: 일반 사용자 승인 체크 단계에서 어드민 예외 누락 보완 및 중첩 슬래시 라우팅 방어 2026-05-26 22:04:29 +09:00
king b2ecd896f5 버그 수정: 관리자 권한 DB 불일치 우회 및 다중 엑셀 파일 업로드 기능 구현 2026-05-26 21:51:14 +09:00
king 274507e2af fix(returns): CORM 으로 보내는 반품 신청 URL 및 인증 헤더 갱신
- CS_RETURN_REQUEST_URL 기본값을 http://dbx-corm:8002/api/return/request 로
  (docker 컨테이너 간 통신, 옛 127.0.0.1:8001 폐기).
- httpx 요청에 X-Service-Token 헤더 첨부 (CORM AuthGuard 우회용).
  INTERNAL_SERVICE_TOKEN env 가 있을 때만 첨부.
- .env.example 에 두 항목 안내 추가.
2026-05-24 18:14:49 +09:00
king 931ad173ab feat(ui): /orderlist 미인증 시 dbx-main 로그인으로 위임, 프로필 헤더 개선
- read_root() 가 세션 미인증 시 dbx-main /login?next=/orderlist/ 로 302.
  OMS 는 더 이상 자체 로그인 UI 를 가지지 않는다.
- index.html: #login-screen 블록 제거, dashboard 만 렌더.
- 우측 상단 프로필 영역을 메인 페이지 스타일로 개편:
  이름 + 이메일 + 아바타(Google picture URL, 폴백 아이콘) + 로그아웃 텍스트 버튼.
- main.py 가 세션의 user_name/user_email/user_picture 를 HTML placeholder 로 치환.
- app.js checkAuth() 단순화: 화면 토글 제거, 401 시 dbx-main 로그인으로 자동 이동.
- style.css 에 새 프로필 영역 CSS 추가.

Google 아바타가 보이려면 dbx-main 도 같이 user_picture 를 세션 top-level 에
저장하도록 수정됨 (dbx-main 별도 커밋).
2026-05-24 14:20:42 +09:00
king 1eabd7183c fix(routing): FastAPI(root_path=) 제거 — Mount/Route 비대칭 해결
Starlette Mount 가 FastAPI(root_path=...) 의 값을 mount 경로에 흡수해버려서
@app.get 라우트(/health/db)는 그대로지만 mount(/static)는 /orderlist/static
으로 등록되는 비대칭이 발생했다. NPM 이 /orderlist prefix 를 잘라서 백엔드로
보내면 /health/db 는 200 이지만 /static/css/style.css 는 404 가 났다.

해결: FastAPI 생성자에서 root_path 인자 제거. 대신 Dockerfile 의 uvicorn 명령에
--root-path "${APP_ROOT_PATH:-}" 를 추가해 ASGI scope 레벨에서만 root_path 가
세팅되도록 한다. 이러면 모든 라우트/마운트가 prefix 없이 등록되고 URL 생성
시에만 prefix 가 붙는다.

APP_ROOT_PATH 환경변수와 main.py 의 HTML 경로 치환 로직은 그대로 유지.
2026-05-24 14:05:32 +09:00
king 88d7b1ba7a feat(sso): SESSION_SECRET_KEY 미설정 시 fail-fast
- SESSION_SECRET_KEY 가 .env 에 없으면 컨테이너 기동 단계에서 RuntimeError.
  알려진 기본값(super-secret-key) 폴백 제거로 양쪽 secret 불일치 사고 방지.
- .env.example 의 SESSION_SECRET_KEY 안내 강화 (openssl 명령, dbx-main 동기화 언급).
2026-05-24 13:25:38 +09:00
king 4db82682df fix(sso): SESSION_MAX_AGE 코드 기본값을 8h로 통일 (dbx-main과 일치)
dbx-main 의 SessionMiddleware max_age 가 8h(28800)인데 OMS 코드 기본값은 14d였다.
운영 .env 에 SESSION_MAX_AGE 가 빠지면 한쪽만 일찍 만료돼 재로그인 루프가 생길 수 있어
코드 기본값을 28800으로 통일한다.

.env.example 은 이미 SESSION_MAX_AGE=28800 으로 표기돼 있어 변경 없음.
2026-05-24 13:05:02 +09:00
king 1d81db2367 fix(sso): comply with dbx-main SSO contract — no session writes, next passthrough, 8h max-age 2026-05-24 05:46:51 +09:00
king c966d41628 feat: SSO via shared session with dbx-main, sub-path hosting at /orderlist 2026-05-24 05:35:19 +09:00
king 54707c99a3 초기 커밋: Docker/PostgreSQL 이관, 구글 OAuth 제거, Gitea 푸시 스크립트 추가 2026-05-24 03:07:53 +09:00