Files
houston-be/model/log/log.go
2023-11-02 13:11:52 +05:30

46 lines
886 B
Go

package log
import (
"gorm.io/gorm"
)
type Repository struct {
gormClient *gorm.DB
}
func NewLogRepository(gormClient *gorm.DB) *Repository {
return &Repository{
gormClient: gormClient,
}
}
func (r *Repository) CreateLog(logEntity *LogEntity) (*LogEntity, error) {
result := r.gormClient.Create(logEntity)
if result.Error != nil {
return nil, result.Error
}
return logEntity, nil
}
func (r *Repository) FetchLogsByRelationNameAndRecordId(relationName string, recordId uint) ([]LogEntity, error) {
var query = r.gormClient.Model([]LogEntity{})
var logEntity []LogEntity
if len(relationName) != 0 {
query = query.Where("relation_name = ?", relationName)
}
query = query.Where("record_id = ?", recordId)
query = query.Order("created_at ASC")
result := query.Find(&logEntity)
if result.Error != nil {
return nil, result.Error
}
return logEntity, nil
}