59 lines
1.1 KiB
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
|
|
} |