2026-07-11 Ruga 작업일지입니다. 오늘은 3건의 작업을 진행했습니다.
admin 인증 환경변수
현상/기능
- `adapterFn is not a function` (Next.js 16.2.10 Turbopack proxy 런타임 오류)
현상/기능
- 첨부파일 다중 등록·원본 파일명 다운로드 / 신규 등록 시 첨부 반복 추가 불가 / 저장 validation·신규 만료일 기본값
현상/기능
- 공지사항을 공지·안내로 구분
작업
- 원인: 의 destructuring export·wrapper 패턴이 Turbopack Node proxy 어댑터와 맞지 않음. proxy lazy compile 시 `default` export가 비어 adapterFn 호출 실패
- 소스
- `export async function proxy(request)` + Edge 전용 `NextAuth(authConfig)` 호출로 변경
- `secret`, `trustHost` 추가, Edge import 제거(리다이렉트 경로 상수화)
- secret/trustHost 중복 제거(auth.config 공유)
- 소스: — 저장 전 제목·본문 alert, 만료일 confirm, 신규 만료일 오늘+1달
- DB: `hospital_notices.notice_type` (`NOTICE`/`GUIDE`), `scripts/`
- 소스: , , , public notices API
- 소스: , , `api/notices/files/[id]/`, (`bodySizeLimit: 100mb`)
페이지
현상/기능
- NextAuth `MissingSecret` 콘솔 오류
현상/기능
- Runtime `adapterFn is not a function` 오류
작업
- 소스 기능: 생성 — `AUTH_SECRET`, DB 접속, `서버 설정` 설정. Next.js는 `apps/admin` 폴더의 env만 로드하므로 루트 만으로는 admin 인증 secret이 적용되지 않음
- 소스 기능: — Edge Proxy는 DB/bcrypt가 포함된 `@/auth` 대신 만으로 NextAuth 초기화하도록 변경 (Auth.js v5 Edge 호환 패턴)
루트 통합 dev 실행
현상/기능
- `npm run dev` 하나로 3000, 3001을 같이 실행
현상/기능
- `sp_hospital_public_count_notices does not exist` 공지 API 500 오류
현상/기능
- admin bcrypt 해시 평문 확인 요청 → `123456`으로 재설정
현상/기능
- 로그인 후 공지사항 먼저, 메뉴 순서·「이미지 관리」 명칭 변경
현상/기능
- 로그인 가능 사용자는 모두 admin — ADMIN 역할 구분 제거
현상/기능
- 공지 신규 버튼 클릭 시 제목 포커스, 삭제는 soft delete
작업
- 소스 기능: 루트 `dev` 스크립트(`concurrently`) 추가, web 포트 3000·admin 포트 3001 고정, 에 `API_BASE_URL=http://로컬 화면` 설정, admin auth URL 3001로 동기화
- 소스 기능: 추가 — 공개 공지 API용 프로시저를 MariaDB `ruga` DB에 생성
- 소스 기능: 없음 (DB 직접 UPDATE, bcrypt rounds 12)
- 소스 기능: 메뉴 순서(공지사항→이미지 관리→사용자), `getAdminHomePath` 추가, 로그인·루트·auth 리다이렉트를 `/admin/notices`(ADMIN)로 변경, 이미지 페이지 제목 「이미지 관리」로 변경
- 소스 기능: 메뉴·페이지·proxy·서버 액션에서 `isHospitalAdmin`/ADMIN 전용 가드 제거. 로그인 사용자 전원 공지·이미지·사용자 메뉴 접근. 역할 표시는 항상 「관리자」
- 소스 기능: 제목 포커스, `deleteHospitalNotice` 물리 삭제·첨부파일 삭제 제거, 추가