init
This commit is contained in:
6
db/mongo/const.go
Normal file
6
db/mongo/const.go
Normal file
@@ -0,0 +1,6 @@
|
||||
package mongo
|
||||
|
||||
const (
|
||||
obdDatabase = "global"
|
||||
movieCollection = "movies"
|
||||
)
|
||||
18
db/mongo/mongo.go
Normal file
18
db/mongo/mongo.go
Normal file
@@ -0,0 +1,18 @@
|
||||
package mongo
|
||||
|
||||
import (
|
||||
"gitlab.com/arkadooti.sarkar/go-boilerplate/core/mongomanager"
|
||||
"gitlab.com/arkadooti.sarkar/go-boilerplate/db"
|
||||
)
|
||||
|
||||
var _ db.Databases = (*ServicesMongo)(nil)
|
||||
|
||||
type ServicesMongo struct {
|
||||
Db mongomanager.MongoDB
|
||||
}
|
||||
|
||||
func NewMongoService(mongoClient mongomanager.MongoDB) db.Databases {
|
||||
return &ServicesMongo{
|
||||
Db: mongoClient,
|
||||
}
|
||||
}
|
||||
28
db/mongo/movieDetails.go
Normal file
28
db/mongo/movieDetails.go
Normal file
@@ -0,0 +1,28 @@
|
||||
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
|
||||
}
|
||||
11
db/movies.go
Normal file
11
db/movies.go
Normal file
@@ -0,0 +1,11 @@
|
||||
package db
|
||||
|
||||
import (
|
||||
"gitlab.com/arkadooti.sarkar/go-boilerplate/core/appcontext"
|
||||
"gitlab.com/arkadooti.sarkar/go-boilerplate/models"
|
||||
)
|
||||
|
||||
type Movies interface {
|
||||
GetMovieDetails(ctx appcontext.AppContext, movieName string) (models.MovieDetails, error)
|
||||
SetMovieDetails(ctx appcontext.AppContext, movieDetails models.MovieDetails) error
|
||||
}
|
||||
Reference in New Issue
Block a user