prepare user system
This commit is contained in:
13 files changed
+470
-18
No files matched your search
+5
-5
@@ -8,7 +8,7 @@ import (
|
||||
"github.com/SowinskiBraeden/DeviceBookingAPI/models"
|
||||
)
|
||||
|
||||
const cowName = "cows"
|
||||
const cowDBO = "cows"
|
||||
|
||||
// CowDatabase contains the methods to use with the cow database
|
||||
type CowDatabase interface {
|
||||
@@ -31,7 +31,7 @@ func NewCowDatabase(db DatabaseHelper) CowDatabase {
|
||||
|
||||
func (c *cowDatabase) FindOne(ctx context.Context, filter interface{}) (*models.Cow, error) {
|
||||
cow := &models.Cow{}
|
||||
err := c.db.Collection(cowName).FindOne(ctx, filter).Decode(&cow)
|
||||
err := c.db.Collection(cowDBO).FindOne(ctx, filter).Decode(&cow)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -40,7 +40,7 @@ func (c *cowDatabase) FindOne(ctx context.Context, filter interface{}) (*models.
|
||||
|
||||
func (c *cowDatabase) Find(ctx context.Context, filter interface{}) ([]models.Cow, error) {
|
||||
var cows []models.Cow
|
||||
err := c.db.Collection(cowName).Find(ctx, filter).Decode(&cows)
|
||||
err := c.db.Collection(cowDBO).Find(ctx, filter).Decode(&cows)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -49,7 +49,7 @@ func (c *cowDatabase) Find(ctx context.Context, filter interface{}) ([]models.Co
|
||||
|
||||
// Returns the result (document id) and error
|
||||
func (c *cowDatabase) InsertOne(ctx context.Context, document interface{}) (*mongoInsertOneResult, error) {
|
||||
result, err := c.db.Collection(cowName).InsertOne(ctx, document)
|
||||
result, err := c.db.Collection(cowDBO).InsertOne(ctx, document)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -57,7 +57,7 @@ func (c *cowDatabase) InsertOne(ctx context.Context, document interface{}) (*mon
|
||||
}
|
||||
|
||||
func (c *cowDatabase) UpdateOne(ctx context.Context, filter, update interface{}) (*mongoUpdateResult, error) {
|
||||
result, err := c.db.Collection(cowName).UpdateOne(ctx, filter, update)
|
||||
result, err := c.db.Collection(cowDBO).UpdateOne(ctx, filter, update)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
+5
-5
@@ -8,7 +8,7 @@ import (
|
||||
"github.com/SowinskiBraeden/DeviceBookingAPI/models"
|
||||
)
|
||||
|
||||
const deviceName = "devices"
|
||||
const deviceDBO = "devices"
|
||||
|
||||
// DeviceDatabase contains the methods to use with the cow database
|
||||
type DeviceDatabase interface {
|
||||
@@ -31,7 +31,7 @@ func NewDeviceDatabase(db DatabaseHelper) DeviceDatabase {
|
||||
|
||||
func (d *deviceDatabase) FindOne(ctx context.Context, filter interface{}) (*models.Device, error) {
|
||||
device := &models.Device{}
|
||||
err := d.db.Collection(deviceName).FindOne(ctx, filter).Decode(&device)
|
||||
err := d.db.Collection(deviceDBO).FindOne(ctx, filter).Decode(&device)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -40,7 +40,7 @@ func (d *deviceDatabase) FindOne(ctx context.Context, filter interface{}) (*mode
|
||||
|
||||
func (d *deviceDatabase) Find(ctx context.Context, filter interface{}) ([]models.Device, error) {
|
||||
var devices []models.Device
|
||||
err := d.db.Collection(deviceName).FindOne(ctx, filter).Decode(&devices)
|
||||
err := d.db.Collection(deviceDBO).FindOne(ctx, filter).Decode(&devices)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -48,7 +48,7 @@ func (d *deviceDatabase) Find(ctx context.Context, filter interface{}) ([]models
|
||||
}
|
||||
|
||||
func (d *deviceDatabase) InsertOne(ctx context.Context, document interface{}) (*mongoInsertOneResult, error) {
|
||||
result, err := d.db.Collection(deviceName).InsertOne(ctx, document)
|
||||
result, err := d.db.Collection(deviceDBO).InsertOne(ctx, document)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -56,7 +56,7 @@ func (d *deviceDatabase) InsertOne(ctx context.Context, document interface{}) (*
|
||||
}
|
||||
|
||||
func (d *deviceDatabase) UpdateOne(ctx context.Context, filter, update interface{}) (*mongoUpdateResult, error) {
|
||||
result, err := d.db.Collection(deviceName).UpdateOne(ctx, filter, update)
|
||||
result, err := d.db.Collection(deviceDBO).UpdateOne(ctx, filter, update)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
package databases
|
||||
|
||||
// go generate: mockery --name CowDatabase
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/SowinskiBraeden/DeviceBookingAPI/models"
|
||||
)
|
||||
|
||||
const userDBO = "users"
|
||||
|
||||
// UserDatabase contains the methods to use with the cow database
|
||||
type UserDatabase interface {
|
||||
FindOne(ctx context.Context, filter interface{}) (*models.User, error)
|
||||
Find(ctx context.Context, filter interface{}) ([]models.User, error)
|
||||
InsertOne(ctx context.Context, document interface{}) (*mongoInsertOneResult, error)
|
||||
UpdateOne(ctx context.Context, filter, document interface{}) (*mongoUpdateResult, error)
|
||||
}
|
||||
|
||||
type userDatabase struct {
|
||||
db DatabaseHelper
|
||||
}
|
||||
|
||||
// NewCowDatabase initialized a new instance of a cow database with the provided db conntection
|
||||
func NewUserDatabase(db DatabaseHelper) UserDatabase {
|
||||
return &userDatabase{
|
||||
db: db,
|
||||
}
|
||||
}
|
||||
|
||||
func (u *userDatabase) FindOne(ctx context.Context, filter interface{}) (*models.User, error) {
|
||||
user := &models.User{}
|
||||
err := u.db.Collection(userDBO).FindOne(ctx, filter).Decode(&user)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return user, nil
|
||||
}
|
||||
|
||||
func (u *userDatabase) Find(ctx context.Context, filter interface{}) ([]models.User, error) {
|
||||
var users []models.User
|
||||
err := u.db.Collection(userDBO).Find(ctx, filter).Decode(&users)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return users, nil
|
||||
}
|
||||
|
||||
// Returns the result (document id) and error
|
||||
func (u *userDatabase) InsertOne(ctx context.Context, document interface{}) (*mongoInsertOneResult, error) {
|
||||
result, err := u.db.Collection(userDBO).InsertOne(ctx, document)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &result, nil
|
||||
}
|
||||
|
||||
func (u *userDatabase) UpdateOne(ctx context.Context, filter, update interface{}) (*mongoUpdateResult, error) {
|
||||
result, err := u.db.Collection(userDBO).UpdateOne(ctx, filter, update)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &result, nil
|
||||
}
|
||||
Reference in new issue
Block a user