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 }