...
Code Block | ||||
---|---|---|---|---|
| ||||
URI: v1/course/batch/count?offset=0&limit=20
Methods: GET
--- Internal work flow :
When user call this api , it will internally make course batch search by passing different filters.
It will internally make two ES call. first call to collect all courseIds with participant list . Based on that response it will keep count of same courseId and remove those courseId for which user is already enrolled.
After that based on unique courseList it will fetch complete data and merge count in new response.
{
"request": {
"filters":{
"courseId":["list of courseId found in first search"]
"status":["0","1"],
"enrollmentType":"open"
},
"offset":0,
"limit":20
}
}
----
Response:
{
"id": "api.course.batch.count",
"ver": "v1",
"ts": "2018-11-20 17:53:00:716+0000",
"params": {
"resmsgid": null,
"msgid": "8e27cbf5-e299-43b0-bca7-8347f7e5abcf",
"err": null,
"status": "success",
"errmsg": null
},
"responseCode": "OK",
"result": {
"response": {
"count": 8,
"content": [
{
"identifier": "",
"createdFor": [
"",
""
],
"courseAdditionalInfo": {
"courseName": "SUBU_01",
"leafNodesCount": "3",
"description": "Why?",
"courseLogoUrl": "https://sunbirdstaging.blob.core.windows.net/sunbird-content-staging/content/{}/artifact/images-1_1532061239427.thumb.jpg",
"tocUrl": "https://sunbirdstaging.blob.core.windows.net/sunbird-content-staging/content/{}/artifact/{}toc.json",
"status": "Live"
},
"endDate": "2018-12-31",
"description": "nieowhoifheoiw",
"participant": {
"userId": true
},
"countIncrementStatus": false,
"createdDate": "2018-11-21 04:47:18:306+0000",
"createdBy": "",
"courseCreator": "",
"hashTagId": "0126384233410641921",
"mentors": [],
"countDecrementStatus": false,
"name": "My batch",
"id": "0126384233410641921",
"enrollmentType": "open",
"courseId": "do_212638416227246080157",
"startDate": "2018-11-21",
"status": 1,
"openBatchCount":2
},
{
........
"courseId": "do_2126299478299033601672",
"openBatchCount":2
}
]
}
}
} |
...