boilerplate-go/db/mongo/movieDetails.go

29 lines
1.0 KiB
Go

package mongo
import (
"errors"
"gitlab.com/arkadooti.sarkar/go-boilerplate/core/appcontext"
"gitlab.com/arkadooti.sarkar/go-boilerplate/core/log"
"gitlab.com/arkadooti.sarkar/go-boilerplate/models"
"go.mongodb.org/mongo-driver/bson"
)
func (s *ServicesMongo) GetMovieDetails(ctx appcontext.AppContext, movieName string) (models.MovieDetails, error) {
details := models.MovieDetails{}
b := bson.M{"title": bson.M{"$regex": movieName, "$options": "i"}}
err := s.Db.ReadOne(ctx, obdDatabase, movieCollection, b, &details)
if err != nil {
log.GenericError(ctx, errors.New("GetMovieDetails DB error: "+err.Error()), log.FieldsMap{"title": movieName})
return models.MovieDetails{}, err
}
return details, nil
}
func (s *ServicesMongo) SetMovieDetails(ctx appcontext.AppContext, movieDetails models.MovieDetails) error {
_, err := s.Db.CreateOne(ctx, obdDatabase, movieCollection, movieDetails)
if err != nil {
log.GenericError(ctx, errors.New("SetMovieDetails DB error: "+err.Error()))
return err
}
return nil
}