Refactor TED Calendar and EForm Structure for Enhanced Functionality
- Updated the GetOJS function to accept a base URL parameter, improving flexibility in constructing the calendar URL. - Removed the deprecated eform.go file, streamlining the codebase by eliminating unused components. - Introduced new eform structures for BusinessRegistrationInformationNotice, ContractNotice, ContractAwardNotice, and PriorInformationNotice, enhancing the handling of TED XML data. - Implemented mapping functions to convert eform notices to the Tender entity, improving integration with the tender management system. - Added a service layer to encapsulate business logic related to eform processing, adhering to Clean Architecture principles.
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
package business_registration_information
|
||||
|
||||
import (
|
||||
"encoding/xml"
|
||||
"tm/internal/tender"
|
||||
"tm/ted/eform"
|
||||
)
|
||||
|
||||
// BusinessRegistrationInformationNotice represents the UBL BusinessRegistrationInformationNotice structure
|
||||
type BusinessRegistrationInformationNotice struct {
|
||||
XMLName xml.Name `xml:"BusinessRegistrationInformationNotice"`
|
||||
UBLVersionID string `json:"ubl_version_id" xml:"UBLVersionID"`
|
||||
CustomizationID string `json:"customization_id" xml:"CustomizationID"`
|
||||
ID string `json:"id" xml:"ID"`
|
||||
IssueDate string `json:"issue_date" xml:"IssueDate"`
|
||||
IssueTime string `json:"issue_time,omitempty" xml:"IssueTime,omitempty"`
|
||||
VersionID string `json:"version_id,omitempty" xml:"VersionID,omitempty"`
|
||||
RegulatoryDomain string `json:"regulatory_domain,omitempty" xml:"RegulatoryDomain,omitempty"`
|
||||
NoticeTypeCode string `json:"notice_type_code" xml:"NoticeTypeCode"`
|
||||
NoticeLanguageCode string `json:"notice_language_code" xml:"NoticeLanguageCode"`
|
||||
UBLExtensions eform.UBLExtensions `json:"ubl_extensions,omitempty" xml:"UBLExtensions,omitempty"`
|
||||
AdditionalNoticeLanguage []eform.AdditionalNoticeLanguage `json:"additional_notice_language,omitempty" xml:"AdditionalNoticeLanguage,omitempty"`
|
||||
SenderParty eform.SenderParty `json:"sender_party,omitempty" xml:"SenderParty,omitempty"`
|
||||
BusinessParty eform.BusinessParty `json:"business_party" xml:"BusinessParty"`
|
||||
AdditionalDocumentReference []eform.AdditionalDocumentReference `json:"additional_document_reference,omitempty" xml:"AdditionalDocumentReference,omitempty"`
|
||||
BusinessCapability []eform.BusinessCapability `json:"business_capability,omitempty" xml:"BusinessCapability,omitempty"`
|
||||
NoticePurpose eform.NoticePurpose `json:"notice_purpose,omitempty" xml:"NoticePurpose,omitempty"`
|
||||
}
|
||||
|
||||
// GetID returns the business registration information notice ID
|
||||
func (brin BusinessRegistrationInformationNotice) GetID() string {
|
||||
return brin.ID
|
||||
}
|
||||
|
||||
// Validate validates the parsed model
|
||||
func (brin BusinessRegistrationInformationNotice) Validate() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (notice BusinessRegistrationInformationNotice) MapToTender() *tender.Tender {
|
||||
t := new(tender.Tender)
|
||||
t.ContractNoticeID = notice.GetID()
|
||||
return t
|
||||
}
|
||||
Reference in New Issue
Block a user