Skip to content

Commit 5619021

Browse files
committed
docs: 외부 서비스 통합 문서 수정 (Microsoft 생태계 중심으로 개편)
1 parent ef16aa9 commit 5619021

1 file changed

Lines changed: 12 additions & 55 deletions

File tree

docs/v2_FINANCIAL-LEDGER/modules/02-integrations.md

Lines changed: 12 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,10 @@ packages/core/integrations/
2929
│ ├── sheets.ts
3030
│ ├── gmail.ts
3131
│ └── tasks.ts
32-
├── notion/
33-
│ └── index.ts
34-
├── slack/
35-
│ └── index.ts
36-
├── github/
37-
│ └── index.ts
32+
├── microsoft/
33+
│ ├── calendar.ts
34+
│ ├── onedrive.ts
35+
│ └── todo.ts
3836
└── webhook.ts # 커스텀 Webhook
3937
```
4038

@@ -108,49 +106,16 @@ listEmails 메서드는 선택사항인 검색 키워드와 최대 조회 건수
108106

109107
---
110108

111-
## Notion 통합
112-
113-
Notion 클래스는 Notion API와의 통합을 담당합니다.
114-
115-
authenticate 메서드는 API 키를 받아 Notion 클라이언트를 초기화합니다.
116-
117-
createPage 메서드는 데이터베이스 ID와 속성 정보를 받아 해당 데이터베이스 안에 새 페이지를 생성합니다.
118-
119-
updatePage 메서드는 페이지 ID와 속성 정보로 기존 페이지를 수정합니다.
120-
121-
queryDatabase 메서드는 데이터베이스 ID와 선택사항인 필터 조건으로 데이터베이스를 조회합니다.
122-
123-
appendBlock 메서드는 페이지 ID와 블록 배열을 받아 해당 페이지에 콘텐츠 블록을 추가합니다.
124-
125-
---
126-
127-
## Slack 통합
128-
129-
Slack 클래스는 Slack API와의 통합을 담당합니다.
130-
131-
authenticate 메서드는 토큰을 받아 Slack WebClient를 초기화합니다.
132-
133-
sendMessage 메서드는 채널, 텍스트, 선택사항인 블록 배열을 받아 해당 채널에 메시지를 전송합니다. blocks를 사용하면 리치 메시지(예: 섹션, 버튼 등)를 구성할 수 있습니다.
134-
135-
uploadFile 메서드는 채널, 파일 버퍼, 파일명을 받아 해당 채널에 파일을 업로드합니다.
136-
137-
listChannels 메서드는 워크스페이스의 채널 목록을 조회합니다.
138-
139-
---
140-
141-
## GitHub 통합
142-
143-
GitHub 클래스는 GitHub API와의 통합을 담당합니다.
144-
145-
authenticate 메서드는 토큰을 받아 Octokit 클라이언트를 초기화합니다.
109+
## Microsoft 서비스 통합 (예정)
146110

147-
createIssue 메서드는 저장소 소유자, 저장소명, 제목, 본문을 받아 해당 저장소에 이슈를 생성합니다.
111+
### Outlook Calendar
112+
MicrosoftCalendar 클래스와 연동하여 `GoogleCalendar`와 완벽히 1:1로 대응되는 API 구조를 제공합니다. 모듈 개발자는 구글이든 마소든 동일한 `createEvent` 인터페이스를 사용할 수 있도록 추상화될 예정입니다.
148113

149-
listIssues 메서드는 저장소 소유자, 저장소명, 상태 필터(open·closed·all, 기본값 open)를 받아 이슈 목록을 조회합니다.
114+
### OneDrive
115+
MicrosoftDrive 클래스와 연동하여 가계부 백업 파일 등을 업로드하거나 다운로드하는 기능을 제공합니다.
150116

151-
createGist 메서드는 설명과 파일 정보를 받아 비공개 Gist를 생성합니다.
152-
153-
---
117+
### Microsoft To Do
118+
일정 예약이나 가계부 리마인더 등을 Microsoft To Do의 태스크로 생성합니다.
154119

155120
## 커스텀 Webhook
156121

@@ -175,7 +140,7 @@ get 메서드는 서비스 이름으로 해당 Integration 객체를 조회합
175140

176141
authenticate 메서드는 서비스 이름과 자격증명을 받아, 해당 서비스를 먼저 조회한 후 인증을 실행합니다. 해당 서비스가 없으면 에러를 발생시킵니다.
177142

178-
마지막에서 전역 인스턴스를 생성하고, GoogleCalendar, GoogleDrive, GoogleSheets, Gmail, Notion, Slack, GitHub의 7개 통합 서비스를 기본으로 등록합니다.
143+
마지막에서 전역 인스턴스를 생성하고, `GoogleCalendar`, `GoogleDrive`, `GoogleSheets`, `Gmail`, `MicrosoftCalendar` 등의 통합 서비스를 기본으로 등록합니다.
179144

180145
---
181146

@@ -280,14 +245,6 @@ syncSubscriptionToCalendar 함수는 구독 정보를 Google Calendar에 동기
280245
281246
Scheduler에 'backup-to-drive' 작업을 등록합니다. 매일 새벽 3시에 실행되며, 총 4단계로 진행됩니다. 첫째로 데이터베이스 백업 파일을 생성합니다. 둘째로 Google Drive 통합이 인증되었는지 확인하고, 안 된 경우 로컬 백업만 유지하고 종료합니다. 셋째로 백업 파일을 읽어 Google Drive에 업로드합니다. 파일명에는 현재 타임스탬프를 포함시킵니다. 넷째로 업로드 완료 후 로컬 백업 파일을 선택적으로 삭제합니다.
282247

283-
### 3. 리포트 → Slack 알림
284-
285-
sendMonthlyReport 함수는 월간 리포트를 Slack으로 전송합니다. 먼저 월간 리포트를 생성합니다. 그 다음 Slack 통합이 인증되었는지 확인하고, 안 된 경우 경고를 로깅하고 종료합니다. 인증된 경우 #finance-reports 채널에 메시지를 전송합니다. 메시지의 제목은 '월간 가계부 리포트'이며, blocks를 사용하여 해당 월의 총 수입과 총 지출을 리치 형식으로 표시합니다.
286-
287-
### 4. 이슈 → GitHub 자동 생성
288-
289-
reportCriticalError 함수는 심각한 에러가 발생하면 GitHub에 이슈를 자동으로 생성합니다. 먼저 GitHub 통합이 인증되었는지 확인하고, 안 된 경우 에러를 로깅하고 종료합니다. 인증된 경우 finance-system 저장소에 이슈를 생성합니다. 이슈의 제목에는 [AUTO] 접두사와 에러 메시지를 붙이고, 본문에는 에러의 스택 트레이스와 관련 컨텍스트 정보를 JSON 형식으로 포함시킵니다.
290-
291248
---
292249

293250
## 📚 관련 문서

0 commit comments

Comments
 (0)