package models import ( "log" "github.com/sujit-baniya/fiber-boilerplate/app" "gorm.io/gorm" ) type ConxSsh struct { gorm.Model Usuario string `json:"usuario" gorm:"column:usuario"` Puerto string `json:"puerto" gorm:"column:puerto"` ServidorID uint `json:"servidor_id" gorm:"column:servidor_id;foreignKey:ServidorID"` Servidor Servidor `json:"servidor" gorm:"foreignKey:ServidorID"` } func (ConxSsh) TableName() string { return "conx_ssh" } func GetAllConxSsh(limit, offset int, search string) ([]ConxSsh, int64, error) { var items []ConxSsh var total int64 db := app.Http.Database.DB.Model(&ConxSsh{}) if search != "" { db = db.Where("nombre LIKE ?", "%"+search+"%") } db = db.Preload("Servidor") if err := db.Count(&total).Error; err != nil { log.Printf("Error counting conx ssh: %v", err) return nil, 0, err } if err := db.Order("id DESC").Limit(limit).Offset(offset).Find(&items).Error; err != nil { log.Printf("Error retrieving conx ssh: %v", err) return nil, 0, err } return items, total, nil } func CreateConxSsh(conxSsh ConxSsh) error { if err := app.Http.Database.DB.Create(&conxSsh).Error; err != nil { return err } return nil } func UpdateConxSsh(conxSsh ConxSsh) error { if err := app.Http.Database.DB.Model(&conxSsh).Updates(conxSsh).Error; err != nil { return err } return nil } func DeleteConxSsh(conxSsh ConxSsh) error { if err := app.Http.Database.DB.Delete(&conxSsh).Error; err != nil { return err } return nil }