package repository import ( "users_management/m/model/entity" "gorm.io/gorm" ) type FishboneRepo interface { Post(fishbone entity.Fishbone) error GetAll() ([]entity.Fishbone, error) Update(fishbone entity.Fishbone) error GetByID(id string) (entity.Fishbone, error) } type fishboneRepo struct { db *gorm.DB } func NewFishboneRepo(db *gorm.DB) FishboneRepo { return &fishboneRepo{ db: db, } } func (r *fishboneRepo) Post(fishbone entity.Fishbone) error { err := r.db.Create(&fishbone).Error if err != nil { return err } return nil } func (r *fishboneRepo) GetAll() ([]entity.Fishbone, error) { var fishbones []entity.Fishbone err := r.db.Find(&fishbones).Error if err != nil { return fishbones, err } return fishbones, nil } func (r *fishboneRepo) Update(fishbone entity.Fishbone) error { err := r.db.Save(&fishbone).Error if err != nil { return err } return nil } func (r *fishboneRepo) GetByID(id string) (entity.Fishbone, error) { var fishbone entity.Fishbone err := r.db.Where("id = ?", id).First(&fishbone).Error if err != nil { return fishbone, err } return fishbone, nil }