diff options
| author | Merlin Scholz <merlin@scholz.ruhr> | 2026-05-13 20:15:33 +0200 |
|---|---|---|
| committer | Merlin Scholz <merlin@scholz.ruhr> | 2026-05-13 20:15:33 +0200 |
| commit | 60597296eb8b9df9ae8e6e77e0f44929c5ef2970 (patch) | |
| tree | dc5bba83c3fd2269b6fcf1874329d1d5e980e4c5 /H005.go | |
| parent | 57c9ff7ab110dc22c84993d54b52554bd79b86f1 (diff) | |
Move type definitions to proper files and rename according to ebics schema
Diffstat (limited to 'H005.go')
| -rw-r--r-- | H005.go | 77 |
1 files changed, 77 insertions, 0 deletions
@@ -0,0 +1,77 @@ +package libebics + +import "encoding/xml" + +type H005UnsecuredRequest struct { + XMLName xml.Name `xml:"ebicsUnsecuredRequest"` + Xmlns string `xml:"xmlns,attr"` + Version string `xml:"Version,attr"` + Revision string `xml:"Revision,attr"` + Header H005UnsecuredRequestHeader `xml:"header"` + Body H005UnsecuredRequestBody `xml:"body"` +} + +type H005UnsecuredRequestHeader struct { + XMLName xml.Name `xml:"header"` + Authenticate bool `xml:"authenticate,attr"` + Static H005UnsecuredRequestStaticHeaderType `xml:"static"` + Mutable H005EmptyMutableHeaderType `xml:"mutable"` +} + +type H005UnsecuredRequestStaticHeaderType struct { + XMLName xml.Name `xml:"static"` + HostID string `xml:"HostID"` + PartnerID string `xml:"PartnerID"` + UserID string `xml:"UserID"` + Product H005ProductElementType `xml:"Product"` + OrderDetails H005UnsecuredReqOrderDetailsType `xml:"OrderDetails"` + SecurityMedium string `xml:"SecurityMedium"` +} + +type H005ProductElementType struct { + XMLName xml.Name `xml:"Product"` + Language string `xml:"Language,attr"` + Name string `xml:",chardata"` +} + +type H005UnsecuredReqOrderDetailsType struct { + XMLName xml.Name `xml:"OrderDetails"` + AdminOrderType string `xml:"AdminOrderType"` +} + +type H005EmptyMutableHeaderType struct { + XMLName xml.Name `xml:"mutable"` +} + +type H005UnsecuredRequestBody struct { + XMLName xml.Name `xml:"body"` + DataTransfer H005UnsecuredRequestDataTransfer `xml:"DataTransfer"` +} + +type H005UnsecuredRequestDataTransfer struct { + XMLName xml.Name `xml:"DataTransfer"` + OrderData string `xml:"OrderData"` // TODO Properly marshal this +} + +type H005HIARequestOrderDataType struct { + XMLName xml.Name `xml:"HIARequestOrderData"` + Xmlns string `xml:"xmlns,attr"` + Esig string `xml:"xmlns:esig,attr"` + Ds string `xml:"xmlns:ds,attr"` + AuthenticationPubKeyInfo H005AuthenticationPubKeyInfo `xml:"AuthenticationPubKeyInfo"` + EncryptionPubKeyInfo H005EncryptionPubKeyInfo `xml:"EncryptionPubKeyInfo"` + PartnerID string `xml:"PartnerID"` + UserID string `xml:"UserID"` +} + +type H005AuthenticationPubKeyInfo struct { + XMLName xml.Name `xml:"AuthenticationPubKeyInfo"` + X509Data DSIGX509Data `xml:"ds:X509Data"` + AuthenticationVersion string `xml:"AuthenticationVersion"` // TODO Use ENUM +} + +type H005EncryptionPubKeyInfo struct { + XMLName xml.Name `xml:"EncryptionPubKeyInfo"` + X509Data DSIGX509Data `xml:"ds:X509Data"` + EncryptionVersion string `xml:"EncryptionVersion"` // TODO Use ENUM +} |
