package announcement import "gorm.io/gorm" type Repository struct { db *gorm.DB } func NewRepository(db *gorm.DB) *Repository { return &Repository{db: db} } func (r *Repository) FindAll() ([]Announcement, error) { var list []Announcement err := r.db.Order("created_at desc").Find(&list).Error return list, err } func (r *Repository) FindByID(id uint) (*Announcement, error) { var a Announcement if err := r.db.First(&a, id).Error; err != nil { return nil, err } return &a, nil } func (r *Repository) Create(a *Announcement) error { return r.db.Create(a).Error } func (r *Repository) Save(a *Announcement) error { return r.db.Save(a).Error } func (r *Repository) Delete(id uint) error { return r.db.Delete(&Announcement{}, id).Error }