NAM-APJATEL-BACKEND/repository/backbone_repo.go

59 lines
1.1 KiB
Go

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