29 lines
611 B
Go
29 lines
611 B
Go
|
package db
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"errors"
|
||
|
"log"
|
||
|
|
||
|
"go.mongodb.org/mongo-driver/bson"
|
||
|
"go.mongodb.org/mongo-driver/bson/primitive"
|
||
|
)
|
||
|
|
||
|
func (d *DB) ChatExists(ctx context.Context, chat Chat) bool {
|
||
|
filter := bson.D{primitive.E{Key: "id", Value: chat.Id}}
|
||
|
return d.EntryExists(ctx, "chats", filter)
|
||
|
}
|
||
|
|
||
|
func (d *DB) NewChat(ctx context.Context, chat Chat) error {
|
||
|
if d.ChatExists(ctx, chat) {
|
||
|
return errors.New("chat entry already exists")
|
||
|
}
|
||
|
err := d.NewEntry(ctx, "chats", chat)
|
||
|
if err != nil {
|
||
|
log.Fatal(err)
|
||
|
return err
|
||
|
}
|
||
|
log.Printf("New chat added: %s (%d)\n", chat.Title, chat.Id)
|
||
|
return nil
|
||
|
}
|