package repository import ( "BE-MiniERP/modules/inventory/models" "gorm.io/gorm" ) type SizeRepository struct { DB *gorm.DB } func NewSizeRepository(db *gorm.DB) *SizeRepository { return &SizeRepository{DB: db} } func (r *SizeRepository) FindAll(page, limit, offset int, search string) ([]models.Size, error) { var sizes []models.Size query := r.DB.Model(&models.Size{}) if search != "" { query = query.Where("name ILIKE ? OR code ILIKE ?", "%"+search+"%", "%"+search+"%") } err := query. Order("created_at DESC"). Limit(limit). Offset(offset). Find(&sizes).Error return sizes, err } func (r *SizeRepository) Create(size *models.Size) error { return r.DB.Create(size).Error } func (r *SizeRepository) Update(id uint, data *models.Size) error { return r.DB.Model(&models.Size{}).Where("id = ?", id).Updates(data).Error } func (r *SizeRepository) Delete(id uint) error { return r.DB.Delete(&models.Size{}, id).Error }