2025-02-23 22:34:26 +08:00
|
|
|
package staffrepository
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"errors"
|
2025-03-05 21:21:44 +08:00
|
|
|
staffdomain "legalgo-BE-go/internal/domain/staff"
|
2025-02-27 07:25:25 +08:00
|
|
|
|
2025-02-23 22:34:26 +08:00
|
|
|
"gorm.io/gorm"
|
|
|
|
|
)
|
|
|
|
|
|
2025-03-05 21:21:44 +08:00
|
|
|
func (sr *impl) GetStaffByID(ID string) (*staffdomain.Staff, error) {
|
|
|
|
|
var staff staffdomain.Staff
|
2025-02-23 22:34:26 +08:00
|
|
|
|
2025-02-27 18:59:58 +08:00
|
|
|
if ID == "" {
|
|
|
|
|
return nil, errors.New("id is required")
|
2025-02-23 22:34:26 +08:00
|
|
|
}
|
|
|
|
|
|
2025-03-05 21:21:44 +08:00
|
|
|
if err := sr.db.First(&staff, "id = ? ", ID).Error; err != nil {
|
2025-02-23 22:34:26 +08:00
|
|
|
if errors.Is(err, gorm.ErrRecordNotFound) {
|
|
|
|
|
return nil, errors.New("staff not found")
|
|
|
|
|
}
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return &staff, nil
|
|
|
|
|
}
|