Migration to Tongo, new logic for user storage #3

Merged
nefrace merged 19 commits from tongo into master 2023-09-10 13:10:33 +03:00
1 changed files with 10 additions and 8 deletions
Showing only changes of commit 1c4a0adb61 - Show all commits

View File

@ -55,14 +55,16 @@ func (b *Kicker) NewBot(chatID int64) echotron.Bot {
store := tongo.NewStore[db.Chat](Client)
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
chat := db.Chat{
Item: tongo.NewID(),
ChatId: chatID,
Title: "",
TopicId: 0,
}
if _, err := store.GetOne(ctx, tongo.E("chat_id", chatID)); err != nil {
if _, err := store.InsertOne(ctx, &chat); err != nil {
chat, err := store.GetOne(ctx, tongo.E("chat_id", chatID))
if err != nil {
chat = &db.Chat{
Item: tongo.NewID(),
ChatId: chatID,
Title: "",
TopicId: 0,
}
if _, err := store.InsertOne(ctx, chat); err != nil {
return &bot{}
}
}