package models

import "github.com/jinzhu/gorm"

type ExploreAppCategory struct {
	ID         uint64 `gorm:"primary_key;auto_increment" json:"id"`
	Name       string `gorm:"size:255;not null;" json:"name"`
	Sort       uint32 `gorm:"not null;default:1" json:"sort"`
	Limit      uint32 `gorm:"not null;default:1" json:"limit"`
	Style      uint32 `gorm:"not null;default:1" json:"style"`
	Status     uint8  `gorm:"not null;default:1" json:"status"`
	PlatformId uint64 `gorm:"not null;default:0" json:"platform_id"`
}



/**
 * 通过id检查类别是否存在
 * @param id
 * @return
 */
func ExistCategoryById(id int) (bool, error) {
	var category ExploreAppCategory
	err := db.Select("id").Where("id = ?", id).First(&category).Error
	if err != nil && err != gorm.ErrRecordNotFound {
		return false, err
	}

	if category.ID > 0 {
		return true, nil
	}

	return false, nil
}

/**
 * 通过id获取指定类别信息
 * @param id
 * @return
 */
func GetCategory(id int) (*ExploreAppCategory, error) {
	var category ExploreAppCategory
	err := db.Where("id = ?", id).First(&category).Error
	if err != nil && err != gorm.ErrRecordNotFound {
		return nil, err
	}

	err = db.Model(&category).Error
	if err != nil && err != gorm.ErrRecordNotFound {
		return nil, err
	}

	return &category, nil
}
