Finishing up the logger data models
This commit is contained in:
parent
24537681ed
commit
46a36d0ab9
@ -6,6 +6,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"go.mongodb.org/mongo-driver/bson"
|
"go.mongodb.org/mongo-driver/bson"
|
||||||
|
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||||
"go.mongodb.org/mongo-driver/mongo"
|
"go.mongodb.org/mongo-driver/mongo"
|
||||||
"go.mongodb.org/mongo-driver/mongo/options"
|
"go.mongodb.org/mongo-driver/mongo/options"
|
||||||
)
|
)
|
||||||
@ -76,3 +77,62 @@ func (l *LogEntry) All() ([]*LogEntry, error) {
|
|||||||
}
|
}
|
||||||
return logs, nil
|
return logs, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (l *LogEntry) GetOne(id string) (*LogEntry, error) {
|
||||||
|
ctx, cancel := context.WithTimeout(context.Background(), 15*time.Second)
|
||||||
|
defer cancel()
|
||||||
|
|
||||||
|
collection := client.Database("logs").Collection("logs")
|
||||||
|
|
||||||
|
docID, err := primitive.ObjectIDFromHex(id)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var entry LogEntry
|
||||||
|
err = collection.FindOne(ctx, bson.M{"_id": docID}).Decode(&entry)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &entry, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *LogEntry) DropCollection() error {
|
||||||
|
ctx, cancel := context.WithTimeout(context.Background(), 15*time.Second)
|
||||||
|
defer cancel()
|
||||||
|
|
||||||
|
collection := client.Database("logs").Collection("logs")
|
||||||
|
|
||||||
|
if err := collection.Drop(ctx); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *LogEntry) Update() (*mongo.UpdateResult, error) {
|
||||||
|
ctx, cancel := context.WithTimeout(context.Background(), 15*time.Second)
|
||||||
|
defer cancel()
|
||||||
|
|
||||||
|
collection := client.Database("logs").Collection("logs")
|
||||||
|
|
||||||
|
docID, err := primitive.ObjectIDFromHex(l.ID)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
result, err := collection.UpdateOne(
|
||||||
|
ctx,
|
||||||
|
bson.M{"_id": docID},
|
||||||
|
bson.D{
|
||||||
|
{Key: "$set", Value: bson.D{
|
||||||
|
{Key: "name", Value: l.Name},
|
||||||
|
{Key: "data", Value: l.Data},
|
||||||
|
{Key: "updated_at", Value: time.Now()},
|
||||||
|
}},
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return result, nil
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user