@@ -78,7 +78,6 @@ type DataFlowSpec struct {
7878}
7979
8080// SourceSpec defines the source configuration (type + config).
81- // Supports both generic format (type+config) and legacy format (type+kafka/postgresql/etc) when unmarshaling.
8281// +kubebuilder:pruning:PreserveUnknownFields
8382type SourceSpec struct {
8483 // Type of source: kafka, postgresql, trino, clickhouse, nessie, or plugin type
@@ -91,50 +90,6 @@ type SourceSpec struct {
9190 Config * runtime.RawExtension `json:"config,omitempty"`
9291}
9392
94- // sourceSpecRaw is used for unmarshaling legacy format (type + kafka/postgresql/etc).
95- type sourceSpecRaw struct {
96- Type string `json:"type"`
97- Config * runtime.RawExtension `json:"config,omitempty"`
98- Kafka * KafkaSourceSpec `json:"kafka,omitempty"`
99- PostgreSQL * PostgreSQLSourceSpec `json:"postgresql,omitempty"`
100- Trino * TrinoSourceSpec `json:"trino,omitempty"`
101- ClickHouse * ClickHouseSourceSpec `json:"clickhouse,omitempty"`
102- Nessie * NessieSourceSpec `json:"nessie,omitempty"`
103- }
104-
105- // UnmarshalJSON supports both generic (type+config) and legacy (type+kafka/etc) formats.
106- func (s * SourceSpec ) UnmarshalJSON (data []byte ) error {
107- var r sourceSpecRaw
108- if err := json .Unmarshal (data , & r ); err != nil {
109- return err
110- }
111- s .Type = r .Type
112- s .Config = r .Config
113- if s .Config == nil || len (s .Config .Raw ) == 0 {
114- var cfg interface {}
115- switch r .Type {
116- case "kafka" :
117- cfg = r .Kafka
118- case "postgresql" :
119- cfg = r .PostgreSQL
120- case "trino" :
121- cfg = r .Trino
122- case "clickhouse" :
123- cfg = r .ClickHouse
124- case "nessie" :
125- cfg = r .Nessie
126- }
127- if cfg != nil {
128- b , err := json .Marshal (cfg )
129- if err != nil {
130- return err
131- }
132- s .Config = & runtime.RawExtension {Raw : b }
133- }
134- }
135- return nil
136- }
137-
13893// GetKafkaConfig returns Kafka config from Config.
13994func (s * SourceSpec ) GetKafkaConfig () (* KafkaSourceSpec , error ) {
14095 if s .Config == nil || len (s .Config .Raw ) == 0 {
@@ -505,7 +460,6 @@ type KeycloakConfig struct {
505460}
506461
507462// SinkSpec defines the sink configuration (type + config).
508- // Supports both generic format (type+config) and legacy format (type+kafka/postgresql/etc) when unmarshaling.
509463// +kubebuilder:pruning:PreserveUnknownFields
510464type SinkSpec struct {
511465 // Type of sink: kafka, postgresql, trino, clickhouse, nessie, or plugin type
@@ -517,50 +471,6 @@ type SinkSpec struct {
517471 Config * runtime.RawExtension `json:"config,omitempty"`
518472}
519473
520- // sinkSpecRaw is used for unmarshaling legacy format.
521- type sinkSpecRaw struct {
522- Type string `json:"type"`
523- Config * runtime.RawExtension `json:"config,omitempty"`
524- Kafka * KafkaSinkSpec `json:"kafka,omitempty"`
525- PostgreSQL * PostgreSQLSinkSpec `json:"postgresql,omitempty"`
526- Trino * TrinoSinkSpec `json:"trino,omitempty"`
527- ClickHouse * ClickHouseSinkSpec `json:"clickhouse,omitempty"`
528- Nessie * NessieSinkSpec `json:"nessie,omitempty"`
529- }
530-
531- // UnmarshalJSON supports both generic and legacy formats.
532- func (s * SinkSpec ) UnmarshalJSON (data []byte ) error {
533- var r sinkSpecRaw
534- if err := json .Unmarshal (data , & r ); err != nil {
535- return err
536- }
537- s .Type = r .Type
538- s .Config = r .Config
539- if s .Config == nil || len (s .Config .Raw ) == 0 {
540- var cfg interface {}
541- switch r .Type {
542- case "kafka" :
543- cfg = r .Kafka
544- case "postgresql" :
545- cfg = r .PostgreSQL
546- case "trino" :
547- cfg = r .Trino
548- case "clickhouse" :
549- cfg = r .ClickHouse
550- case "nessie" :
551- cfg = r .Nessie
552- }
553- if cfg != nil {
554- b , err := json .Marshal (cfg )
555- if err != nil {
556- return err
557- }
558- s .Config = & runtime.RawExtension {Raw : b }
559- }
560- }
561- return nil
562- }
563-
564474// GetKafkaConfig returns Kafka sink config.
565475func (s * SinkSpec ) GetKafkaConfig () (* KafkaSinkSpec , error ) {
566476 if s .Config == nil || len (s .Config .Raw ) == 0 {
@@ -905,7 +815,6 @@ type SASLConfig struct {
905815}
906816
907817// TransformationSpec defines a transformation to apply (type + config).
908- // Supports both generic format (type+config) and legacy format (type+timestamp/flatten/etc) when unmarshaling.
909818// +kubebuilder:pruning:PreserveUnknownFields
910819type TransformationSpec struct {
911820 // Type of transformation: timestamp, flatten, filter, mask, router, select, remove, snakeCase, camelCase
@@ -917,62 +826,6 @@ type TransformationSpec struct {
917826 Config * runtime.RawExtension `json:"config,omitempty"`
918827}
919828
920- // transformationSpecRaw is used for unmarshaling legacy format.
921- type transformationSpecRaw struct {
922- Type string `json:"type"`
923- Config * runtime.RawExtension `json:"config,omitempty"`
924- Timestamp * TimestampTransformation `json:"timestamp,omitempty"`
925- Flatten * FlattenTransformation `json:"flatten,omitempty"`
926- Filter * FilterTransformation `json:"filter,omitempty"`
927- Mask * MaskTransformation `json:"mask,omitempty"`
928- Router * RouterTransformation `json:"router,omitempty"`
929- Select * SelectTransformation `json:"select,omitempty"`
930- Remove * RemoveTransformation `json:"remove,omitempty"`
931- SnakeCase * SnakeCaseTransformation `json:"snakeCase,omitempty"`
932- CamelCase * CamelCaseTransformation `json:"camelCase,omitempty"`
933- }
934-
935- // UnmarshalJSON supports both generic and legacy formats.
936- func (t * TransformationSpec ) UnmarshalJSON (data []byte ) error {
937- var r transformationSpecRaw
938- if err := json .Unmarshal (data , & r ); err != nil {
939- return err
940- }
941- t .Type = r .Type
942- t .Config = r .Config
943- if t .Config == nil || len (t .Config .Raw ) == 0 {
944- var cfg interface {}
945- switch r .Type {
946- case "timestamp" :
947- cfg = r .Timestamp
948- case "flatten" :
949- cfg = r .Flatten
950- case "filter" :
951- cfg = r .Filter
952- case "mask" :
953- cfg = r .Mask
954- case "router" :
955- cfg = r .Router
956- case "select" :
957- cfg = r .Select
958- case "remove" :
959- cfg = r .Remove
960- case "snakeCase" :
961- cfg = r .SnakeCase
962- case "camelCase" :
963- cfg = r .CamelCase
964- }
965- if cfg != nil {
966- b , err := json .Marshal (cfg )
967- if err != nil {
968- return err
969- }
970- t .Config = & runtime.RawExtension {Raw : b }
971- }
972- }
973- return nil
974- }
975-
976829// GetTimestampConfig returns Timestamp transformation config.
977830func (t * TransformationSpec ) GetTimestampConfig () (* TimestampTransformation , error ) {
978831 if t .Config == nil || len (t .Config .Raw ) == 0 {
0 commit comments