Skip to content

Commit 45f6ef2

Browse files
authored
Merge pull request #20 from moneyforward/change-message-ephemeral
Change message ephemeral
2 parents 0afc4cb + 3d57594 commit 45f6ef2

File tree

4 files changed

+41
-37
lines changed

4 files changed

+41
-37
lines changed

.github/workflows/validate-goreleaser.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ jobs:
1515
with:
1616
go-version: 1.17
1717
- name: Validate .goreleaser.yml
18-
uses: goreleaser/goreleaser-action@v3
18+
uses: goreleaser/goreleaser-action@v6
1919
with:
2020
version: latest
21-
args: release --snapshot --skip-publish --rm-dist --debug
21+
args: release --snapshot --skip=publish --clean --verbose
2222
env:
2323
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.goreleaser.yml renamed to .goreleaser.yaml

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
version: 2
12
project_name: auriga
23
before:
34
hooks:
@@ -6,22 +7,19 @@ builds:
67
- main: ./app/cmd
78
binary: auriga
89
env:
9-
- CGO_ENABLED=0
10+
- CGO_ENABLED=0
1011
goos:
1112
- linux
12-
- windows
1313
- darwin
1414
archives:
15-
- name_template: '{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
16-
replacements:
17-
darwin: darwin
18-
linux: linux
19-
windows: windows
20-
386: i386
21-
amd64: x86_64
22-
format_overrides:
23-
- goos: windows
24-
format: zip
15+
- format: tar.gz
16+
name_template: >-
17+
{{ .ProjectName }}_
18+
{{- title .Os }}_
19+
{{- if eq .Arch "amd64" }}x86_64
20+
{{- else if eq .Arch "386" }}i386
21+
{{- else }}{{ .Arch }}{{ end }}
22+
{{- if .Arm }}v{{ .Arm }}{{ end }}
2523
files:
2624
- docs/*
2725
- README.md

app/internal/domain/service/slack_response.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,14 +57,14 @@ const (
5757
// postEmailList method posts emailList using slack postMessageAPI.
5858
// The chunkedLines are generated and requested for each chunk,
5959
// because of considering the limit the number of characters of slackAPI.
60-
func (s *slackResponseService) postEmailList(ctx context.Context, channelID string, emails []*model.SlackUserEmail, ts string) error {
60+
func (s *slackResponseService) postEmailList(ctx context.Context, channelID string, emails []*model.SlackUserEmail, ts string, userID string) error {
6161
lines := append(make([]string, 0, len(emails)+1), "参加者一覧")
6262
for _, email := range emails {
6363
lines = append(lines, email.Email)
6464
}
6565
chunkedLines := slice.SplitStringSliceInChunks(lines, lineSizeOfPostEmailList)
6666
for _, chunkedLine := range chunkedLines {
67-
err := s.slackRepository.PostMessage(ctx, channelID, strings.Join(chunkedLine, "\n"), ts)
67+
err := s.slackRepository.PostEphemeral(ctx, channelID, strings.Join(chunkedLine, "\n"), ts, userID)
6868
if err != nil {
6969
return err
7070
}
@@ -79,10 +79,10 @@ func (s *slackResponseService) ReplyEmailList(ctx context.Context, event *slacke
7979
for _, email := range emails {
8080
b.WriteString("\n" + email.Email)
8181
}
82-
return s.slackRepository.PostMessage(ctx, event.Channel, b.String(), event.ThreadTimeStamp)
82+
return s.slackRepository.PostEphemeral(ctx, event.Channel, b.String(), event.ThreadTimeStamp, event.User)
8383
}
8484

85-
return s.postEmailList(ctx, event.Channel, emails, event.ThreadTimeStamp)
85+
return s.postEmailList(ctx, event.Channel, emails, event.ThreadTimeStamp, event.User)
8686
}
8787

8888
func (s *slackResponseService) ReplyError(ctx context.Context, event *slackevents.AppMentionEvent, err error) error {
@@ -95,8 +95,8 @@ func (s *slackResponseService) ReplyError(ctx context.Context, event *slackevent
9595
}
9696
if s.errorRepository.ErrUserNotFound(err) {
9797
msg += "参加者はいないようです:neko_namida:"
98-
return s.slackRepository.PostMessage(
99-
ctx, event.Channel, msg, event.ThreadTimeStamp,
98+
return s.slackRepository.PostEphemeral(
99+
ctx, event.Channel, msg, event.ThreadTimeStamp, event.User,
100100
)
101101
}
102102
return err

app/internal/domain/service/slack_response_test.go

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ func Test_slackResponseService_postEmailList(t *testing.T) {
6262
emails []*model.SlackUserEmail
6363
cid string
6464
ts string
65+
userID string
6566
}
6667
tests := []struct {
6768
name string
@@ -75,11 +76,12 @@ func Test_slackResponseService_postEmailList(t *testing.T) {
7576
emails: createEmails(0, 1),
7677
ts: "ts",
7778
cid: "cid",
79+
userID: "sampleUser",
7880
},
7981
prepare: func(msr *mock_repository.MockSlackRepository) {
8082
gomock.InOrder(
81-
msr.EXPECT().PostMessage(
82-
gomock.Any(), "cid", createMessage("参加者一覧", createEmails(0, 1)), "ts").
83+
msr.EXPECT().PostEphemeral(
84+
gomock.Any(), "cid", createMessage("参加者一覧", createEmails(0, 1)), "ts", "sampleUser").
8385
Return(nil),
8486
)
8587
},
@@ -90,11 +92,12 @@ func Test_slackResponseService_postEmailList(t *testing.T) {
9092
emails: createEmails(0, lineSizeOfPostEmailList-1),
9193
ts: "ts",
9294
cid: "cid",
95+
userID: "sampleUser",
9396
},
9497
prepare: func(msr *mock_repository.MockSlackRepository) {
9598
gomock.InOrder(
96-
msr.EXPECT().PostMessage(
97-
gomock.Any(), "cid", createMessage("参加者一覧", createEmails(0, lineSizeOfPostEmailList-1)), "ts").
99+
msr.EXPECT().PostEphemeral(
100+
gomock.Any(), "cid", createMessage("参加者一覧", createEmails(0, lineSizeOfPostEmailList-1)), "ts", "sampleUser").
98101
Return(nil),
99102
)
100103
},
@@ -105,14 +108,15 @@ func Test_slackResponseService_postEmailList(t *testing.T) {
105108
emails: createEmails(0, lineSizeOfPostEmailList),
106109
ts: "ts",
107110
cid: "cid",
111+
userID: "sampleUser",
108112
},
109113
prepare: func(msr *mock_repository.MockSlackRepository) {
110114
gomock.InOrder(
111-
msr.EXPECT().PostMessage(
112-
gomock.Any(), "cid", createMessage("参加者一覧", createEmails(0, lineSizeOfPostEmailList-1)), "ts").
115+
msr.EXPECT().PostEphemeral(
116+
gomock.Any(), "cid", createMessage("参加者一覧", createEmails(0, lineSizeOfPostEmailList-1)), "ts", "sampleUser").
113117
Return(nil),
114-
msr.EXPECT().PostMessage(
115-
gomock.Any(), "cid", createMessage("", createEmails(lineSizeOfPostEmailList-1, 1)), "ts").
118+
msr.EXPECT().PostEphemeral(
119+
gomock.Any(), "cid", createMessage("", createEmails(lineSizeOfPostEmailList-1, 1)), "ts", "sampleUser").
116120
Return(nil),
117121
)
118122
},
@@ -132,7 +136,7 @@ func Test_slackResponseService_postEmailList(t *testing.T) {
132136
slackRepository: msr,
133137
errorRepository: mer,
134138
}
135-
if err := s.postEmailList(ctx, tt.args.cid, tt.args.emails, tt.args.ts); (err != nil) != tt.wantErr {
139+
if err := s.postEmailList(ctx, tt.args.cid, tt.args.emails, tt.args.ts, tt.args.userID); (err != nil) != tt.wantErr {
136140
t.Errorf("postEmailList() error = %v, wantErr %v", err, tt.wantErr)
137141
}
138142
})
@@ -156,16 +160,17 @@ func Test_slackErrorResponseService_ReplyEmailList(t *testing.T) {
156160
event: &slackevents.AppMentionEvent{
157161
Channel: "sampleChannel",
158162
ThreadTimeStamp: "sampleThreadTimeStamp",
163+
User: "sampleUser",
159164
},
160165
emails: []*model.SlackUserEmail{
161166
{Email: "sample01@example.com"},
162167
{Email: "sample02@example.com"},
163168
},
164169
},
165170
prepare: func(msr *mock_repository.MockSlackRepository) {
166-
msr.EXPECT().PostMessage(gomock.Any(), "sampleChannel",
171+
msr.EXPECT().PostEphemeral(gomock.Any(), "sampleChannel",
167172
"参加者一覧\nsample01@example.com\nsample02@example.com",
168-
"sampleThreadTimeStamp").Return(nil)
173+
"sampleThreadTimeStamp", "sampleUser").Return(nil)
169174
},
170175
},
171176
{
@@ -174,16 +179,17 @@ func Test_slackErrorResponseService_ReplyEmailList(t *testing.T) {
174179
event: &slackevents.AppMentionEvent{
175180
Channel: "sampleChannel",
176181
ThreadTimeStamp: "sampleThreadTimeStamp",
182+
User: "sampleUser",
177183
},
178184
emails: []*model.SlackUserEmail{
179185
{Email: "sample01@example.com"},
180186
{Email: "sample02@example.com"},
181187
},
182188
},
183189
prepare: func(msr *mock_repository.MockSlackRepository) {
184-
msr.EXPECT().PostMessage(gomock.Any(), "sampleChannel",
190+
msr.EXPECT().PostEphemeral(gomock.Any(), "sampleChannel",
185191
"参加者一覧\nsample01@example.com\nsample02@example.com",
186-
"sampleThreadTimeStamp").Return(errors.New("sample error"))
192+
"sampleThreadTimeStamp", "sampleUser").Return(errors.New("sample error"))
187193
},
188194
wantErr: true,
189195
},
@@ -252,9 +258,9 @@ func Test_slackErrorResponseService_ReplyError(t *testing.T) {
252258
gomock.InOrder(
253259
mer.EXPECT().ErrThreadNotFound(errors.New("user_not_found")).Return(false),
254260
mer.EXPECT().ErrUserNotFound(errors.New("user_not_found")).Return(true),
255-
msr.EXPECT().PostMessage(gomock.Any(), "sampleChannel",
261+
msr.EXPECT().PostEphemeral(gomock.Any(), "sampleChannel",
256262
"参加者はいないようです:neko_namida:",
257-
"sampleThreadTimeStamp").Return(nil),
263+
"sampleThreadTimeStamp", "sampleUser").Return(nil),
258264
)
259265
},
260266
},
@@ -292,9 +298,9 @@ func Test_slackErrorResponseService_ReplyError(t *testing.T) {
292298
gomock.InOrder(
293299
mer.EXPECT().ErrThreadNotFound(errors.New("user_not_found")).Return(false),
294300
mer.EXPECT().ErrUserNotFound(errors.New("user_not_found")).Return(true),
295-
msr.EXPECT().PostMessage(gomock.Any(), "sampleChannel",
301+
msr.EXPECT().PostEphemeral(gomock.Any(), "sampleChannel",
296302
"参加者はいないようです:neko_namida:",
297-
"sampleThreadTimeStamp").Return(errors.New("sample_error")),
303+
"sampleThreadTimeStamp", "sampleUser").Return(errors.New("sample_error")),
298304
)
299305
},
300306
wantErr: true,

0 commit comments

Comments
 (0)