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 }