chpark
6a1b79dc81
Build and Push Images / build-and-push (push) Has been cancelled
feat(file-reader): CSV/TXT/Excel 파일 데이터 소스 — UI 업로드 + 폴더 감시 + 매핑 + 적재
- 신규 테이블 file_reader_configs / file_reader_mappings / file_reader_history (마이그레이션 313)
- 파서: csv-parse + xlsx 라이브러리 추가, CSV/TSV/TXT/XLSX 통합 파서 (parsers.ts)
- 서비스: 파일→매핑→타겟 DB INSERT/UPSERT/REPLACE, 호스트 경로 허용 루트 검증
- 스케줄러: source_mode='watch' 설정마다 node-cron 등록, 1분 주기 reload
- 라우트: /api/file-reader/configs CRUD + preview + run-upload + run-watch + history
- 프론트: 데이터 소스 페이지 "파일 리더" 탭 placeholder → FileReaderConnectionList 컴포넌트
- FileReaderConnectionModal: 기본/파싱/타겟/매핑 통합 폼 + 샘플 업로드 미리보기
- 환경변수 FILE_READER_ALLOWED_ROOTS (콤마 구분, 기본 /home/wace/file-imports,/mnt)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 15:38:10 +09:00
..
2026-04-20 12:14:50 +09:00
2026-03-07 03:02:36 +09:00
2026-03-12 05:14:27 +09:00
2026-04-23 20:00:06 +09:00
2026-03-04 20:51:00 +09:00
2026-04-20 12:14:50 +09:00
2025-12-04 17:26:29 +09:00
2025-12-10 15:59:04 +09:00
2025-12-10 15:59:04 +09:00
2025-12-10 15:59:04 +09:00
2025-12-10 15:59:04 +09:00
2025-12-18 14:12:48 +09:00
2026-03-04 13:49:08 +09:00
2025-12-18 14:12:48 +09:00
2026-04-23 20:00:06 +09:00
2026-04-22 17:38:53 +09:00
2025-09-26 01:28:51 +09:00
2025-09-24 10:04:25 +09:00
2025-12-23 09:31:18 +09:00
2025-10-02 17:14:08 +09:00
2025-12-01 11:07:35 +09:00
2026-02-10 10:06:53 +09:00
2025-09-19 15:47:35 +09:00
2025-09-26 17:11:18 +09:00
2025-10-28 10:07:07 +09:00
2025-11-03 17:28:12 +09:00
2026-03-19 15:08:31 +09:00
2025-11-25 13:55:00 +09:00
2025-12-01 19:03:43 +09:00
2026-01-09 15:46:09 +09:00
2026-01-16 11:10:41 +09:00
2025-09-21 09:53:05 +09:00
2026-04-23 20:00:06 +09:00
2026-01-08 11:45:39 +09:00
2025-10-02 17:28:52 +09:00
2025-09-26 17:11:18 +09:00
2025-11-28 11:35:36 +09:00
2025-12-08 10:23:54 +09:00
2026-02-06 16:23:38 +09:00
2026-05-13 15:38:10 +09:00
2026-04-23 20:00:06 +09:00
2026-03-03 14:33:17 +09:00
2025-10-20 17:50:27 +09:00
2025-09-29 13:29:03 +09:00
2025-09-10 18:36:28 +09:00
2025-11-28 11:34:48 +09:00
2026-03-30 17:01:26 +09:00
2026-03-12 09:00:52 +09:00
2026-03-09 13:15:41 +09:00
2025-09-26 01:28:51 +09:00
2026-01-14 10:20:27 +09:00
2026-03-05 19:17:35 +09:00
2025-10-02 16:43:40 +09:00
2025-12-31 10:54:07 +09:00
2026-03-12 16:07:13 +09:00
2025-10-27 18:33:15 +09:00
2026-04-03 17:38:14 +09:00
2026-03-25 10:48:47 +09:00
2026-04-23 20:00:06 +09:00
2026-02-02 18:01:05 +09:00
2026-03-20 13:46:30 +09:00
2026-03-23 20:39:07 +09:00
2026-03-31 14:34:43 +09:00
2026-03-12 18:47:42 +09:00
2025-10-27 16:40:59 +09:00
2026-03-04 21:09:55 +09:00
2025-11-27 12:08:32 +09:00
2025-09-26 17:12:03 +09:00
2026-03-04 21:09:55 +09:00
2026-03-19 15:08:31 +09:00
2026-04-07 17:29:03 +09:00
2026-03-05 18:49:33 +09:00
2026-04-10 14:17:35 +09:00
2025-10-27 11:11:08 +09:00
2026-03-11 14:16:50 +09:00
2025-12-17 12:01:16 +09:00
2025-12-08 16:18:44 +09:00
2026-01-28 17:36:19 +09:00
2026-03-30 17:17:20 +09:00
2026-03-09 14:31:59 +09:00
2026-04-01 12:12:15 +09:00
2025-10-20 09:53:31 +09:00