7
7
using IndicoV2 . CommonModels . Pagination ;
8
8
using IndicoV2 . StrawberryShake ;
9
9
using IndicoV2 . Submissions . Models ;
10
+ using IndicoV2 . Reviews . Models ;
10
11
using IndicoV2 . Storage ;
11
12
using Newtonsoft . Json . Linq ;
12
13
@@ -125,18 +126,7 @@ public async Task<ISubmission> GetAsync(int submissionId, CancellationToken canc
125
126
{
126
127
throw new NotSupportedException ( $ "Cannot read submission status: { result . Status } ") ;
127
128
}
128
- return new Submission
129
- {
130
- Id = result . Id ?? 0 ,
131
- Status = ( Models . SubmissionStatus ) result . Status ,
132
- DatasetId = result . DatasetId ?? 0 ,
133
- WorkflowId = result . WorkflowId ?? 0 ,
134
- InputFile = result . InputFile ,
135
- InputFilename = result . InputFilename ,
136
- ResultFile = result . ResultFile ,
137
- Retrieved = result . Retrieved ?? throw new ArgumentException ( "Invalid value for retrieved received from call" ) ,
138
- Errors = result . Errors ?? null
139
- } ;
129
+ return GetSubmissionToSubmission ( result ) ;
140
130
}
141
131
142
132
@@ -145,12 +135,72 @@ public async Task<string> GenerateSubmissionResultAsync(int submissionId, Cancel
145
135
146
136
public async Task < ISubmission > MarkSubmissionAsRetrieved ( int submissionId , bool retrieved = true , CancellationToken cancellationToken = default )
147
137
{
148
- var resultId = await _strawberryShakeClient . Submissions ( ) . MarkRetrieved ( submissionId , retrieved , cancellationToken ) ;
149
- var result = await _strawberryShakeClient . Submissions ( ) . List ( new List < int ? > ( submissionId ) . AsReadOnly ( ) , default , default , default , default , cancellationToken ) ;
150
- return new SubmissionSs ( result ? . Submissions ? [ 0 ] ) ;
138
+ await _strawberryShakeClient . Submissions ( ) . MarkRetrieved ( submissionId , retrieved , cancellationToken ) ;
139
+ var result = await _strawberryShakeClient . Submissions ( ) . Get ( submissionId , cancellationToken ) ;
140
+ return GetSubmissionToSubmission ( result ) ;
151
141
}
152
142
153
143
private ISubmission ToSubmissionFromSs ( IListSubmissions_Submissions_Submissions submission ) => new SubmissionSs ( submission ) ;
154
144
145
+ private ISubmission GetSubmissionToSubmission ( IGetSubmission_Submission result ) => new Submission
146
+ {
147
+ Id = result . Id ?? 0 ,
148
+ Status = ( Models . SubmissionStatus ) result . Status ,
149
+ DatasetId = result . DatasetId ?? 0 ,
150
+ WorkflowId = result . WorkflowId ?? 0 ,
151
+ CreatedAt = result . CreatedAt ,
152
+ UpdatedAt = result . UpdatedAt ,
153
+ CompletedAt = result . CompletedAt ,
154
+ FilesDeleted = result . FilesDeleted ,
155
+ InputFiles = result . InputFiles . Select ( inputFile => new SubmissionFile
156
+ {
157
+ Id = inputFile . Id ,
158
+ FilePath = inputFile . Filepath ,
159
+ FileName = inputFile . Filename ,
160
+ FileType = inputFile . Filetype . ToString ( ) ,
161
+ SubmissionId = inputFile . SubmissionId ,
162
+ FileSize = inputFile . FileSize ,
163
+ NumPages = inputFile . NumPages
164
+ } ) . ToArray ( ) ,
165
+ InputFile = result . InputFile ,
166
+ InputFilename = result . InputFilename ,
167
+ ResultFile = result . ResultFile ,
168
+ OutputFiles = result . OutputFiles . Select ( x => new SubmissionOutput ( ) { } ) . ToArray ( ) ,
169
+ Retrieved = result . Retrieved ?? throw new ArgumentException ( "Invalid value for retrieved received from call" ) ,
170
+ AutoReview = result . AutoReview != null ? new Review
171
+ {
172
+ Id = result . AutoReview . Id ,
173
+ SubmissionId = result . AutoReview . SubmissionId ,
174
+ CreatedAt = result . AutoReview . CreatedAt ,
175
+ CreatedBy = result . AutoReview . CreatedBy ,
176
+ StartedAt = result . AutoReview . StartedAt ,
177
+ CompletedAt = result . AutoReview . CompletedAt ,
178
+ Rejected = result . AutoReview . Rejected ,
179
+ ReviewType = ( Models . ReviewType ) result . AutoReview . ReviewType ,
180
+ Notes = result . AutoReview . Notes ,
181
+ } : new Review ( ) { } ,
182
+ Retries = result . Retries . Select ( submissionRetry => new SubmissionRetry
183
+ {
184
+ Id = submissionRetry . Id ,
185
+ SubmissionId = submissionRetry . SubmissionId ,
186
+ PreviousErrors = submissionRetry . PreviousErrors ,
187
+ PreviousStatus = ( Models . SubmissionStatus ) submissionRetry . PreviousStatus ,
188
+ RetryErrors = submissionRetry . RetryErrors
189
+ } ) . ToArray ( ) ,
190
+ Reviews = result . Reviews . Select ( review => new Review
191
+ {
192
+ Id = review . Id ,
193
+ SubmissionId = review . SubmissionId ,
194
+ CreatedAt = review . CreatedAt ,
195
+ CreatedBy = review . CreatedBy ,
196
+ StartedAt = review . StartedAt ,
197
+ CompletedAt = review . CompletedAt ,
198
+ Rejected = review . Rejected ,
199
+ ReviewType = ( Models . ReviewType ) review . ReviewType ,
200
+ Notes = review . Notes ,
201
+ } ) . ToArray ( ) ,
202
+ ReviewInProgress = result . ReviewInProgress ,
203
+ Errors = result . Errors ?? null
204
+ } ;
155
205
}
156
206
}
0 commit comments