update or create order
This commit is contained in:
@@ -1,19 +1,19 @@
|
||||
package repositories
|
||||
|
||||
import(
|
||||
"strconv"
|
||||
import (
|
||||
"gorm.io/gorm"
|
||||
"strconv"
|
||||
|
||||
"example.com/gin/test/models"
|
||||
)
|
||||
)
|
||||
|
||||
type OrderRepository interface {
|
||||
Create(models.Order) (models.Order, error)
|
||||
Create(models.Order) (models.Order, error)
|
||||
GetAll() ([]models.Order, error)
|
||||
GetById(string) (models.Order, error)
|
||||
GetAllBySession(string) ([]models.Order, error)
|
||||
GetBySession(string) (models.Order, error)
|
||||
Update(models.Order) (models.Order, error)
|
||||
DeleteById(string) (error)
|
||||
DeleteById(string) error
|
||||
}
|
||||
|
||||
type GORMOrderRepository struct {
|
||||
@@ -30,7 +30,7 @@ func (r *GORMOrderRepository) Create(order models.Order) (models.Order, error) {
|
||||
//Omit the shopitem so it is not created again in db leading to unique constain fails
|
||||
result := r.DB.Omit("CartItems").Create(&order)
|
||||
if result.Error != nil {
|
||||
return models.Order{}, result.Error
|
||||
return models.Order{}, result.Error
|
||||
}
|
||||
|
||||
return order, nil
|
||||
@@ -60,10 +60,9 @@ func (t *GORMOrderRepository) GetById(id string) (models.Order, error) {
|
||||
return order, nil
|
||||
}
|
||||
|
||||
|
||||
func (r *GORMOrderRepository) GetAllBySession(sessionId string) ([]models.Order, error) {
|
||||
var orders []models.Order
|
||||
result := r.DB.Preload("CartItems").Where("session_id = ?", sessionId).Find(&orders)
|
||||
func (r *GORMOrderRepository) GetBySession(sessionId string) (models.Order, error) {
|
||||
var orders models.Order
|
||||
result := r.DB.Preload("CartItems").Where("session_id = ?", sessionId).First(&orders)
|
||||
|
||||
return orders, result.Error
|
||||
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
package repositories
|
||||
|
||||
import(
|
||||
"os"
|
||||
"gorm.io/gorm"
|
||||
import (
|
||||
"gorm.io/driver/sqlite"
|
||||
"gorm.io/gorm"
|
||||
"os"
|
||||
|
||||
"example.com/gin/test/models"
|
||||
)
|
||||
)
|
||||
|
||||
var(
|
||||
var (
|
||||
ShopItems ShopItemRepository
|
||||
Users UserRepository
|
||||
Tags TagRepository
|
||||
Users UserRepository
|
||||
Tags TagRepository
|
||||
CartItems CartItemRepository
|
||||
Orders OrderRepository
|
||||
Orders OrderRepository
|
||||
)
|
||||
|
||||
func InitRepositories() {
|
||||
@@ -22,12 +22,12 @@ func InitRepositories() {
|
||||
panic("failed to connect to database")
|
||||
}
|
||||
|
||||
err = db.AutoMigrate(&models.ShopItem{},
|
||||
&models.ItemVariant{},
|
||||
&models.User{},
|
||||
&models.Tag{},
|
||||
&models.CartItem{},
|
||||
&models.Order{})
|
||||
err = db.AutoMigrate(&models.ShopItem{},
|
||||
&models.ItemVariant{},
|
||||
&models.User{},
|
||||
&models.Tag{},
|
||||
&models.CartItem{},
|
||||
&models.Order{})
|
||||
|
||||
if err != nil {
|
||||
panic("failed to migrate database")
|
||||
|
||||
Reference in New Issue
Block a user