package service import ( "github.com/rs/zerolog" "go-humas-be/app/module/ppid_data_files/mapper" "go-humas-be/app/module/ppid_data_files/repository" "go-humas-be/app/module/ppid_data_files/request" "go-humas-be/app/module/ppid_data_files/response" "go-humas-be/utils/paginator" ) // PpidDataFilesService type ppidDataFilesService struct { Repo repository.PpidDataFilesRepository Log zerolog.Logger } // PpidDataFilesService define interface of IPpidDataFilesService type PpidDataFilesService interface { All(req request.PpidDataFilesQueryRequest) (ppidDataFiles []*response.PpidDataFilesResponse, paging paginator.Pagination, err error) Show(id uint) (ppidDataFiles *response.PpidDataFilesResponse, err error) Save(req request.PpidDataFilesCreateRequest) (err error) Update(id uint, req request.PpidDataFilesUpdateRequest) (err error) Delete(id uint) error } // NewPpidDataFilesService init PpidDataFilesService func NewPpidDataFilesService(repo repository.PpidDataFilesRepository, log zerolog.Logger) PpidDataFilesService { return &ppidDataFilesService{ Repo: repo, Log: log, } } // All implement interface of PpidDataFilesService func (_i *ppidDataFilesService) All(req request.PpidDataFilesQueryRequest) (ppidDataFiless []*response.PpidDataFilesResponse, paging paginator.Pagination, err error) { results, paging, err := _i.Repo.GetAll(req) if err != nil { return } for _, result := range results { ppidDataFiless = append(ppidDataFiless, mapper.PpidDataFilesResponseMapper(result)) } return } func (_i *ppidDataFilesService) Show(id uint) (ppidDataFiles *response.PpidDataFilesResponse, err error) { result, err := _i.Repo.FindOne(id) if err != nil { return nil, err } return mapper.PpidDataFilesResponseMapper(result), nil } func (_i *ppidDataFilesService) Save(req request.PpidDataFilesCreateRequest) (err error) { _i.Log.Info().Interface("data", req).Msg("") return _i.Repo.Create(req.ToEntity()) } func (_i *ppidDataFilesService) Update(id uint, req request.PpidDataFilesUpdateRequest) (err error) { _i.Log.Info().Interface("data", req).Msg("") return _i.Repo.Update(id, req.ToEntity()) } func (_i *ppidDataFilesService) Delete(id uint) error { return _i.Repo.Delete(id) }