34 lines
727 B
Go
34 lines
727 B
Go
package repo
|
|
|
|
import (
|
|
"gorm.io/gorm"
|
|
"work_cation/models"
|
|
)
|
|
|
|
type baseCardRepo struct{}
|
|
|
|
var BaseCard *baseCardRepo
|
|
|
|
func (*baseCardRepo) FindAll(db *gorm.DB) []models.BaseCard {
|
|
var cards []models.BaseCard
|
|
db.Find(&cards)
|
|
return cards
|
|
}
|
|
|
|
func (*baseCardRepo) Find(db *gorm.DB, uuid string) models.BaseCard {
|
|
var card models.BaseCard
|
|
db.Where("uuid = ?", uuid).Find(&card)
|
|
return card
|
|
}
|
|
|
|
func (*baseCardRepo) CreateOrSave(db *gorm.DB, baseCard *models.BaseCard) error {
|
|
var card models.BaseCard
|
|
if err := db.Where("uuid = ?", baseCard.UUID).Find(&card).Error; err != nil {
|
|
return err
|
|
}
|
|
if card.UUID != "" {
|
|
return db.Where("uuid = ?", baseCard.UUID).Save(baseCard).Error
|
|
}
|
|
return db.Create(baseCard).Error
|
|
}
|