29 lines
1.0 KiB
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
|
|
}
|