feat: ads log
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
package logrepository
|
||||
|
||||
import (
|
||||
"legalgo-BE-go/database"
|
||||
|
||||
"github.com/google/uuid"
|
||||
)
|
||||
|
||||
func (a *accessor) CreateLogAds(adsID, userID string) error {
|
||||
spec := database.LogAds{
|
||||
ID: uuid.NewString(),
|
||||
AdsID: adsID,
|
||||
UserID: userID,
|
||||
}
|
||||
if err := a.db.Create(&spec).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package logrepository
|
||||
|
||||
import (
|
||||
adsdomain "legalgo-BE-go/internal/domain/ads"
|
||||
)
|
||||
|
||||
func (a *accessor) GetAllLogAds(userID string) ([]adsdomain.Ads, error) {
|
||||
var ads []adsdomain.Ads
|
||||
|
||||
// if err := a.db.Find(&ads, "user_id = ?", userID).Error; err != nil {
|
||||
// return ads, err
|
||||
// }
|
||||
|
||||
if err := a.db.
|
||||
Joins("JOIN log_ads ON ads.id = log_ads.ads_id").
|
||||
Find(&ads, "log_ads.user_id = ?", userID).Error; err != nil {
|
||||
return ads, err
|
||||
}
|
||||
|
||||
return ads, nil
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package logrepository
|
||||
|
||||
import (
|
||||
"legalgo-BE-go/database"
|
||||
adsdomain "legalgo-BE-go/internal/domain/ads"
|
||||
)
|
||||
|
||||
type accessor struct {
|
||||
db *database.DB
|
||||
}
|
||||
|
||||
type Log interface {
|
||||
CreateLogAds(adsID, userID string) error
|
||||
GetAllLogAds(string) ([]adsdomain.Ads, error)
|
||||
}
|
||||
|
||||
func New(db *database.DB) Log {
|
||||
return &accessor{db}
|
||||
}
|
||||
@@ -3,6 +3,7 @@ package repository
|
||||
import (
|
||||
adsrepository "legalgo-BE-go/internal/accessor/ads"
|
||||
categoryrepository "legalgo-BE-go/internal/accessor/category"
|
||||
logrepository "legalgo-BE-go/internal/accessor/log"
|
||||
newsrepository "legalgo-BE-go/internal/accessor/news"
|
||||
"legalgo-BE-go/internal/accessor/oss"
|
||||
redisaccessor "legalgo-BE-go/internal/accessor/redis"
|
||||
@@ -26,4 +27,5 @@ var Module = fx.Module("repository", fx.Provide(
|
||||
newsrepository.New,
|
||||
oss.New,
|
||||
adsrepository.New,
|
||||
logrepository.New,
|
||||
))
|
||||
|
||||
Reference in New Issue
Block a user