Skip to content

Commit

Permalink
release version 0.0.3
Browse files Browse the repository at this point in the history
  • Loading branch information
dobyte committed Nov 23, 2022
1 parent 6dfada9 commit b7f8d9a
Show file tree
Hide file tree
Showing 3 changed files with 109 additions and 0 deletions.
37 changes: 37 additions & 0 deletions example/dao/mail/internal/mail.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (
"context"
"errors"
"example/model/mail"
"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/options"
Expand Down Expand Up @@ -119,6 +120,18 @@ func (dao *Mail) UpdateOne(ctx context.Context, filterFunc FilterFunc, updateFun
return dao.Collection.UpdateOne(ctx, filter, update, opts)
}

// UpdateOneByID executes an update command to update at most one document in the collection.
func (dao *Mail) UpdateOneByID(ctx context.Context, id string, updateFunc UpdateFunc, optionsFunc ...UpdateOptionsFunc) (*mongo.UpdateResult, error) {
objectID, err := primitive.ObjectIDFromHex(id)
if err != nil {
return nil, err
}

return dao.UpdateOne(ctx, func(cols *Columns) interface{} {
return bson.M{"_id": objectID}
}, updateFunc, optionsFunc...)
}

// UpdateMany executes an update command to update documents in the collection.
func (dao *Mail) UpdateMany(ctx context.Context, filterFunc FilterFunc, updateFunc UpdateFunc, optionsFunc ...UpdateOptionsFunc) (*mongo.UpdateResult, error) {
var (
Expand Down Expand Up @@ -157,6 +170,18 @@ func (dao *Mail) FindOne(ctx context.Context, filterFunc FilterFunc, optionsFunc
return model, nil
}

// FindOneByID executes a find command and returns a model for one document in the collection.
func (dao *Mail) FindOneByID(ctx context.Context, id string, optionsFunc ...FindOneOptionsFunc) (*mail.Mail, error) {
objectID, err := primitive.ObjectIDFromHex(id)
if err != nil {
return nil, err
}

return dao.FindOne(ctx, func(cols *Columns) interface{} {
return bson.M{"_id": objectID}
}, optionsFunc...)
}

// FindMany executes a find command and returns many models the matching documents in the collection.
func (dao *Mail) FindMany(ctx context.Context, filterFunc FilterFunc, optionsFunc ...FindManyOptionsFunc) ([]*mail.Mail, error) {
var (
Expand Down Expand Up @@ -196,6 +221,18 @@ func (dao *Mail) DeleteOne(ctx context.Context, filterFunc FilterFunc, optionsFu
return dao.Collection.DeleteOne(ctx, filter, opts)
}

// DeleteOneByID executes a delete command to delete at most one document from the collection.
func (dao *Mail) DeleteOneByID(ctx context.Context, id string, optionsFunc ...DeleteOptionsFunc) (*mongo.DeleteResult, error) {
objectID, err := primitive.ObjectIDFromHex(id)
if err != nil {
return nil, err
}

return dao.DeleteOne(ctx, func(cols *Columns) interface{} {
return bson.M{"_id": objectID}
}, optionsFunc...)
}

// DeleteMany executes a delete command to delete documents from the collection.
func (dao *Mail) DeleteMany(ctx context.Context, filterFunc FilterFunc, optionsFunc ...DeleteOptionsFunc) (*mongo.DeleteResult, error) {
var (
Expand Down
36 changes: 36 additions & 0 deletions example/dao/user/internal/user.go
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,18 @@ func (dao *User) UpdateOne(ctx context.Context, filterFunc FilterFunc, updateFun
return dao.Collection.UpdateOne(ctx, filter, update, opts)
}

// UpdateOneByID executes an update command to update at most one document in the collection.
func (dao *User) UpdateOneByID(ctx context.Context, id string, updateFunc UpdateFunc, optionsFunc ...UpdateOptionsFunc) (*mongo.UpdateResult, error) {
objectID, err := primitive.ObjectIDFromHex(id)
if err != nil {
return nil, err
}

return dao.UpdateOne(ctx, func(cols *Columns) interface{} {
return bson.M{"_id": objectID}
}, updateFunc, optionsFunc...)
}

// UpdateMany executes an update command to update documents in the collection.
func (dao *User) UpdateMany(ctx context.Context, filterFunc FilterFunc, updateFunc UpdateFunc, optionsFunc ...UpdateOptionsFunc) (*mongo.UpdateResult, error) {
var (
Expand Down Expand Up @@ -184,6 +196,18 @@ func (dao *User) FindOne(ctx context.Context, filterFunc FilterFunc, optionsFunc
return model, nil
}

// FindOneByID executes a find command and returns a model for one document in the collection.
func (dao *User) FindOneByID(ctx context.Context, id string, optionsFunc ...FindOneOptionsFunc) (*user.User, error) {
objectID, err := primitive.ObjectIDFromHex(id)
if err != nil {
return nil, err
}

return dao.FindOne(ctx, func(cols *Columns) interface{} {
return bson.M{"_id": objectID}
}, optionsFunc...)
}

// FindMany executes a find command and returns many models the matching documents in the collection.
func (dao *User) FindMany(ctx context.Context, filterFunc FilterFunc, optionsFunc ...FindManyOptionsFunc) ([]*user.User, error) {
var (
Expand Down Expand Up @@ -223,6 +247,18 @@ func (dao *User) DeleteOne(ctx context.Context, filterFunc FilterFunc, optionsFu
return dao.Collection.DeleteOne(ctx, filter, opts)
}

// DeleteOneByID executes a delete command to delete at most one document from the collection.
func (dao *User) DeleteOneByID(ctx context.Context, id string, optionsFunc ...DeleteOptionsFunc) (*mongo.DeleteResult, error) {
objectID, err := primitive.ObjectIDFromHex(id)
if err != nil {
return nil, err
}

return dao.DeleteOne(ctx, func(cols *Columns) interface{} {
return bson.M{"_id": objectID}
}, optionsFunc...)
}

// DeleteMany executes a delete command to delete documents from the collection.
func (dao *User) DeleteMany(ctx context.Context, filterFunc FilterFunc, optionsFunc ...DeleteOptionsFunc) (*mongo.DeleteResult, error) {
var (
Expand Down
36 changes: 36 additions & 0 deletions template/template.go
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,18 @@ func (dao *${VarDaoClassName}) UpdateOne(ctx context.Context, filterFunc ${VarDa
return dao.Collection.UpdateOne(ctx, filter, update, opts)
}
// UpdateOneByID executes an update command to update at most one document in the collection.
func (dao *${VarDaoClassName}) UpdateOneByID(ctx context.Context, id string, updateFunc ${VarDaoPrefixName}UpdateFunc, optionsFunc ...${VarDaoPrefixName}UpdateOptionsFunc) (*mongo.UpdateResult, error) {
objectID, err := primitive.ObjectIDFromHex(id)
if err != nil {
return nil, err
}
return dao.UpdateOne(ctx, func(cols *Columns) interface{} {
return bson.M{"_id": objectID}
}, updateFunc, optionsFunc...)
}
// UpdateMany executes an update command to update documents in the collection.
func (dao *${VarDaoClassName}) UpdateMany(ctx context.Context, filterFunc ${VarDaoPrefixName}FilterFunc, updateFunc ${VarDaoPrefixName}UpdateFunc, optionsFunc ...${VarDaoPrefixName}UpdateOptionsFunc) (*mongo.UpdateResult, error) {
var (
Expand Down Expand Up @@ -159,6 +171,18 @@ func (dao *${VarDaoClassName}) FindOne(ctx context.Context, filterFunc ${VarDaoP
return model, nil
}
// FindOneByID executes a find command and returns a model for one document in the collection.
func (dao *${VarDaoClassName}) FindOneByID(ctx context.Context, id string, optionsFunc ...${VarDaoPrefixName}FindOneOptionsFunc) (*${VarModelPackageName}.${VarModelClassName}, error) {
objectID, err := primitive.ObjectIDFromHex(id)
if err != nil {
return nil, err
}
return dao.FindOne(ctx, func(cols *Columns) interface{} {
return bson.M{"_id": objectID}
}, optionsFunc...)
}
// FindMany executes a find command and returns many models the matching documents in the collection.
func (dao *${VarDaoClassName}) FindMany(ctx context.Context, filterFunc ${VarDaoPrefixName}FilterFunc, optionsFunc ...${VarDaoPrefixName}FindManyOptionsFunc) ([]*${VarModelPackageName}.${VarModelClassName}, error) {
var (
Expand Down Expand Up @@ -198,6 +222,18 @@ func (dao *${VarDaoClassName}) DeleteOne(ctx context.Context, filterFunc ${VarDa
return dao.Collection.DeleteOne(ctx, filter, opts)
}
// DeleteOneByID executes a delete command to delete at most one document from the collection.
func (dao *${VarDaoClassName}) DeleteOneByID(ctx context.Context, id string, optionsFunc ...${VarDaoPrefixName}DeleteOptionsFunc) (*mongo.DeleteResult, error) {
objectID, err := primitive.ObjectIDFromHex(id)
if err != nil {
return nil, err
}
return dao.DeleteOne(ctx, func(cols *Columns) interface{} {
return bson.M{"_id": objectID}
}, optionsFunc...)
}
// DeleteMany executes a delete command to delete documents from the collection.
func (dao *${VarDaoClassName}) DeleteMany(ctx context.Context, filterFunc ${VarDaoPrefixName}FilterFunc, optionsFunc ...${VarDaoPrefixName}DeleteOptionsFunc) (*mongo.DeleteResult, error) {
var (
Expand Down

0 comments on commit b7f8d9a

Please sign in to comment.