added missing tender data to response
This commit is contained in:
@@ -7,7 +7,6 @@ import (
|
||||
"tm/internal/tender"
|
||||
"tm/pkg/logger"
|
||||
"tm/pkg/response"
|
||||
"tm/ted"
|
||||
)
|
||||
|
||||
// Service defines business logic for the document scraper API
|
||||
@@ -20,7 +19,6 @@ type Service interface {
|
||||
|
||||
type service struct {
|
||||
tenderRepo tender.TenderRepository
|
||||
tedParser *ted.TEDParser
|
||||
logger logger.Logger
|
||||
}
|
||||
|
||||
@@ -28,27 +26,10 @@ type service struct {
|
||||
func NewService(tenderRepo tender.TenderRepository, logger logger.Logger) Service {
|
||||
return &service{
|
||||
tenderRepo: tenderRepo,
|
||||
tedParser: ted.NewTEDParser(),
|
||||
logger: logger,
|
||||
}
|
||||
}
|
||||
|
||||
// buildTenderResponse creates a DocumentScraperTenderResponse from a tender
|
||||
func (s *service) buildTenderResponse(_ context.Context, t *tender.Tender) *DocumentScraperTenderResponse {
|
||||
documentURL := t.DocumentURI
|
||||
if documentURL == "" {
|
||||
documentURL = t.TenderURL
|
||||
}
|
||||
|
||||
return &DocumentScraperTenderResponse{
|
||||
ContractFolderID: t.ContractFolderID,
|
||||
NoticePublicationID: t.NoticePublicationID,
|
||||
DocumentURL: documentURL,
|
||||
Title: t.Title,
|
||||
Description: t.Description,
|
||||
}
|
||||
}
|
||||
|
||||
// ListPendingTenders retrieves tenders that have not yet been scraped for documents.
|
||||
// Only returns tenders from Sweden with active deadlines (deadline not yet reached).
|
||||
func (s *service) ListPendingTenders(ctx context.Context, limit, offset int) (*DocumentScraperListResponse, *response.Meta, error) {
|
||||
@@ -107,7 +88,7 @@ func (s *service) ListPendingTenders(ctx context.Context, limit, offset int) (*D
|
||||
}
|
||||
|
||||
for i := range filteredTenders {
|
||||
result.Tenders[i] = *s.buildTenderResponse(ctx, &filteredTenders[i])
|
||||
result.Tenders[i] = *BuildDocumentScraperTenderResponse(&filteredTenders[i])
|
||||
}
|
||||
|
||||
// Build pagination metadata
|
||||
@@ -160,7 +141,7 @@ func (s *service) GetTenderByNoticeID(ctx context.Context, noticeID string) (*Do
|
||||
return nil, fmt.Errorf("tender not found")
|
||||
}
|
||||
|
||||
result := s.buildTenderResponse(ctx, t)
|
||||
result := BuildDocumentScraperTenderResponse(t)
|
||||
|
||||
s.logger.Info("Tender retrieved successfully for document scraper", map[string]interface{}{
|
||||
"notice_id": noticeID,
|
||||
|
||||
Reference in New Issue
Block a user