Skip to content

Conversation

@clarktsiory
Copy link
Contributor

@clarktsiory clarktsiory commented Dec 16, 2025

https://issues.rudder.io/issues/28052

Moving the type-classes for CSV from a private plugins to utils, since we would need it other places than plugins

The changes are about :

  • adding rest utils for CSV responses in the API
  • migrating the syntax to Scala 3
  • adding some instances (some datatypes such as DateTime, ZonedDateTime)
  • using ProductDerivation in magnolia, since we don't know how to derive "sum" types (CSV model maps to case class which can just derive an instance, and sealed trait instances will need to be defined manually)

@clarktsiory clarktsiory force-pushed the ust_28052/add_csv_common_datastructures_in_rudder_as_utils branch from 8a9496e to aa40860 Compare December 17, 2025 15:17
@clarktsiory
Copy link
Contributor Author

Commit modified

1 similar comment
@clarktsiory
Copy link
Contributor Author

Commit modified

@clarktsiory clarktsiory force-pushed the ust_28052/add_csv_common_datastructures_in_rudder_as_utils branch from aa40860 to b54c827 Compare January 9, 2026 16:15
@clarktsiory clarktsiory force-pushed the ust_28052/add_csv_common_datastructures_in_rudder_as_utils branch from b54c827 to 3a3f358 Compare January 9, 2026 17:08
@clarktsiory
Copy link
Contributor Author

Commit modified

@fanf
Copy link
Member

fanf commented Jan 16, 2026

You are missing unit tests :) Especially on a feature that wills to become generic up to standard HTTP response

@clarktsiory
Copy link
Contributor Author

@fanf I will add examples of tests for the whole Csv and Header derivation parts, I think in another PR, since I'd like to find some classic examples for csv structures and different ways to represent columns from Scala ADTs...

Also, for the REST util methods, they will need to be based on sample datastructures too, so I'll be it adding at the same time too

@clarktsiory clarktsiory marked this pull request as ready for review January 30, 2026 15:25
Copy link
Member

@fanf fanf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At minima, you need to remove the now useless dependency in rudder/rudder-templates/pom.xml

</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is there a lot of work to remove commans-lang if we have commons-lang3 ?

  • commons-lang is in pom.xml
  • we aleady have commons-lang3 in rudder/rudder-templates/pom.xml (so we should already have done that work likely)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants