Commit 9fc6f989 by Clinton Blackburn Committed by Clinton Blackburn

Exposing limit and offset query string parameters in API gateway

This will allow users to better filter the catalog data they receive.

ECOM-5749
parent a7600fe7
...@@ -50,6 +50,18 @@ auth_header: &auth_header ...@@ -50,6 +50,18 @@ auth_header: &auth_header
required: true required: true
type: "string" type: "string"
limit_qs_parameter: &limit_qs_parameter
in: querystring
name: limit
required: false
type: number
offset_qs_parameter: &offset_qs_parameter
in: querystring
name: offset
required: false
type: number
# AWS API Gateway vendor extension point. This information is used # AWS API Gateway vendor extension point. This information is used
# by https://github.com/awslabs/aws-apigateway-importer. # by https://github.com/awslabs/aws-apigateway-importer.
x-amazon-apigateway-integration: &apigateway_integration x-amazon-apigateway-integration: &apigateway_integration
...@@ -76,6 +88,8 @@ endpoints: ...@@ -76,6 +88,8 @@ endpoints:
produces: *produces produces: *produces
parameters: parameters:
- *auth_header - *auth_header
- *limit_qs_parameter
- *offset_qs_parameter
operationId: "get_catalogs" operationId: "get_catalogs"
responses: *responses responses: *responses
x-amazon-apigateway-integration: x-amazon-apigateway-integration:
...@@ -102,6 +116,8 @@ endpoints: ...@@ -102,6 +116,8 @@ endpoints:
parameters: parameters:
- *auth_header - *auth_header
- *id_parameter - *id_parameter
- *limit_qs_parameter
- *offset_qs_parameter
operationId: "get_catalog_courses" operationId: "get_catalog_courses"
responses: *responses responses: *responses
x-amazon-apigateway-integration: x-amazon-apigateway-integration:
......
...@@ -2,17 +2,42 @@ ...@@ -2,17 +2,42 @@
# This file was generated using http://www.yamllint.com/. # This file was generated using http://www.yamllint.com/.
--- ---
apigateway_responses:
200:
statusCode: "200"
401:
statusCode: "401"
403:
statusCode: "403"
404:
statusCode: "404"
429:
statusCode: "429"
500:
statusCode: "500"
default:
statusCode: "400"
auth_header:
in: header
name: Authorization
required: true
type: string
endpoints: endpoints:
v1: v1:
catalogs: catalogById:
get: get:
operationId: get_catalogs operationId: get_catalog_by_id
parameters: parameters:
- -
in: header in: header
name: Authorization name: Authorization
required: true required: true
type: string type: string
-
in: path
name: id
required: true
type: number
produces: produces:
- application/json - application/json
- application/csv - application/csv
...@@ -35,6 +60,7 @@ endpoints: ...@@ -35,6 +60,7 @@ endpoints:
httpMethod: GET httpMethod: GET
requestParameters: requestParameters:
integration.request.header.Authorization: method.request.header.Authorization integration.request.header.Authorization: method.request.header.Authorization
integration.request.path.id: method.request.path.id
responses: responses:
200: 200:
statusCode: "200" statusCode: "200"
...@@ -51,10 +77,10 @@ endpoints: ...@@ -51,10 +77,10 @@ endpoints:
default: default:
statusCode: "400" statusCode: "400"
type: http type: http
uri: "https://${stageVariables.discovery_host}/v1/catalogs/" uri: "https://${stageVariables.discovery_host}/v1/catalogs/{id}/"
catalogById: catalogCourses:
get: get:
operationId: get_catalog_by_id operationId: get_catalog_courses
parameters: parameters:
- -
in: header in: header
...@@ -66,6 +92,16 @@ endpoints: ...@@ -66,6 +92,16 @@ endpoints:
name: id name: id
required: true required: true
type: number type: number
-
in: querystring
name: limit
required: false
type: number
-
in: querystring
name: offset
required: false
type: number
produces: produces:
- application/json - application/json
- application/csv - application/csv
...@@ -105,10 +141,10 @@ endpoints: ...@@ -105,10 +141,10 @@ endpoints:
default: default:
statusCode: "400" statusCode: "400"
type: http type: http
uri: "https://${stageVariables.discovery_host}/v1/catalogs/{id}/" uri: "https://${stageVariables.discovery_host}/v1/catalogs/{id}/courses/"
catalogCourses: catalogs:
get: get:
operationId: get_catalog_courses operationId: get_catalogs
parameters: parameters:
- -
in: header in: header
...@@ -116,9 +152,14 @@ endpoints: ...@@ -116,9 +152,14 @@ endpoints:
required: true required: true
type: string type: string
- -
in: path in: querystring
name: id name: limit
required: true required: false
type: number
-
in: querystring
name: offset
required: false
type: number type: number
produces: produces:
- application/json - application/json
...@@ -142,7 +183,6 @@ endpoints: ...@@ -142,7 +183,6 @@ endpoints:
httpMethod: GET httpMethod: GET
requestParameters: requestParameters:
integration.request.header.Authorization: method.request.header.Authorization integration.request.header.Authorization: method.request.header.Authorization
integration.request.path.id: method.request.path.id
responses: responses:
200: 200:
statusCode: "200" statusCode: "200"
...@@ -159,4 +199,4 @@ endpoints: ...@@ -159,4 +199,4 @@ endpoints:
default: default:
statusCode: "400" statusCode: "400"
type: http type: http
uri: "https://${stageVariables.discovery_host}/v1/catalogs/{id}/courses/" uri: "https://${stageVariables.discovery_host}/v1/catalogs/"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment