feat: ads log

This commit is contained in:
ericprd
2025-03-17 22:19:17 +08:00
parent ee8e8e140d
commit c0dcdb77fa
19 changed files with 276 additions and 4 deletions
+20
View File
@@ -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
}
+21
View File
@@ -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
}
+19
View File
@@ -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}
}