/
transfer.go
44 lines (37 loc) · 1.04 KB
/
transfer.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package transfer
import (
tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"
"github.com/gonozov0/weddingtgbot/internal/commands"
"github.com/gonozov0/weddingtgbot/internal/commands/user/shared"
"github.com/gonozov0/weddingtgbot/internal/repository/s3"
"github.com/gonozov0/weddingtgbot/pkg/logger"
)
type DTO struct {
TgID int64
ChatID int64
Command string
}
func Do(bot *tgbotapi.BotAPI, s3Repo *s3.Repository, dto DTO) *logger.SlogError {
anws, err := s3Repo.GetAnswers(dto.TgID)
if err != nil {
return err
}
var needTransfer string
switch dto.Command {
case commands.TransferNotNeeded:
needTransfer = "No"
case commands.RostovTransferNeeded:
needTransfer = "Rostov"
}
anws.NeedTransfer = needTransfer
err = s3Repo.SaveAnswers(*anws)
if err != nil {
return err
}
msg := tgbotapi.NewMessage(dto.ChatID, shared.WishesMessage)
msg.ReplyMarkup = tgbotapi.ForceReply{ForceReply: true, Selective: true}
if _, err := bot.Send(msg); err != nil {
return logger.NewSlogError(err, "error sending message")
}
return nil
}