feat: 스니펫 공용화 — 서버 PostgreSQL 테이블 + API, 프론트는 브릿지 대신 HTTP

결정(9/21): 공용 하나, 개인 로컬 없음.
- backend apps/snippets: Snippet(name PK·desc·body·category) + SnippetUsage(사람별 count/last_used).
  GET/POST /api/v1/snippets, PUT/DELETE /snippets/{name}, POST /snippets/{name}/use — 옛 브릿지 5개와 1:1,
  이름 정규화·중복 409·빈 내용 400 규칙 동일. import_snippets 커맨드로 옛 snippets.db 적재. 테스트 3개
- frontend snippets.api.ts 만 HTTP 로 교체(훅·페이지·타입 무변경). 테스트 axios-mock-adapter 로
- ponytail: Tauri 로컬 SQLite 커맨드는 미사용 상태로 남김. 지울 때 Rust+브릿지 테스트 함께

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
lee-hyeon-cheol
2026-09-21 16:06:14 +09:00
co-authored by Claude Fable 5.1
parent df5feaad3a
commit 2e7bae4c06
17 changed files with 322 additions and 72 deletions
+1 -1
View File
@@ -25,4 +25,4 @@
- [ ] 보낸 이미지가 재진입 시 사라짐 — ChatMessage 는 content(텍스트)만 저장, 이미지는 OpenCode 로만 넘김. 서버 파일로 저장하고 경로를 메시지에 붙여 조회 API 가 같이 돌려주게. 프론트 Message 렌더 포함, 반나절.
- [x] 9/21 고객사 -12: SAP MCP 별도 기동(도구 6개), PostgreSQL 전환(외부 PG, 스키마 codeassist, sslmode=disable 임시 → env 화 패치 예정)
- [ ] -12 코드 최신화 — stats 앱·타임아웃 env·sslmode env·MCP 템플릿. 패치 zip 으로. 앱은 재빌드·재설치(로고 제거·삼성 팔레트·Esc 중단·관리자 화면)
- [ ] **스니펫 공용화(결정 9/21: 공용 PostgreSQL 하나, 개인 로컬 없음)** — backend `snippets` 앱(모델·CRUD·143 import), 프론트 훅을 API 로, Tauri 로컬 snippets.db 코드 제거. 시드는 `../CODE_ASSISTANT_DB/snippets.db`(143건). 10월 초, 1.5일
- [x] **스니펫 공용화** (9/21) — backend `apps/snippets` + 프론트 api 교체. 시드 143 import. ponytail: Tauri 로컬 SQLite 커맨드(`snippets_*``snippetBridge.ts` 는 이제 안 쓰지만 남김 — 지울 때 Rust·브릿지 테스트 같이. 고객사: 패치 zip + `migrate` + `import_snippets`