Skip to content

Commit 86e0447

Browse files
authored
⚡ slack 직접 쏘는 대신 와닷api 적용 (#76)
@minkyu97 이 유저정보 API를 뚫어줘서, 이 api 이용합니다. 참고: https://wafflestudio.slack.com/archives/C06H0PJPDNH/p1720256977566729?thread_ts=1707317300.593519&cid=C06H0PJPDNH
1 parent 1f80d32 commit 86e0447

6 files changed

Lines changed: 33 additions & 61 deletions

File tree

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@
2121
"dependencies": {
2222
"express": "4.19.2",
2323
"octokit": "4.0.2",
24-
"openai": "4.52.1",
25-
"p-limit": "5.0.0"
24+
"openai": "4.52.1"
2625
},
2726
"devDependencies": {
2827
"@types/express": "4.17.21",

src/infrastructures/implementMemberSlackRepository.ts

Lines changed: 0 additions & 48 deletions
This file was deleted.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import { Member } from '../entities/Member';
2+
3+
/*
4+
* API
5+
* @see https://wafflestudio.slack.com/archives/C06H0PJPDNH/p1720256977566729?thread_ts=1707317300.593519&cid=C06H0PJPDNH
6+
*/
7+
export const implementMemberWaffleDotComRepository = (): {
8+
getAllMembers: () => Promise<{ members: Member[] }>;
9+
} => {
10+
return {
11+
getAllMembers: async () => {
12+
const users = await fetch('https://wadot-api.wafflestudio.com/api/v1/users', {
13+
method: 'GET',
14+
}).then((res) => res.json() as Promise<{ github_id: string; slack_id: string }[]>);
15+
16+
return {
17+
members: users.map((user) => ({ slackUserId: user.slack_id, githubUsername: user.github_id })),
18+
};
19+
},
20+
};
21+
};

src/server.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import dotenv from 'dotenv';
22
import express from 'express';
33

44
import { implementGitHubDeployWebhookController } from './infrastructures/implementGitHubDeployWebhookController';
5-
import { implementMemberSlackRepository } from './infrastructures/implementMemberSlackRepository';
5+
import { implementMemberWaffleDotComRepository } from './infrastructures/implementMemberWaffleDotComRepository';
66
import { implementOpenAiSummarizeRepository } from './infrastructures/implementOpenAiSummarizeRepository';
77
import { implementSlackPresenter } from './infrastructures/implementSlackPresenter';
88
import { implementDeploymentService } from './services/GithubDeploymentService';
@@ -46,7 +46,7 @@ const deployWebhookController = implementGitHubDeployWebhookController({
4646
channelId: deployWatcherChannelId,
4747
}),
4848
summarizeLLMRepository: implementOpenAiSummarizeRepository({ openaiApiKey }),
49-
memberRepository: implementMemberSlackRepository({ slackAuthToken }),
49+
memberRepository: implementMemberWaffleDotComRepository(),
5050
}),
5151
});
5252

src/weekly-dashboard.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import dotenv from 'dotenv';
22

33
import { implementGithubOctokitRepository } from './infrastructures/implementGithubOctokitRepository';
4-
import { implementMemberSlackRepository } from './infrastructures/implementMemberSlackRepository';
4+
import { implementMemberWaffleDotComRepository } from './infrastructures/implementMemberWaffleDotComRepository';
55
import { implementSlackPresenter } from './infrastructures/implementSlackPresenter';
66
import { implementDashboardService } from './services/DashboardService';
77

@@ -29,7 +29,7 @@ if (!githubOrganization) throw new Error('Missing Github Organization');
2929
const dashboardService = implementDashboardService({
3030
githubApiRepository: implementGithubOctokitRepository({ githubAuthToken: githubAccessToken }),
3131
messengerPresenter: implementSlackPresenter({ slackAuthToken, channelId: slackWeeklyChannelId }),
32-
memberRepository: implementMemberSlackRepository({ slackAuthToken }),
32+
memberRepository: implementMemberWaffleDotComRepository(),
3333
});
3434

3535
dashboardService.sendWeeklyDashboard(githubOrganization).catch(console.error);

yarn.lock

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1901,20 +1901,20 @@ optionator@^0.9.3:
19011901
type-check "^0.4.0"
19021902
word-wrap "^1.2.5"
19031903

1904-
p-limit@5.0.0, p-limit@^5.0.0:
1905-
version "5.0.0"
1906-
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-5.0.0.tgz#6946d5b7140b649b7a33a027d89b4c625b3a5985"
1907-
integrity sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==
1908-
dependencies:
1909-
yocto-queue "^1.0.0"
1910-
19111904
p-limit@^3.0.2:
19121905
version "3.1.0"
19131906
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
19141907
integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
19151908
dependencies:
19161909
yocto-queue "^0.1.0"
19171910

1911+
p-limit@^5.0.0:
1912+
version "5.0.0"
1913+
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-5.0.0.tgz#6946d5b7140b649b7a33a027d89b4c625b3a5985"
1914+
integrity sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==
1915+
dependencies:
1916+
yocto-queue "^1.0.0"
1917+
19181918
p-locate@^5.0.0:
19191919
version "5.0.0"
19201920
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"

0 commit comments

Comments
 (0)