77 lines
2.3 KiB
Markdown
77 lines
2.3 KiB
Markdown
# Repository API Report
|
|
|
|
이 문서는 각 리포지토리 모듈의 공개 API 명세를 정리합니다. 모든 서비스 레이어는 여기에 명시된 함수 시그니처를 따라야 합니다. `uid`는 어댑터 레이어에서 자동으로 주입되므로 서비스 레이어에서 전달해서는 안 됩니다.
|
|
|
|
---
|
|
|
|
### Session Repository
|
|
**Path:** `src/common/repositories/session/`
|
|
|
|
- `getById(id: string)`
|
|
- `create(type: 'ask' | 'listen' = 'ask')`
|
|
- `getAllByUserId()`
|
|
- `updateTitle(id: string, title: string)`
|
|
- `deleteWithRelatedData(id:string)`
|
|
- `end(id: string)`
|
|
- `updateType(id: string, type: 'ask' | 'listen')`
|
|
- `touch(id: string)`
|
|
- `getOrCreateActive(requestedType: 'ask' | 'listen' = 'ask')`
|
|
- `endAllActiveSessions()`
|
|
|
|
---
|
|
|
|
### User Repository
|
|
**Path:** `src/common/repositories/user/`
|
|
|
|
- `findOrCreate(user: object)`
|
|
- `getById()`
|
|
- `saveApiKey(apiKey: string, provider: string)`
|
|
- `update(updateData: object)`
|
|
- `deleteById()`
|
|
|
|
---
|
|
|
|
### Preset Repository
|
|
**Path:** `src/common/repositories/preset/`
|
|
|
|
- `getPresets()`
|
|
- `getPresetTemplates()`
|
|
- `create(options: { title: string, prompt: string })`
|
|
- `update(id: string, options: { title: string, prompt: string })`
|
|
- `delete(id: string)`
|
|
|
|
---
|
|
|
|
### Ask Repository (AI Messages)
|
|
**Path:** `src/features/ask/repositories/`
|
|
|
|
- `addAiMessage(options: { sessionId: string, role: string, content: string, model?: string })`
|
|
- `getAllAiMessagesBySessionId(sessionId: string)`
|
|
|
|
---
|
|
|
|
### STT Repository (Transcripts)
|
|
**Path:** `src/features/listen/stt/repositories/`
|
|
|
|
- `addTranscript(options: { sessionId: string, speaker: string, text: string })`
|
|
- `getAllTranscriptsBySessionId(sessionId: string)`
|
|
|
|
---
|
|
|
|
### Summary Repository
|
|
**Path:** `src/features/listen/summary/repositories/`
|
|
|
|
- `saveSummary(options: { sessionId: string, tldr: string, text: string, bullet_json: string, action_json: string, model?: string })`
|
|
- `getSummaryBySessionId(sessionId: string)`
|
|
|
|
---
|
|
|
|
### Settings Repository (Presets)
|
|
**Path:** `src/features/settings/repositories/`
|
|
*(Note: This is largely a duplicate of the main Preset Repository and might be a candidate for future refactoring.)*
|
|
|
|
- `getPresets()`
|
|
- `getPresetTemplates()`
|
|
- `createPreset(options: { title: string, prompt: string })`
|
|
- `updatePreset(id: string, options: { title: string, prompt: string })`
|
|
- `deletePreset(id: string)` |