Files
zsp-project/backend/internal/repository/contract_folder_repository.go
2026-06-03 20:59:39 +08:00

49 lines
1.2 KiB
Go
Executable File

package repository
import (
"github.com/rovina/zsp-backend/internal/model"
"gorm.io/gorm"
)
type ContractFolderRepository interface {
List() ([]model.ContractFolder, error)
GetByID(id uint) (*model.ContractFolder, error)
Create(f *model.ContractFolder) error
Update(f *model.ContractFolder) error
Delete(id uint) error
}
type contractFolderRepository struct {
db *gorm.DB
}
func NewContractFolderRepository(db *gorm.DB) ContractFolderRepository {
return &contractFolderRepository{db: db}
}
func (r *contractFolderRepository) List() ([]model.ContractFolder, error) {
var list []model.ContractFolder
err := r.db.Order("create_time DESC").Find(&list).Error
return list, err
}
func (r *contractFolderRepository) GetByID(id uint) (*model.ContractFolder, error) {
var f model.ContractFolder
if err := r.db.First(&f, id).Error; err != nil {
return nil, err
}
return &f, nil
}
func (r *contractFolderRepository) Create(f *model.ContractFolder) error {
return r.db.Create(f).Error
}
func (r *contractFolderRepository) Update(f *model.ContractFolder) error {
return r.db.Save(f).Error
}
func (r *contractFolderRepository) Delete(id uint) error {
return r.db.Delete(&model.ContractFolder{}, id).Error
}