Documentation ¶
Index ¶
- func CreateMatcherProjectPipeline(matcher bson.M, project bson.M) []primitive.M
- func CreatePermissionFilter(groups []primitive.ObjectID, user string) bson.M
- func CreatePermissionMatcher(permission bson.M, id primitive.ObjectID) (bson.M, error)
- func CreatePermissionProjectPipeline(permission bson.M, id primitive.ObjectID, project bson.M) ([]primitive.M, error)
- func ManageField(db *mongo.Database, collection string, filter *bson.M, value *bson.M) int
- type DBConnection
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateMatcherProjectPipeline ¶
CreateMatcherProjectPipeline creates a pipeline with a match and project
func CreatePermissionFilter ¶
CreatePermissionFilter creates a filter bson that matches the owner and it's groups
func CreatePermissionMatcher ¶
CreatePermissionMatcher creates a matcher that checks for permissions
func CreatePermissionProjectPipeline ¶
func CreatePermissionProjectPipeline(permission bson.M, id primitive.ObjectID, project bson.M) ([]primitive.M, error)
CreatePermissionProjectPipeline creates a pipeline with permission for a specific user and model project
func ManageField ¶
ManageField executs a specific bson on a filter e.x.: filter := bson.M{"_id": bson.M{"$eq": objID}} value := bson.M{"$set": bson.M{"fieldint": 42}}
0 -> ok | 1 -> error when updating | 2 -> nothing modified in DB
Types ¶
type DBConnection ¶
type DBConnection struct { Col *mongo.Collection Ctx context.Context Cancel context.CancelFunc }
DBConnection holds information about the collection and the context
Click to show internal directories.
Click to hide internal directories.