MIF_E31222379_BE/internal/repositories/request_pickup.go

38 lines
909 B
Go

package repositories
import (
"github.com/pahmiudahgede/senggoldong/config"
"github.com/pahmiudahgede/senggoldong/domain"
)
type RequestPickupRepository interface {
Create(request *domain.RequestPickup) error
GetByUserID(userID string) ([]domain.RequestPickup, error)
}
type requestPickupRepository struct {}
func NewRequestPickupRepository() RequestPickupRepository {
return &requestPickupRepository{}
}
func (r *requestPickupRepository) Create(request *domain.RequestPickup) error {
return config.DB.Create(request).Error
}
func (r *requestPickupRepository) GetByUserID(userID string) ([]domain.RequestPickup, error) {
var requestPickups []domain.RequestPickup
err := config.DB.Preload("Request").
Preload("Request.TrashCategory").
Preload("UserAddress").
Where("user_id = ?", userID).
Find(&requestPickups).Error
if err != nil {
return nil, err
}
return requestPickups, nil
}