Skip to content

Commit c374b03

Browse files
authored
Merge pull request #144 from meshde/reviews-legacyReviewId
Add legacyReviewId to reviews
2 parents aa896b2 + 2b0a274 commit c374b03

9 files changed

+77
-6
lines changed

docs/Submission API.postman_collection.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -825,7 +825,7 @@
825825
],
826826
"body": {
827827
"mode": "raw",
828-
"raw": "{\n\t\"score\": 92.5,\n\t\"scoreCardId\": 123456789,\n\t\"submissionId\": \"{{submissionID}}\",\n\t\"status\": \"queued\",\n\t\"typeId\": \"c56a4180-65aa-42ec-a945-5fd21dec0503\",\n\t\"reviewerId\": \"c56a4180-65aa-42ec-a945-5fd21d3d26f8\"\n}"
828+
"raw": "{\n\t\"score\": 92.5,\n\t\"legacyReviewId\": 123456788,\n\t\"scoreCardId\": 123456789,\n\t\"submissionId\": \"{{submissionID}}\",\n\t\"status\": \"queued\",\n\t\"typeId\": \"c56a4180-65aa-42ec-a945-5fd21dec0503\",\n\t\"reviewerId\": \"c56a4180-65aa-42ec-a945-5fd21d3d26f8\"\n}"
829829
},
830830
"url": {
831831
"raw": "{{URL}}/reviews",
@@ -1405,7 +1405,7 @@
14051405
],
14061406
"body": {
14071407
"mode": "raw",
1408-
"raw": "{\n\t\"score\": 90.5,\n\t\"scoreCardId\": 123456789,\n\t\"submissionId\": \"{{submissionID}}\",\n\t\"status\": \"completed\",\n\t\"typeId\": \"c56a4180-65aa-42ec-a945-5fd21dec0503\",\n\t\"reviewerId\": \"c56a4180-65aa-42ec-a945-5fd21d3d26f8\"\n}"
1408+
"raw": "{\n\t\"score\": 90.5,\n\t\"legacyReviewId\": 123456789,\n\t\"scoreCardId\": 123456789,\n\t\"submissionId\": \"{{submissionID}}\",\n\t\"status\": \"completed\",\n\t\"typeId\": \"c56a4180-65aa-42ec-a945-5fd21dec0503\",\n\t\"reviewerId\": \"c56a4180-65aa-42ec-a945-5fd21d3d26f8\"\n}"
14091409
},
14101410
"url": {
14111411
"raw": "{{URL}}/reviews/{{reviewID}}",

docs/swagger.yaml

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ paths:
7070
- $ref: '#/parameters/filterSubmissionLegacyUploadId'
7171
- $ref: '#/parameters/filterSubmissionSubmissionPhaseId'
7272
- $ref: '#/parameters/filterSubmissionReviewScore'
73+
- $ref: '#/parameters/filterSubmissionReviewLegacyReviewId'
7374
- $ref: '#/parameters/filterSubmissionReviewTypeId'
7475
- $ref: '#/parameters/filterSubmissionReviewReviewerId'
7576
- $ref: '#/parameters/filterSubmissionReviewScoreCardId'
@@ -899,7 +900,7 @@ paths:
899900
description: |
900901
Get all reviews. Link headers are sent back and they have rel set to prev, next, first, last and contain the relevant URL.
901902
902-
Resulted collection of reviews can be filtered using filter parameters `score`, `typeId`, `reviewerId`, `scoreCardId`, `status` (all filter parameters are optional and combined by the logical operation `AND`).
903+
Resulted collection of reviews can be filtered using filter parameters `score`, `legacyReviewId`, `typeId`, `reviewerId`, `scoreCardId`, `status` (all filter parameters are optional and combined by the logical operation `AND`).
903904
904905
**Authorization:** Review is accessible by roles `admin` and `copilot`.
905906
tags:
@@ -912,6 +913,7 @@ paths:
912913
- $ref: '#/parameters/sortBy'
913914
# filter parameters
914915
- $ref: '#/parameters/filterReviewScore'
916+
- $ref: '#/parameters/filterReviewLegacyReviewId'
915917
- $ref: '#/parameters/filterReviewTypeId'
916918
- $ref: '#/parameters/filterReviewReviewerId'
917919
- $ref: '#/parameters/filterReviewScoreCardId'
@@ -928,6 +930,7 @@ paths:
928930
example:
929931
- id: 'a12a4180-65aa-42ec-a945-5fd21dec0503'
930932
score: 95.5
933+
legacyReviewId: 1234567891
931934
typeId: 'c56a4180-65aa-42ec-a945-5fd21dec0503'
932935
reviewerId: 'c23a4180-65aa-42ec-a945-5fd21dec0503'
933936
scoreCardId: 123456789
@@ -939,6 +942,7 @@ paths:
939942
updatedBy: 'admin'
940943
- id: 'a23c4180-65aa-42ec-a945-5fd21dec0503'
941944
score: 73.2
945+
legacyReviewId: 1234567892
942946
typeId: 'c56a4180-65aa-42ec-a945-5fd21dec0503'
943947
reviewerId: 'c23a4180-65aa-42ec-a945-5fd21dec0503'
944948
scoreCardId: 123456789
@@ -985,7 +989,7 @@ paths:
985989
description: |
986990
Get response status and headers information for the endpoint. Link headers are sent back and they have rel set to prev, next, first, last and contain the relevant URL.
987991
988-
Requested reviews can be filtered using filter parameters `score`, `typeId`, `reviewerId`, `scoreCardId`, `status` (all filter parameters are optional and combined by the logical operation `AND`).
992+
Requested reviews can be filtered using filter parameters `score`, `legacyReviewId`, `typeId`, `reviewerId`, `scoreCardId`, `status` (all filter parameters are optional and combined by the logical operation `AND`).
989993
990994
**Authorization:** Review is accessible by roles `admin` and `copilot`.
991995
tags:
@@ -996,6 +1000,7 @@ paths:
9961000
- $ref: '#/parameters/perPage'
9971001
# filter parameters
9981002
- $ref: '#/parameters/filterReviewScore'
1003+
- $ref: '#/parameters/filterReviewLegacyReviewId'
9991004
- $ref: '#/parameters/filterReviewTypeId'
10001005
- $ref: '#/parameters/filterReviewReviewerId'
10011006
- $ref: '#/parameters/filterReviewScoreCardId'
@@ -1610,6 +1615,13 @@ parameters:
16101615
required: false
16111616
type: integer
16121617

1618+
filterSubmissionReviewLegacyReviewId:
1619+
in: query
1620+
name: review.legacyReviewId
1621+
description: The legacy review id filter of the reviews associated with the submission.
1622+
required: false
1623+
type: integer
1624+
16131625
filterSubmissionReviewTypeId:
16141626
in: query
16151627
name: review.typeId
@@ -1718,6 +1730,13 @@ parameters:
17181730
type: number
17191731
format: double
17201732

1733+
filterReviewLegacyReviewId:
1734+
in: query
1735+
name: legacyReviewId
1736+
description: The legacy review id filter for reviews.
1737+
required: false
1738+
type: integer
1739+
17211740
filterReviewTypeId:
17221741
in: query
17231742
name: typeId
@@ -1963,6 +1982,7 @@ definitions:
19631982
required:
19641983
- id
19651984
- score
1985+
- legacyReviewId
19661986
- typeId
19671987
- reviewerId
19681988
- scoreCardId
@@ -1988,6 +2008,10 @@ definitions:
19882008
format: double
19892009
description: The review score.
19902010
example: 95.5
2011+
legacyReviewId:
2012+
type: integer
2013+
description: The legacy review id.
2014+
example: 123456789
19912015
typeId:
19922016
type: string
19932017
description: The review type id.
@@ -2018,6 +2042,7 @@ definitions:
20182042
type: object
20192043
required:
20202044
- score
2045+
- legacyReviewId
20212046
- typeId
20222047
- reviewerId
20232048
- scoreCardId

scripts/data/Reviews.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
{
33
"id": "d24d4180-65aa-42ec-a945-5fd21dec0501",
44
"score": 95.5,
5+
"legacyReviewId": 1234567891,
56
"typeId": "c56a4180-65aa-42ec-a945-5fd21dec0503",
67
"reviewerId": "c23a4180-65aa-42ec-a945-5fd21dec0503",
78
"scoreCardId": 123456789,
@@ -14,6 +15,7 @@
1415
{
1516
"id": "d24d4180-65aa-42ec-a945-5fd21dec0502",
1617
"score": 92.0,
18+
"legacyReviewId": 1234567892,
1719
"typeId": "c56a4180-65aa-42ec-a945-5fd21dec0501",
1820
"reviewerId": "c23a4180-65aa-42ec-a945-5fd21dec0503",
1921
"scoreCardId": 123456789,
@@ -26,6 +28,7 @@
2628
{
2729
"id": "d24d4180-65aa-42ec-a945-5fd21dec0503",
2830
"score": 80.83,
31+
"legacyReviewId": 1234567893,
2932
"typeId": "c56a4180-65aa-42ec-a945-5fd21dec0503",
3033
"reviewerId": "c23a4180-65aa-42ec-a945-5fd21dec0503",
3134
"scoreCardId": 123456789,
@@ -38,6 +41,7 @@
3841
{
3942
"id": "d24d4180-65aa-42ec-a945-5fd21dec0504",
4043
"score": 85.62,
44+
"legacyReviewId": 1234567894,
4145
"typeId": "c56a4180-65aa-42ec-a945-5fd21dec0503",
4246
"reviewerId": "c23a4180-65aa-42ec-a945-5fd21dec0502",
4347
"scoreCardId": 123456789,
@@ -50,6 +54,7 @@
5054
{
5155
"id": "d24d4180-65aa-42ec-a945-5fd21dec0505",
5256
"score": 100,
57+
"legacyReviewId": 1234567895,
5358
"typeId": "f28b2725-ef90-4495-af59-ceb2bd98fc10",
5459
"reviewerId": "c23a4180-65aa-42ec-a945-5fd21dec0503",
5560
"scoreCardId": 123456789,
@@ -62,6 +67,7 @@
6267
{
6368
"id": "d24d4180-65aa-42ec-a945-5fd21dec0506",
6469
"score": 65.0,
70+
"legacyReviewId": 1234567896,
6571
"typeId": "c56a4180-65aa-42ec-a945-5fd21dec0503",
6672
"reviewerId": "c23a4180-65aa-42ec-a945-5fd21dec0503",
6773
"scoreCardId": 123456789,
@@ -74,6 +80,7 @@
7480
{
7581
"id": "d24d4180-65aa-42ec-a945-5fd21dec0507",
7682
"score": 68.0,
83+
"legacyReviewId": 1234567897,
7784
"typeId": "c56a4180-65aa-42ec-a945-5fd21dec0503",
7885
"reviewerId": "c23a4180-65aa-42ec-a945-5fd21dec0502",
7986
"scoreCardId": 123456789,
@@ -86,6 +93,7 @@
8693
{
8794
"id": "d24d4180-65aa-42ec-a945-5fd21dec0508",
8895
"score": 100,
96+
"legacyReviewId": 1234567898,
8997
"typeId": "f28b2725-ef90-4495-af59-ceb2bd98fc10",
9098
"reviewerId": "c23a4180-65aa-42ec-a945-5fd21dec0503",
9199
"scoreCardId": 123456789,
@@ -98,6 +106,7 @@
98106
{
99107
"id": "d24d4180-65aa-42ec-a945-5fd21dec0509",
100108
"score": 92.5,
109+
"legacyReviewId": 1234567899,
101110
"typeId": "c56a4180-65aa-42ec-a945-5fd21dec0503",
102111
"reviewerId": "c23a4180-65aa-42ec-a945-5fd21dec0503",
103112
"scoreCardId": 123456789,

scripts/data/Submissions.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
{
1010
"id": "d24d4180-65aa-42ec-a945-5fd21dec0501",
1111
"score": 95.5,
12+
"legacyReviewId": 1234567891,
1213
"typeId": "c56a4180-65aa-42ec-a945-5fd21dec0503",
1314
"reviewerId": "c23a4180-65aa-42ec-a945-5fd21dec0503",
1415
"scoreCardId": 123456789,
@@ -25,6 +26,7 @@
2526
{
2627
"id": "d24d4180-65aa-42ec-a945-5fd21dec0502",
2728
"score": 92.0,
29+
"legacyReviewId": 1234567892,
2830
"typeId": "c56a4180-65aa-42ec-a945-5fd21dec0501",
2931
"reviewerId": "c23a4180-65aa-42ec-a945-5fd21dec0503",
3032
"scoreCardId": 123456789,
@@ -78,6 +80,7 @@
7880
{
7981
"id": "d24d4180-65aa-42ec-a945-5fd21dec0503",
8082
"score": 80.83,
83+
"legacyReviewId": 1234567899,
8184
"typeId": "c56a4180-65aa-42ec-a945-5fd21dec0503",
8285
"reviewerId": "c23a4180-65aa-42ec-a945-5fd21dec0503",
8386
"scoreCardId": 123456789,
@@ -94,6 +97,7 @@
9497
{
9598
"id": "d24d4180-65aa-42ec-a945-5fd21dec0504",
9699
"score": 85.62,
100+
"legacyReviewId": 1234567898,
97101
"typeId": "c56a4180-65aa-42ec-a945-5fd21dec0503",
98102
"reviewerId": "c23a4180-65aa-42ec-a945-5fd21dec0502",
99103
"scoreCardId": 123456789,
@@ -110,6 +114,7 @@
110114
{
111115
"id": "d24d4180-65aa-42ec-a945-5fd21dec0505",
112116
"score": 100,
117+
"legacyReviewId": 1234567897,
113118
"typeId": "f28b2725-ef90-4495-af59-ceb2bd98fc10",
114119
"reviewerId": "c23a4180-65aa-42ec-a945-5fd21dec0503",
115120
"scoreCardId": 123456789,
@@ -139,6 +144,7 @@
139144
{
140145
"id": "d24d4180-65aa-42ec-a945-5fd21dec0506",
141146
"score": 65.0,
147+
"legacyReviewId": 1234567893,
142148
"typeId": "c56a4180-65aa-42ec-a945-5fd21dec0503",
143149
"reviewerId": "c23a4180-65aa-42ec-a945-5fd21dec0503",
144150
"scoreCardId": 123456789,
@@ -155,6 +161,7 @@
155161
{
156162
"id": "d24d4180-65aa-42ec-a945-5fd21dec0507",
157163
"score": 68.0,
164+
"legacyReviewId": 1234567894,
158165
"typeId": "c56a4180-65aa-42ec-a945-5fd21dec0503",
159166
"reviewerId": "c23a4180-65aa-42ec-a945-5fd21dec0502",
160167
"scoreCardId": 123456789,
@@ -184,6 +191,7 @@
184191
{
185192
"id": "d24d4180-65aa-42ec-a945-5fd21dec0508",
186193
"score": 100,
194+
"legacyReviewId": 1234567895,
187195
"typeId": "f28b2725-ef90-4495-af59-ceb2bd98fc10",
188196
"reviewerId": "c23a4180-65aa-42ec-a945-5fd21dec0503",
189197
"scoreCardId": 123456789,
@@ -213,6 +221,7 @@
213221
{
214222
"id": "d24d4180-65aa-42ec-a945-5fd21dec0509",
215223
"score": 92.5,
224+
"legacyReviewId": 1234567896,
216225
"typeId": "c56a4180-65aa-42ec-a945-5fd21dec0503",
217226
"reviewerId": "c23a4180-65aa-42ec-a945-5fd21dec0503",
218227
"scoreCardId": 123456789,

src/services/ReviewService.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ function * listReviews (query) {
9494

9595
const listReviewsQuerySchema = {
9696
score: joi.score(),
97+
legacyReviewId: joi.id(),
9798
typeId: joi.string().uuid(),
9899
reviewerId: joi.alternatives().try(joi.id(), joi.string().uuid()),
99100
scoreCardId: joi.id(),
@@ -185,6 +186,7 @@ createReview.schema = {
185186
then: joi.required(),
186187
otherwise: joi.optional()
187188
}),
189+
legacyReviewId: joi.id(),
188190
typeId: joi
189191
.string()
190192
.uuid()
@@ -235,11 +237,12 @@ function * _updateReview (authUser, reviewId, entity) {
235237
Key: {
236238
id: reviewId
237239
},
238-
UpdateExpression: `set score = :s, scoreCardId = :sc, submissionId = :su,
239-
typeId = :t, reviewerId = :r, #st = :st,
240+
UpdateExpression: `set score = :s, legacyReviewId = :lr, scoreCardId = :sc,
241+
submissionId = :su, typeId = :t, reviewerId = :r, #st = :st,
240242
updated = :ua, updatedBy = :ub`,
241243
ExpressionAttributeValues: {
242244
':s': entity.score || exist.score,
245+
':lr': entity.legacyReviewId || exist.legacyReviewId,
243246
':sc': entity.scoreCardId || exist.scoreCardId,
244247
':su': entity.submissionId || exist.submissionId,
245248
':t': entity.typeId || exist.typeId,
@@ -316,6 +319,7 @@ updateReview.schema = {
316319
.object()
317320
.keys({
318321
score: joi.score().required(),
322+
legacyReviewId: joi.id(),
319323
typeId: joi
320324
.string()
321325
.uuid()
@@ -354,6 +358,7 @@ patchReview.schema = {
354358
.required(),
355359
entity: joi.object().keys({
356360
score: joi.score(),
361+
legacyReviewId: joi.id(),
357362
typeId: joi.string().uuid(),
358363
reviewerId: joi.alternatives().try(joi.id(), joi.string().uuid()),
359364
scoreCardId: joi.id(),

src/services/SubmissionService.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,7 @@ const listSubmissionsQuerySchema = {
205205
perPage: joi.pageSize(),
206206
orderBy: joi.sortOrder(),
207207
'review.score': joi.score(),
208+
'review.legacyReviewId': joi.id(),
208209
'review.typeId': joi.string().uuid(),
209210
'review.reviewerId': joi.string().uuid(),
210211
'review.scoreCardId': joi.id(),

0 commit comments

Comments
 (0)