Skip to content

Commit

Permalink
Remove GetDefaultJsonTags() (#336)
Browse files Browse the repository at this point in the history
Remove GetDefaultJsonTags().
  • Loading branch information
GodsBoss authored Nov 20, 2024
1 parent ad2c939 commit 20ecd0b
Show file tree
Hide file tree
Showing 26 changed files with 22 additions and 126 deletions.
7 changes: 2 additions & 5 deletions bo/angebot.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package bo

import (
"time"

"github.com/hochfrequenz/go-bo4e/com"
"github.com/hochfrequenz/go-bo4e/enum/sparte"
"time"
)

// THIS IS STILL WIP - missing Angebotsvariante, Angebotsteil, Angebotsstatus etc.
Expand All @@ -24,7 +25,3 @@ type Angebot struct {
UnterzeichnerAngebotsgeber *Ansprechpartner `json:"unterzeichnerAngebotsgeber,omitempty"` // Link auf die Person, die als Angebotsgeber das Angebot ausgestellt hat.
Varianten []com.Angebotsvariante `json:"varianten,omitempty"` // Eine oder mehrere Varianten des Angebots mit den Angebotsteilen. Ein Angebot besteht mindestens aus einer Variante.
}

func (_ Angebot) GetDefaultJsonTags() []string {
panic("todo: implement me") // this is needed for (un)marshaling of non-default/unknown json fields
}
4 changes: 0 additions & 4 deletions bo/ansprechpartner.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,3 @@ type Ansprechpartner struct {
// https://github.com/Hochfrequenz/bo4e-modification-proposals/blob/master/markdown/ansprechpartner_rufnummern.md

}

func (_ Ansprechpartner) GetDefaultJsonTags() []string {
panic("todo: implement me") // this is needed for (un)marshaling of non-default/unknown json fields
}
4 changes: 0 additions & 4 deletions bo/avis.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,6 @@ type Avis struct {
ZuZahlen com.Betrag `json:"zuZahlen,omitempty" validate:"required"` // Summenbetrag
}

func (_ Avis) GetDefaultJsonTags() []string {
panic("todo: implement me") // this is needed for (un)marshaling of non-default/unknown json fields
}

// AvisStructLevelValidation combines all the single validators
func AvisStructLevelValidation(sl validator.StructLevel) {
AvisStructLevelValidationZuZahlen(sl)
Expand Down
12 changes: 3 additions & 9 deletions bo/bilanzierung.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@ import (
"encoding/json"
"fmt"

"regexp"
"time"

"github.com/go-playground/validator/v10"
"github.com/hochfrequenz/go-bo4e/enum/abwicklungsmodell"
"github.com/hochfrequenz/go-bo4e/internal/unmappeddatamarshaller"
"regexp"
"time"

"github.com/hochfrequenz/go-bo4e/com"
"github.com/hochfrequenz/go-bo4e/enum/aggregationsverantwortung"
Expand All @@ -17,7 +18,6 @@ import (
"github.com/hochfrequenz/go-bo4e/enum/prognosegrundlage"
"github.com/hochfrequenz/go-bo4e/enum/wahlrechtprognosegrundlage"
"github.com/hochfrequenz/go-bo4e/enum/zeitreihentyp"
"github.com/hochfrequenz/go-bo4e/internal/jsonfieldnames"
"github.com/shopspring/decimal"
)

Expand Down Expand Up @@ -48,12 +48,6 @@ type Bilanzierung struct {

}

func (bila Bilanzierung) GetDefaultJsonTags() []string {
// We know we pass a struct here so ignore the error.
fields, _ := jsonfieldnames.Extract(bila)
return fields
}

func (bila *Bilanzierung) UnmarshalJSON(bytes []byte) (err error) {
return unmappeddatamarshaller.UnmarshallWithUnmappedData(bila, &bila.ExtensionData, bytes)
}
Expand Down
2 changes: 0 additions & 2 deletions bo/businessobject.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@ type BusinessObject interface {
GetBoTyp() botyp.BOTyp
// GetVersionStruktur returns the Geschaeftsobjekt.VersionStruktur
GetVersionStruktur() string
// GetDefaultJsonTags returns an array of string that represent the json tags that are (by default) used by this business object
GetDefaultJsonTags() []string
}

// Geschaeftsobjekt is the common base struct of all Business Objects
Expand Down
4 changes: 0 additions & 4 deletions bo/einspeisung.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,3 @@ type Einspeisung struct {
Landescode *landescode.Landescode `json:"landescode,omitempty"` // Land der Förderung
FernsteuerbarkeitStatus *fernsteuerbarkeitstatus.FernsteuerbarkeitStatus `json:"fernsteuerbarkeitStatus,omitempty"` // Status der Fernsteuerbarkeit einer Marktlokation
}

func (_ Einspeisung) GetDefaultJsonTags() []string {
panic("todo: implement me") // this is needed for (un)marshaling of non-default/unknown json fields
}
4 changes: 0 additions & 4 deletions bo/energiemenge.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,3 @@ type Energiemenge struct {
LokationsTyp *lokationstyp.Lokationstyp `json:"lokationsTyp,omitempty" example:"MELO" validate:"required"` // LokationsTyp is the type of the location in LokationsId
Verbrauch []com.Verbrauch `json:"energieverbrauch,omitempty" validate:"required,min=1"` // Verbrauch are consumption data
}

func (_ Energiemenge) GetDefaultJsonTags() []string {
panic("todo: implement me") // this is needed for (un)marshaling of non-default/unknown json fields
}
4 changes: 0 additions & 4 deletions bo/geschaeftspartner.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,3 @@ type Geschaeftspartner struct {
Erreichbarkeit *com.Erreichbarkeit `json:"erreichbarkeit,omitempty"`
GruendeDerPrivilegierungNachEnFG []grundderprivilegierungnachenfg.GrundDerPrivilegierungNachEnFG `json:"gruendeDerPrivilegierungNachEnFG,omitempty"` //Erreichbarkeit ist die Erreichbarkeit des Geschäftspartners
}

func (_ Geschaeftspartner) GetDefaultJsonTags() []string {
panic("todo: implement me") // this is needed for (un)marshaling of non-default/unknown json fields
}
4 changes: 0 additions & 4 deletions bo/handelsunstimmigkeit.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,3 @@ type Handelsunstimmigkeit struct {
// Betrag is the requested sum amount (optional).
Betrag *com.Betrag `json:"zuZahlen,omitempty"`
}

func (_ Handelsunstimmigkeit) GetDefaultJsonTags() []string {
panic("todo: implement me") // this is needed for (un)marshaling of non-default/unknown json fields
}
4 changes: 0 additions & 4 deletions bo/lastgang.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,3 @@ type Lastgang struct {
Obiskennzahl string `json:"obiskennzahl,omitempty" example:"1-0:1.8.1"` // Obiskennzahl ist die genormte OBIS-Kennzahl zur Kennzeichnung der Messgröße
Werte []com.Zeitreihenwert `json:"energieverbrauch,omitempty" validate:"required,min=1"` // Werte sind die im Lastgang enthaltenen Messwerte.
}

func (_ Lastgang) GetDefaultJsonTags() []string {
panic("todo: implement me") // this is needed for (un)marshaling of non-default/unknown json fields
}
7 changes: 0 additions & 7 deletions bo/marktlokation.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import (
"github.com/hochfrequenz/go-bo4e/enum/netzebene"
"github.com/hochfrequenz/go-bo4e/enum/sparte"
"github.com/hochfrequenz/go-bo4e/enum/verbrauchsart"
"github.com/hochfrequenz/go-bo4e/internal/jsonfieldnames"
)

// Marktlokation contains information about a market location aka "MaLo"
Expand Down Expand Up @@ -77,12 +76,6 @@ func (malo Marktlokation) MarshalJSON() (bytes []byte, err error) {
return unmappeddatamarshaller.HandleUnmappedDataPropertyMarshalling(byteArr)
}

func (malo Marktlokation) GetDefaultJsonTags() []string {
// We know we pass a struct here so ignore the error.
fields, _ := jsonfieldnames.Extract(malo)
return fields
}

var elevenDigitsRegex = regexp.MustCompile(`^[1-9]\d{10}$`)

// MaloIdFieldLevelValidation validates the Marktlokationsid as specified by the BDEW
Expand Down
8 changes: 1 addition & 7 deletions bo/marktteilnehmer.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ package bo

import (
"encoding/json"

"github.com/hochfrequenz/go-bo4e/enum/marktrolle"
"github.com/hochfrequenz/go-bo4e/enum/rollencodetyp"
"github.com/hochfrequenz/go-bo4e/internal/jsonfieldnames"
"github.com/hochfrequenz/go-bo4e/internal/unmappeddatamarshaller"
)

Expand All @@ -18,12 +18,6 @@ type Marktteilnehmer struct {
Ansprechpartner *Ansprechpartner `json:"ansprechpartner,omitempty" validate:"omitempty"` // Ansprechpartner ist ein Kontakt zur bilateralen Klärung
}

func (marktteilnehmer Marktteilnehmer) GetDefaultJsonTags() []string {
// We know we pass a struct here so ignore the error.
fields, _ := jsonfieldnames.Extract(marktteilnehmer)
return fields
}

func (marktteilnehmer *Marktteilnehmer) UnmarshalJSON(bytes []byte) (err error) {
return unmappeddatamarshaller.UnmarshallWithUnmappedData(marktteilnehmer, &marktteilnehmer.ExtensionData, bytes)
}
Expand Down
8 changes: 1 addition & 7 deletions bo/messlokation.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ package bo

import (
"encoding/json"

"github.com/go-playground/validator/v10"
"github.com/hochfrequenz/go-bo4e/com"
"github.com/hochfrequenz/go-bo4e/enum/gasqualitaet"
"github.com/hochfrequenz/go-bo4e/enum/netzebene"
"github.com/hochfrequenz/go-bo4e/enum/sparte"
"github.com/hochfrequenz/go-bo4e/internal/jsonfieldnames"
"github.com/hochfrequenz/go-bo4e/internal/unmappeddatamarshaller"
)

Expand Down Expand Up @@ -46,12 +46,6 @@ func XorStructLevelMesslokationValidation(sl validator.StructLevel) {
}
}

func (melo Messlokation) GetDefaultJsonTags() []string {
// We know we pass a struct here so ignore the error.
fields, _ := jsonfieldnames.Extract(melo)
return fields
}

func (melo *Messlokation) UnmarshalJSON(bytes []byte) (err error) {
return unmappeddatamarshaller.UnmarshallWithUnmappedData(melo, &melo.ExtensionData, bytes)
}
Expand Down
9 changes: 3 additions & 6 deletions bo/netzlokation.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@ package bo

import (
"fmt"
"regexp"
"strconv"

"github.com/hochfrequenz/go-bo4e/com"
"github.com/hochfrequenz/go-bo4e/enum/marktrolle"
"github.com/hochfrequenz/go-bo4e/enum/sparte"
"github.com/hochfrequenz/go-bo4e/internal"
"regexp"
"strconv"
)

// NeLo is short for Netzlokation.
Expand Down Expand Up @@ -68,7 +69,3 @@ type Netzlokation struct {
EigenschaftMSBLokation *marktrolle.Marktrolle `json:"eigenschaftMSBLokation,omitempty"` // Eigenschaft des Messstellenbetreibers an der Lokation
LokationsbuendelObjektcode *string `json:"lokationsbuendelObjektcode,omitempty"` // Lokationsbuendel-Code, der die Funktion dieses BOs an der Lokationsbuendelstruktur beschreibt.
}

func (_ Netzlokation) GetDefaultJsonTags() []string {
panic("todo: implement me") // this is needed for (un)marshaling of non-default/unknown json fields
}
4 changes: 0 additions & 4 deletions bo/netznutzungsrechnung.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,3 @@ type Netznutzungsrechnung struct {
Simuliert bool `json:"simuliert"` // Simuliert ist ein Kennzeichen, ob es sich um eine simulierte Rechnung, z.B. zur Rechnungsprüfung handelt.
LokationsId string `json:"lokationsId,omitempty" validate:"omitempty,alphanum,max=33,min=11"` // LokationsId ist die Markt- oder Messlokations-Identifikation (als Malo/Melo-Id) der Lokation, auf die sich die Rechnung bezieht.
}

func (_ Netznutzungsrechnung) GetDefaultJsonTags() []string {
panic("todo: implement me") // this is needed for (un)marshaling of non-default/unknown json fields
}
4 changes: 0 additions & 4 deletions bo/preisblatt.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,3 @@ type Preisblatt struct {
Gueltigkeit com.Zeitraum `json:"gueltigkeit" validate:"required"` // Der Zeitraum für den der Preis festgelegt ist
Preispositionen []com.Preisposition `json:"preispositionen" validate:"required"` // Die einzelnen Positionen, die mit dem Preisblatt abgerechnet werden können. Z.B. Arbeitspreis, Grundpreis etc
}

func (_ Preisblatt) GetDefaultJsonTags() []string {
panic("todo: implement me") // this is needed for (un)marshaling of non-default/unknown json fields
}
7 changes: 2 additions & 5 deletions bo/rechnung.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package bo

import (
"github.com/hochfrequenz/go-bo4e/enum/sonderrechnungsart"
"time"

"github.com/hochfrequenz/go-bo4e/enum/sonderrechnungsart"

"github.com/go-playground/validator/v10"
"github.com/hochfrequenz/go-bo4e/com"
"github.com/hochfrequenz/go-bo4e/enum/rechnungsstatus"
Expand Down Expand Up @@ -40,10 +41,6 @@ type Rechnung struct {
Buchungsdatum time.Time `json:"buchungsdatum,omitempty"` // Buchungsdatum ist das Datum, zu dem die Zahlung fällig ist
}

func (_ Rechnung) GetDefaultJsonTags() []string {
panic("todo: implement me") // this is needed for (un)marshaling of non-default/unknown json fields
}

// RechnungStructLevelValidation combines all the single validators
func RechnungStructLevelValidation(sl validator.StructLevel) {
RechnungStructLevelValidationGesamtNetto(sl)
Expand Down
4 changes: 0 additions & 4 deletions bo/reklamation.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,3 @@ type Reklamation struct {
ReklamationsgrundBemerkung string `json:"reklamationsgrundBemerkung,omitempty" validate:"omitempty"` // ReklamationsgrundBemerkung ist ein Freitext für eine weitere Beschreibung des Reklamationsgrunds
Positionsnummer int `json:"positionsnummer,omitempty" validate:"omitempty"` // Positionsnummer ist eine fortlaufende Nummer für die Position
}

func (_ Reklamation) GetDefaultJsonTags() []string {
panic("todo: implement me") // this is needed for (un)marshaling of non-default/unknown json fields
}
4 changes: 0 additions & 4 deletions bo/statusbericht.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,3 @@ type Statusbericht struct {
DatumPruefung time.Time `json:"datumPruefung"` // Pruefdatum (wann wurde der Pruefgegenstand geprüft)
Fehler *com.Fehler `json:"fehler,omitempty"` // Liste der Fehler
}

func (s Statusbericht) GetDefaultJsonTags() []string {
panic("implement me") // this is needed for (un)marshaling of non-default/unknown json fields
}
9 changes: 3 additions & 6 deletions bo/steuerbareressorce.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@ package bo

import (
"fmt"
"github.com/hochfrequenz/go-bo4e/enum/steuerkanalsleistungsbeschreibung"
"github.com/hochfrequenz/go-bo4e/internal"
"regexp"
"strconv"

"github.com/hochfrequenz/go-bo4e/enum/steuerkanalsleistungsbeschreibung"
"github.com/hochfrequenz/go-bo4e/internal"
)

// SR-ID is short for Steuerbare Ressource-ID
Expand Down Expand Up @@ -56,7 +57,3 @@ type SteuerbareRessource struct {
SteuerkanalsLeistungsbeschreibung *steuerkanalsleistungsbeschreibung.Steuerkanalsleistungsbeschreibung `json:"steuerkanalsLeistungsbeschreibung"` // Leistungsbeschreibung des Steuerkanals
ZugeordnetMSBCodeNr *string `json:"zugeordnetMSBCodeNr"` // Angabe des Messstellenbetreibers, der der Steuerbaren Ressource zugeordnet ist
}

func (_ SteuerbareRessource) GetDefaultJsonTags() []string {
panic("todo: implement me") // this is needed for (un)marshaling of non-default/unknown json fields
}
4 changes: 0 additions & 4 deletions bo/summenzeitreihe.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,3 @@ package bo
type Summenzeitreihe struct {
Geschaeftsobjekt
}

func (_ Summenzeitreihe) GetDefaultJsonTags() []string {
panic("todo: implement me") // this is needed for (un)marshaling of non-default/unknown json fields
}
9 changes: 3 additions & 6 deletions bo/technischeressource.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ package bo

import (
"fmt"
"regexp"
"strconv"

"github.com/hochfrequenz/go-bo4e/com"
"github.com/hochfrequenz/go-bo4e/enum/emobilitaetsart"
"github.com/hochfrequenz/go-bo4e/enum/erzeugungsart"
Expand All @@ -10,8 +13,6 @@ import (
"github.com/hochfrequenz/go-bo4e/enum/technischeressourceverbrauchsart"
"github.com/hochfrequenz/go-bo4e/enum/waermenutzung"
"github.com/hochfrequenz/go-bo4e/internal"
"regexp"
"strconv"
)

// TR-ID is short for Technische Ressource-ID
Expand Down Expand Up @@ -72,7 +73,3 @@ type TechnischeRessource struct {
Erzeugungsart *erzeugungsart.Erzeugungsart `json:"erzeugungsart" example:"CAV+ZF5"` //Art der Erzeugung der Energie
Speicherart *speicherart.Speicherart `json:"speicherart" example:"CAV+ZF7"` //Art der speicher. Details <see cref="ENUM.Speicherart" />
}

func (_ TechnischeRessource) GetDefaultJsonTags() []string {
panic("todo: implement me") // this is needed for (un)marshaling of non-default/unknown json fields
}
4 changes: 0 additions & 4 deletions bo/tranche.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,3 @@ type Tranche struct {
Aufteilungsmenge decimal.NullDecimal `json:"aufteilungsmenge" validate:"required"` // Prozentualer Anteil der Tranche an der erzeugenden Marktlokation in Prozent mit 2 Nachkommastellen
ObisKennzahl *string `json:"obisKennzahl" validate:"required"` // Die OBIS-Kennzahl für die Tranche, die festlegt, welche auf die gemessene Größe mit dem Stand gemeldet wird.
}

func (_ Tranche) GetDefaultJsonTags() []string {
panic("todo: implement me") // this is needed for (un)marshaling of non-default/unknown json fields
}
7 changes: 2 additions & 5 deletions bo/vertrag.go
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
package bo

import (
"time"

"github.com/hochfrequenz/go-bo4e/com"
"github.com/hochfrequenz/go-bo4e/enum/sparte"
"github.com/hochfrequenz/go-bo4e/enum/vertragsart"
"github.com/hochfrequenz/go-bo4e/enum/vertragsstatus"
"github.com/shopspring/decimal"
"time"
)

// Vertrag ist ein Modell für die Abbildung von Vertragsbeziehungen. Das Objekt dient dazu, alle Arten von Verträgen, die in der Energiewirtschaft Verwendung finden, abzubilden.
Expand All @@ -28,7 +29,3 @@ type Vertrag struct {
Vertragsteile []com.Vertragsteil `json:"vertragsteile,omitempty" validate:"required,min=1"` // Vertragsteile sind die Vertragsteile, die dazu verwendet werden, eine vertragliche Leistung in Bezug zu einer Lokation (Markt- oder Messlokation) festzulegen.
Gemeinderabatt decimal.NullDecimal `json:"gemeinderabatt" validate:"required"` // Gemeinderabatt für EDIFACT mapping.
}

func (_ Vertrag) GetDefaultJsonTags() []string {
panic("todo: implement me") // this is needed for (un)marshaling of non-default/unknown json fields
}
4 changes: 0 additions & 4 deletions bo/zaehler.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,3 @@ type Zaehler struct {
Fernschaltung *fernschaltung.Fernschaltung `json:"fernschaltung,omitempty"` // Fernschaltung is set to VORHANDEN if there is a fernschaltung
Messwerterfassung *messwerterfassung.Messwerterfassung `json:"messwerterfassung,omitempty"` // Messwerterfassung describes if meter readings have to happen manually
}

func (_ Zaehler) GetDefaultJsonTags() []string {
panic("todo: implement me") // this is needed for (un)marshaling of non-default/unknown json fields
}
7 changes: 2 additions & 5 deletions bo/zaehlzeitdefinition.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package bo

import (
"time"

"github.com/hochfrequenz/go-bo4e/com"
"github.com/hochfrequenz/go-bo4e/enum/definitionennotwendigkeit"
"time"
)

// Zaehlzeitdefinition en nutzt der NB bzw. LF für die Tarifierung von Werten.
Expand All @@ -19,7 +20,3 @@ type Zaehlzeitdefinition struct {
Zaehlzeitregister []com.Zaehlzeitregister `json:"zaehlzeitregister,omitempty"`
AusgerollteZaehlzeiten []com.AusgerollteZaehlzeit `json:"ausgerollteZaehlzeiten,omitempty"`
}

func (_ Zaehlzeitdefinition) GetDefaultJsonTags() []string {
panic("todo: implement me") // this is needed for (un)marshaling of non-default/unknown json fields
}

0 comments on commit 20ecd0b

Please sign in to comment.