[MODEXPW-44] Implement the preview of matched records Created: 30/Nov/21  Updated: 20/Dec/21  Resolved: 20/Dec/21

Status: Closed
Project: mod-data-export-worker
Components: None
Affects versions: None
Fix versions: 1.3.0

Type: Story Priority: P3
Reporter: Illia Daliek Assignee: Viachaslau Khandramai (Inactive)
Resolution: Done Votes: 0
Labels: bulk-edit-pilot
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Attachments: PNG File Screenshot 2021-12-20 at 16.26.40.png     File barcodes.csv     File non-existing-barcodes.csv    
Issue links:
Defines
defines UXPROD-3318 User records - bulk edit - pilot impl... Closed
Sprint: Firebird Sprint 129
Story Points: 2
Development Team: Firebird

 Description   

Purpose/Overview:
After uploading a CSV file with users' UUIDs the user should be able to see the preview of matched records(top 10).

Requirements/Scope:

  1. The top 10 records are shown to the user

Approach:
Implement an endpoint for getting the top 10 records preview
/bulk-edit/jobId/preview, where jobId is the id of created JobCommand.
Acceptance criteria:

  • the number of the records returned can be configurable
  • Endpoint for getting top x records preview implemented
  • API & Unit tests updated


 Comments   
Comment by Magda Zacharska [ 17/Dec/21 ]

Viachaslau Khandramai please provide examples of a request and response.

Comment by Viachaslau Khandramai (Inactive) [ 20/Dec/21 ]

Hi Magda Zacharska,

verified on folio testing.
1) barcodes.csv was uploaded:

2) Preview can be requested with limit control for job id=e9adce2d-5cf2-4c1c-9e57-cd6c8c06fe78:

GET https://folio-testing-okapi.dev.folio.org:443/bulk-edit/e9adce2d-5cf2-4c1c-9e57-cd6c8c06fe78/preview?limit=1
200
175 ms
GET /bulk-edit/e9adce2d-5cf2-4c1c-9e57-cd6c8c06fe78/preview?limit=1 HTTP/1.1
x-okapi-token: ${OKAPI_TOKEN}
x-okapi-tenant: diku
User-Agent: PostmanRuntime/7.28.4
Accept: */*
Postman-Token: 3f0e182f-2927-4cc6-bd70-f2abf564554a
Host: folio-testing-okapi.dev.folio.org:443
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
 
HTTP/1.1 200 OK
Date: Mon, 20 Dec 2021 13:26:17 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
vary: origin
 
{"users":[{"username":"rick","id":"2205005b-ca51-4a04-87fd-938eefa8f6de","barcode":"123","active":true,"patronGroup":"3684a786-6671-4268-8ed0-9db82ebca60b","personal":{"lastName":"rick","firstName":"psych","email":"rick@example.com","preferredContactTypeId":"002"},"enrollmentDate":1602043200000,"createdDate":1639970618641,"updatedDate":1639970618641,"metadata":{"createdDate":1639970618639,"updatedDate":1639970618639}}],"totalRecords":1,"resultInfo":{"totalRecords":1}}
GET https://folio-testing-okapi.dev.folio.org:443/bulk-edit/e9adce2d-5cf2-4c1c-9e57-cd6c8c06fe78/preview?limit=3
200
129 ms
GET /bulk-edit/e9adce2d-5cf2-4c1c-9e57-cd6c8c06fe78/preview?limit=3 HTTP/1.1
x-okapi-token: ${OKAPI_TOKEN}
x-okapi-tenant: diku
User-Agent: PostmanRuntime/7.28.4
Accept: */*
Postman-Token: ebf3d1b0-1dd7-4cea-bb11-8807d46b2e70
Host: folio-testing-okapi.dev.folio.org:443
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
 
HTTP/1.1 200 OK
Date: Mon, 20 Dec 2021 13:26:47 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
vary: origin
 
{"users":[{"username":"sheldon","id":"b4cee18d-f862-4ef1-95a5-879fdd619603","barcode":"789","active":true,"patronGroup":"3684a786-6671-4268-8ed0-9db82ebca60b","personal":{"lastName":"sheldon","firstName":"bazinga","email":"sheldon@example.com","preferredContactTypeId":"002"},"createdDate":1639970617809,"updatedDate":1639970617809,"metadata":{"createdDate":1639970617806,"updatedDate":1639970617806}},{"username":"rick","id":"2205005b-ca51-4a04-87fd-938eefa8f6de","barcode":"123","active":true,"patronGroup":"3684a786-6671-4268-8ed0-9db82ebca60b","personal":{"lastName":"rick","firstName":"psych","email":"rick@example.com","preferredContactTypeId":"002"},"enrollmentDate":1602043200000,"createdDate":1639970618641,"updatedDate":1639970618641,"metadata":{"createdDate":1639970618639,"updatedDate":1639970618639}},{"username":"morty","id":"bec20636-fb68-41fd-84ea-2cf910673599","barcode":"456","active":true,"patronGroup":"3684a786-6671-4268-8ed0-9db82ebca60b","personal":{"lastName":"morty","firstName":"panic","email":"morty@example.com","preferredContactTypeId":"002"},"enrollmentDate":1602043200000,"createdDate":1639970618820,"updatedDate":1639970618820,"metadata":{"createdDate":1639970618818,"updatedDate":1639970618818}}],"totalRecords":3,"resultInfo":{"totalRecords":3}}

3) Non-existing job case:

GET https://folio-testing-okapi.dev.folio.org:443/bulk-edit/e9adce2d-5cf2-4c1c-9e57-cd6c8c06fe79/preview?limit=3
404
354 ms
GET /bulk-edit/e9adce2d-5cf2-4c1c-9e57-cd6c8c06fe79/preview?limit=3 HTTP/1.1
x-okapi-token: ${OKAPI_TOKEN}
x-okapi-tenant: diku
User-Agent: PostmanRuntime/7.28.4
Accept: */*
Postman-Token: 74b3d5c3-bab5-45a1-8d49-1fa62b721924
Host: folio-testing-okapi.dev.folio.org:443
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
 
HTTP/1.1 404 Not Found
Date: Mon, 20 Dec 2021 13:31:25 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
vary: origin
 
JobCommand with id e9adce2d-5cf2-4c1c-9e57-cd6c8c06fe79 doesn't exist.

4) Non-existing barcode 321 (new upload is required with non-existing-barcodes.csv ):

GET https://folio-testing-okapi.dev.folio.org:443/bulk-edit/bca94f6a-bf3c-4cc7-b951-75b5a0ef8960/preview?limit=3
200
172 ms
GET /bulk-edit/bca94f6a-bf3c-4cc7-b951-75b5a0ef8960/preview?limit=3 HTTP/1.1
x-okapi-token: ${OKAPI_TOKEN}
x-okapi-tenant: diku
User-Agent: PostmanRuntime/7.28.4
Accept: */*
Postman-Token: 9984dea2-bef7-4f2e-9088-d799227b0f53
Host: folio-testing-okapi.dev.folio.org:443
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
 
HTTP/1.1 200 OK
Date: Mon, 20 Dec 2021 13:34:54 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
vary: origin
 
{"totalRecords":0,"resultInfo":{"totalRecords":0}}
Generated at Thu Feb 08 22:30:28 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.