1414import life .qbic .projectmanagement .application .api .fair .DigitalObject ;
1515import life .qbic .projectmanagement .application .batch .SampleUpdateRequest .SampleInformation ;
1616import life .qbic .projectmanagement .application .confounding .ConfoundingVariableService .ConfoundingVariableInformation ;
17+ import life .qbic .projectmanagement .application .measurement .Labeling ;
1718import life .qbic .projectmanagement .application .sample .SamplePreview ;
1819import life .qbic .projectmanagement .domain .model .sample .Sample ;
20+ import life .qbic .projectmanagement .domain .model .sample .SampleCode ;
1921import org .springframework .lang .Nullable ;
2022import org .springframework .util .MimeType ;
2123import reactor .core .publisher .Flux ;
@@ -321,7 +323,9 @@ sealed interface ExperimentUpdateResponseBody permits ConfoundingVariables, Expe
321323 *
322324 * @since 1.10.0
323325 */
324- sealed interface ValidationRequestBody permits SampleRegistrationInformation , SampleUpdateInformation {
326+ sealed interface ValidationRequestBody permits MeasurementRegistrationInformationNGS ,
327+ MeasurementRegistrationInformationPxP , MeasurementUpdateInformationNGS ,
328+ MeasurementUpdateInformationPxP , SampleRegistrationInformation , SampleUpdateInformation {
325329
326330 }
327331
@@ -683,9 +687,11 @@ record ProjectCreationRequest(ProjectDesign design, ProjectContacts contacts,
683687 * @param requests a collection of {@link SampleRegistrationInformation} items
684688 * @since 1.10.0
685689 */
686- record SampleRegistrationRequest (String projectId , Collection <SampleRegistrationInformation > requests ) {
690+ record SampleRegistrationRequest (String projectId ,
691+ Collection <SampleRegistrationInformation > requests ) {
687692
688- public SampleRegistrationRequest (String projectId , Collection <SampleRegistrationInformation > requests ) {
693+ public SampleRegistrationRequest (String projectId ,
694+ Collection <SampleRegistrationInformation > requests ) {
689695 this .projectId = projectId ;
690696 this .requests = List .copyOf (requests );
691697 }
@@ -700,7 +706,8 @@ public SampleRegistrationRequest(String projectId, Collection<SampleRegistration
700706 */
701707 record SampleUpdateRequest (String projectId , Collection <SampleRegistrationInformation > requests ) {
702708
703- public SampleUpdateRequest (String projectId , Collection <SampleRegistrationInformation > requests ) {
709+ public SampleUpdateRequest (String projectId ,
710+ Collection <SampleRegistrationInformation > requests ) {
704711 this .projectId = projectId ;
705712 this .requests = List .copyOf (requests );
706713 }
@@ -720,7 +727,7 @@ record SampleUpdate(String sampleId, SampleInformation information) {
720727
721728 /**
722729 * A simple container for sample registration information of an individual sample to register.
723-
730+ *
724731 * @param sampleName the sample name
725732 * @param biologicalReplicate the biological replicate label given
726733 * @param condition the String representation of a condition
@@ -748,8 +755,8 @@ record SampleRegistrationInformation(
748755 Map <String , String > confoundingVariables ,
749756 String experimentId ,
750757 String projectId
751- ) implements ValidationRequestBody {}
752-
758+ ) implements ValidationRequestBody {
759+ }
753760
754761 /**
755762 * A simple container for sample update information of an individual sample to register.
@@ -783,7 +790,75 @@ record SampleUpdateInformation(
783790 Map <String , String > confoundingVariables ,
784791 String experimentId ,
785792 String projectId
786- ) implements ValidationRequestBody {}
793+ ) implements ValidationRequestBody {
794+
795+ }
796+
797+
798+
799+ record MeasurementRegistrationInformationNGS (
800+ Collection <String > sampleCodes ,
801+ String organisationId , String instrumentCURI , String facility ,
802+ String sequencingReadType , String libraryKit , String flowCell ,
803+ String sequencingRunProtocol , String samplePoolGroup ,
804+ String indexI7 , String indexI5 ,
805+ String comment
806+ ) implements ValidationRequestBody {
807+ }
808+
809+ record MeasurementUpdateInformationNGS (
810+ String measurementCode ,
811+ Collection <String > sampleCodes ,
812+ String organisationId , String instrumentCURI ,
813+ String facility ,
814+ String sequencingReadType , String libraryKit ,
815+ String flowCell ,
816+ String sequencingRunProtocol , String samplePoolGroup ,
817+ String indexI7 , String indexI5 ,
818+ String comment ) implements ValidationRequestBody {
819+ }
820+
821+ record MeasurementRegistrationInformationPxP (
822+ SampleCode sampleCode ,
823+ String technicalReplicateName ,
824+ String organisationId ,
825+ String msDeviceCURIE ,
826+ String samplePoolGroup ,
827+ String facility ,
828+ String fractionName ,
829+ String digestionEnzyme ,
830+ String digestionMethod ,
831+ String enrichmentMethod ,
832+ String injectionVolume ,
833+ String lcColumn ,
834+ String lcmsMethod ,
835+ Labeling labeling ,
836+ String comment
837+ ) implements ValidationRequestBody {
838+
839+ }
840+
841+ record MeasurementUpdateInformationPxP (
842+ String measurementId ,
843+ SampleCode sampleCode ,
844+ String technicalReplicateName ,
845+ String organisationId ,
846+ String msDeviceCURIE ,
847+ String samplePoolGroup ,
848+ String facility ,
849+ String fractionName ,
850+ String digestionEnzyme ,
851+ String digestionMethod ,
852+ String enrichmentMethod ,
853+ String injectionVolume ,
854+ String lcColumn ,
855+ String lcmsMethod ,
856+ Labeling labeling ,
857+ String comment
858+ ) implements ValidationRequestBody {
859+
860+ }
861+
787862
788863 /**
789864 * A service response from a project creation request
0 commit comments