package dao

import (
	"server/global"
)

type FileGenre struct {
	global.GVA_MODEL
	Name              string              `json:"name" form:"name" gorm:"comment:文件类型名称"`
	Remarks           string              `json:"remarks" form:"remarks" gorm:"comment:备注"`
	NecessaryDocument []NecessaryDocument `json:"necessaryDocument" form:"necessaryDocument" gorm:"-"`
}

func (FileGenre) TableName() string {
	return "file_genre"
}

// TODO:文件类型查询

// QueryFileGenre 查询文件类型
func QueryFileGenre() (fileGenres []FileGenre, err error) {
	err = global.GVA_DB.Model(&FileGenre{}).Find(&fileGenres).Error
	return fileGenres, err
}

// QueryFileGenreById 查询文件类型 按id
func QueryFileGenreById(id int) (fileGenre FileGenre, err error) {
	err = global.GVA_DB.Model(&FileGenre{}).Where("id = ?", id).First(&fileGenre).Error
	return fileGenre, err
}

// TODO:文件类型新增

// CreateFileGenre 新增文件类型
func (fg FileGenre) CreateFileGenre() error {
	return global.GVA_DB.Create(&fg).Error
}

// TODO:文件类型修改

// UpdateFileGenre 修改文件类型
func (fg FileGenre) UpdateFileGenre() error {
	return global.GVA_DB.Model(&fg).Where("id = ?", fg.ID).Updates(&fg).Error
}

// TODO:文件类型删除

// DeleteFileGenre 删除文件类型
func (fg FileGenre) DeleteFileGenre() error {
	return global.GVA_DB.Unscoped().Delete(&fg).Error
}
