Adding Workspace Logic
This commit is contained in:
@@ -163,6 +163,26 @@ func (m *MongoDB) DeleteMultiple(f map[string]interface{}, collection_name strin
|
||||
return result.DeletedCount, 200, nil
|
||||
}
|
||||
|
||||
func (m *MongoDB) UpdateMultiple(set interface{}, filter map[string]interface{}, collection_name string) (int64, int, error) {
|
||||
var doc map[string]interface{}
|
||||
b, _ := bson.Marshal(set)
|
||||
bson.Unmarshal(b, &doc)
|
||||
f := bson.D{}
|
||||
for k, v := range filter {
|
||||
f = append(f, bson.E{Key: k, Value: v})
|
||||
|
||||
}
|
||||
targetDBCollection := CollectionMap[collection_name]
|
||||
MngoCtx, cancel = context.WithTimeout(context.Background(), 10*time.Second)
|
||||
defer cancel()
|
||||
res, err := targetDBCollection.UpdateMany(MngoCtx, f, dbs.InputToBson(doc, true))
|
||||
if err != nil {
|
||||
m.Logger.Error().Msg("Couldn't update resource: " + err.Error())
|
||||
return 0, 404, err
|
||||
}
|
||||
return res.UpsertedCount, 200, nil
|
||||
}
|
||||
|
||||
func (m *MongoDB) UpdateOne(set interface{}, id string, collection_name string) (string, int, error) {
|
||||
var doc map[string]interface{}
|
||||
b, _ := bson.Marshal(set)
|
||||
@@ -214,6 +234,24 @@ func (m *MongoDB) LoadOne(id string, collection_name string) (*mongo.SingleResul
|
||||
return res, 200, nil
|
||||
}
|
||||
|
||||
func (m *MongoDB) LoadFilter(filter map[string]interface{}, collection_name string) (*mongo.Cursor, int, error) {
|
||||
f := bson.D{}
|
||||
for k, v := range filter {
|
||||
f = append(f, bson.E{Key: k, Value: v})
|
||||
}
|
||||
targetDBCollection := CollectionMap[collection_name]
|
||||
|
||||
MngoCtx, cancel = context.WithTimeout(context.Background(), 10*time.Second)
|
||||
defer cancel()
|
||||
|
||||
res, err := targetDBCollection.Find(MngoCtx, f)
|
||||
if err != nil {
|
||||
m.Logger.Error().Msg("Couldn't find any resources. Error : " + err.Error())
|
||||
return nil, 404, err
|
||||
}
|
||||
return res, 200, nil
|
||||
}
|
||||
|
||||
func (m *MongoDB) LoadAll(collection_name string) (*mongo.Cursor, int, error) {
|
||||
targetDBCollection := CollectionMap[collection_name]
|
||||
|
||||
|
Reference in New Issue
Block a user