package models import ( "time" "github.com/sujit-baniya/fiber-boilerplate/app" "gorm.io/gorm" ) type Inicio struct { gorm.Model // Embedding gorm.Model to inherit fields like ID, CreatedAt, UpdatedAt, DeletedAt ID uint `gorm:"primarykey"` ModifiedAt time.Time `json:"modified_at" gorm:"column:modified_at"` Description string `json:"description" gorm:"column:description"` Enlace string `json:"enlace" gorm:"column:enlace"` Ruta string `json:"ruta" gorm:"column:ruta"` } // TableName overrides the table name used by Inicio to Inicio func (Inicio) TableName() string { return "inicio" } // AllInicios recupera todos los registros con búsqueda func AllInicios(limit, offset int, search string) ([]Inicio, int64, error) { var items []Inicio var total int64 db := app.Http.Database.DB.Model(&Inicio{}) // Filtrar por término de búsqueda si se proporciona if search != "" { db = db.Where("title LIKE ? OR description LIKE ?", "%"+search+"%", "%"+search+"%") } // Obtener el total de registros if err := db.Count(&total).Error; err != nil { return nil, 0, err } // Obtener los registros con paginación if err := db.Order("created_at DESC").Limit(limit).Offset(offset).Find(&items).Error; err != nil { return nil, 0, err } return items, total, nil } // AllIniciosSelect recupera todos los registros sin paginación func AllIniciosSelect() ([]Inicio, error) { var items []Inicio // Realizar la consulta para obtener todos los registros if err := app.Http.Database.DB.Model(&Inicio{}).Find(&items).Error; err != nil { return nil, err } return items, nil } // CreateInicio creates a new record func CreateInicio(item Inicio) error { if err := app.Http.Database.DB.Create(&item).Error; err != nil { return err } return nil } // UpdateInicio updates an existing record func UpdateInicio(item Inicio) error { if err := app.Http.Database.DB.Save(&item).Error; err != nil { return err } return nil } // Delete%!s(MISSING) deletes a record by its ID func DeleteInicio(id uint) error { if err := app.Http.Database.DB.Delete(&Inicio{}, id).Error; err != nil { return err } return nil }