Files
fm_be/internal/service/patient_data_service.go
2026-07-16 22:16:45 +07:00

47 lines
1.3 KiB
Go

package service
import (
"context"
patientdata "wucher/internal/domain/patient_data"
)
type PatientDataService struct {
repo patientdata.Repository
}
func NewPatientDataService(repo patientdata.Repository) *PatientDataService {
return &PatientDataService{repo: repo}
}
func (s *PatientDataService) Create(ctx context.Context, row *patientdata.PatientData) error {
return s.repo.Create(ctx, row)
}
func (s *PatientDataService) Update(ctx context.Context, row *patientdata.PatientData) error {
return s.repo.Update(ctx, row)
}
func (s *PatientDataService) Delete(ctx context.Context, id []byte, deletedBy []byte) error {
return s.repo.Delete(ctx, id, deletedBy)
}
func (s *PatientDataService) GetByID(ctx context.Context, id []byte) (*patientdata.PatientData, error) {
return s.repo.GetByID(ctx, id)
}
func (s *PatientDataService) List(ctx context.Context, filter, sort string, limit, offset int) ([]patientdata.PatientData, int64, error) {
return s.repo.List(ctx, filter, normalizePatientDataSort(sort), limit, offset)
}
func normalizePatientDataSort(sort string) string {
return normalizeSortByRules(sort,
sortField("family_name"),
sortField("first_name"),
sortField("birth_date"),
sortField("gender"),
sortField("created_at"),
sortField("updated_at"),
)
}