...
Code Block | ||||
---|---|---|---|---|
| ||||
URI: /course/v1/search
Methods: POST
Request body:
{
"request": {
"filters":{
"status":["0","1"],
"enrollmentType":["open"]
},
"offset":0,
"limit":20,
"facets":[{"courseId":null}]
}
}
--- Internal work flow :
When user call this api , it will do course batch search under ES and all unique courseIds. After getting list of unique courseIds , it will make call to Content search api by passing all those courseIds and Content search response will be provided to caller.
Internal Api call
URI: /content/v1/search
Method: POST
Request body:
{"request":{"filters":{"identifier": ["list of courseId"]},"sort_by":{"createdOn":"desc"}}}
----
Response:
{
"id": "api.course.search",
"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": [
{
"ownershipType": [
"createdFor"
],
"subject": "Science",
"channel": "0124511325012951040",
"downloadUrl": "https://sunbirdstaging.blob.core.windows.net/sunbird-content-staging/ecar_files/do_2126299478299033601672/course-rf-09112018-2_1541742032021_do_2126299478299033601672_1.0_spine.ecar",
"organisation": [
"SunbirdQA 1",
"Sunbird QA Tenant"
],
"language": [
"English"
],
"mimeType": "application/vnd.ekstep.content-collection",
"variants": {
"spine": {
"ecarUrl": "https://sunbirdstaging.blob.core.windows.net/sunbird-content-staging/ecar_files/do_2126299478299033601672/course-rf-09112018-2_1541742032021_do_2126299478299033601672_1.0_spine.ecar",
"size": 167578
}
},
"objectType": "Content",
"gradeLevel": [
"Class 9"
],
"appIcon": "https://sunbirdstaging.blob.core.windows.net/sunbird-content-staging/content/do_2126299478299033601672/artifact/1193-600x337_1524060806727.thumb.jpg",
"children": [],
"appId": "staging.sunbird.app",
"contentEncoding": "gzip",
"mimeTypesCount": "{\"application/vnd.ekstep.html-archive\":1,\"video/webm\":1,\"application/vnd.ekstep.content-collection\":1,\"video/mp4\":1}",
"contentType": "Course",
"identifier": "do_2126299478299033601672",
"lastUpdatedBy": "bf622d07-ca95-4cc1-9a49-a4518925a4d8",
"audience": [
"Learner"
],
"visibility": "Default",
"toc_url": "https://sunbirdstaging.blob.core.windows.net/sunbird-content-staging/content/do_2126299478299033601672/artifact/do_2126299478299033601672toc.json",
"contentTypesCount": "{\"CourseUnit\":1,\"Resource\":3}",
"consumerId": "dc56def7-ecfd-4001-ab2f-d98251ed40e2",
"childNodes": [
"do_2123236738896609281243",
"do_2123717816919900161187",
"do_2126299480633671681673",
"do_2123717841558814721189"
],
"mediaType": "content",
"osId": "org.ekstep.quiz.app",
"graph_id": "domain",
"nodeType": "DATA_NODE",
"lastPublishedBy": "9ac4ea92-fea7-45e6-93f3-02aa3172ea58",
"prevState": "Review",
"size": 167578,
"lastPublishedOn": "2018-11-09T05:40:31.997+0000",
"IL_FUNC_OBJECT_TYPE": "Content",
"name": "Course RF 09112018 2",
"status": "Live",
"code": "org.sunbird.ZwEKh2",
"description": "Enter description for Course",
"medium": "Hindi",
"idealScreenSize": "normal",
"posterImage": "https://ekstep-public-qa.s3-ap-south-1.amazonaws.com/content/do_21248510612742144014185/artifact/1193-600x337_1524060806727.jpg",
"createdOn": "2018-11-09T05:34:38.454+0000",
"contentDisposition": "inline",
"lastUpdatedOn": "2018-11-09T05:40:31.194+0000",
"SYS_INTERNAL_LAST_UPDATED_ON": "2018-11-09T08:00:00.413+0000",
"owner": "Sunbird QA Tenant",
"creator": "JP Mentor ORg1 user",
"createdFor": [
"012451141730410496558",
"0124511325012951040"
],
"IL_SYS_NODE_TYPE": "DATA_NODE",
"os": [
"All"
],
"c_Sunbird_Staging_open_batch_count": 1,
"pkgVersion": 1,
"versionKey": "1541742031194",
"idealScreenDensity": "hdpi",
"framework": "rj_k-12_1",
"s3Key": "ecar_files/do_2126299478299033601672/course-rf-09112018-2_1541742032021_do_2126299478299033601672_1.0_spine.ecar",
"lastSubmittedOn": "2018-11-09T05:39:35.246+0000",
"createdBy": "bf622d07-ca95-4cc1-9a49-a4518925a4d8",
"compatibilityLevel": 4,
"leafNodesCount": 3,
"IL_UNIQUE_ID": "do_2126299478299033601672",
"ownedBy": "0124511325012951040",
"board": "State (Rajasthan)",
"resourceType": "Course",
"node_id": 430981
} ,
{}
]
}
}
} |
...
Pros | Cons |
---|---|
|
|
** Search open batch based on filter will have issues.
Proposed Solution 3:
Sunbird will define new page section to provide open course list under page api.
...