* enforce manifest version correctness against the CDK package being used * parse versions into parts for better comparisons and error checking * fix pr feedback and derp forgot to actually add the commit with the low-code manifests updated to the beta version * pr feedback and fix new tests since last rebase
135 lines
3.4 KiB
YAML
135 lines
3.4 KiB
YAML
version: "0.29.0"
|
|
|
|
definitions:
|
|
selector:
|
|
extractor:
|
|
field_path: []
|
|
|
|
requester_stream:
|
|
request_parameters:
|
|
query: |
|
|
{{
|
|
config['query']
|
|
if parameters['name'] == 'photos_search' or parameters['name'] == 'videos_search'
|
|
else ''
|
|
}}
|
|
orientation: |
|
|
{{
|
|
config['orientation']
|
|
if parameters['name'] == 'photos_search' or parameters['name'] == 'videos_search'
|
|
else ''
|
|
}}
|
|
size: |
|
|
{{
|
|
config['size']
|
|
if parameters['name'] == 'photos_search' or parameters['name'] == 'videos_search'
|
|
else ''
|
|
}}
|
|
locale: |
|
|
{{
|
|
config['locale']
|
|
if parameters['name'] == 'photos_search' or parameters['name'] == 'videos_search'
|
|
else ''
|
|
}}
|
|
color: |
|
|
{{
|
|
config['color']
|
|
if parameters['name'] == 'photos_search'
|
|
else ''
|
|
}}
|
|
|
|
requester:
|
|
url_base: "https://api.pexels.com"
|
|
http_method: "GET"
|
|
request_parameters:
|
|
$ref: "#/definitions/requester_stream/request_parameters"
|
|
authenticator:
|
|
type: ApiKeyAuthenticator
|
|
header: "Authorization"
|
|
api_token: "{{ config['api_key'] }}"
|
|
error_handler:
|
|
type: CompositeErrorHandler
|
|
error_handlers:
|
|
- type: DefaultErrorHandler
|
|
response_filters:
|
|
- http_codes: [500]
|
|
action: FAIL
|
|
|
|
retriever:
|
|
record_selector:
|
|
$ref: "#/definitions/selector"
|
|
paginator:
|
|
type: NoPagination
|
|
requester:
|
|
$ref: "#/definitions/requester"
|
|
|
|
base_stream:
|
|
schema_loader:
|
|
type: JsonFileSchemaLoader
|
|
file_path: "./source_pexels_api/schemas/{{ parameters['name'] }}.json"
|
|
retriever:
|
|
$ref: "#/definitions/retriever"
|
|
|
|
page_stream:
|
|
schema_loader:
|
|
type: JsonFileSchemaLoader
|
|
file_path: "./source_pexels_api/schemas/{{ parameters['name'] }}.json"
|
|
retriever:
|
|
record_selector:
|
|
$ref: "#/definitions/selector"
|
|
paginator:
|
|
type: "DefaultPaginator"
|
|
pagination_strategy:
|
|
type: "PageIncrement"
|
|
page_size: 1000
|
|
page_token_option:
|
|
type: RequestOption
|
|
inject_into: "request_parameter"
|
|
field_name: "page"
|
|
page_size_option:
|
|
inject_into: "request_parameter"
|
|
field_name: "per_page"
|
|
requester:
|
|
$ref: "#/definitions/requester"
|
|
|
|
photos_search_stream:
|
|
$ref: "#/definitions/page_stream"
|
|
$parameters:
|
|
name: "photos_search"
|
|
path: "/v1/search"
|
|
|
|
photos_curated_stream:
|
|
$ref: "#/definitions/page_stream"
|
|
$parameters:
|
|
name: "photos_curated"
|
|
path: "/v1/curated"
|
|
|
|
videos_search_stream:
|
|
$ref: "#/definitions/page_stream"
|
|
$parameters:
|
|
name: "videos_search"
|
|
path: "/videos/search"
|
|
|
|
videos_popular_stream:
|
|
$ref: "#/definitions/page_stream"
|
|
$parameters:
|
|
name: "videos_popular"
|
|
path: "/videos/popular"
|
|
|
|
collection_featured_stream:
|
|
$ref: "#/definitions/page_stream"
|
|
$parameters:
|
|
name: "collection_featured"
|
|
path: "/v1/collections/featured"
|
|
|
|
streams:
|
|
- "#/definitions/photos_search_stream"
|
|
- "#/definitions/photos_curated_stream"
|
|
- "#/definitions/collection_featured_stream"
|
|
- "#/definitions/videos_search_stream"
|
|
- "#/definitions/videos_popular_stream"
|
|
|
|
check:
|
|
stream_names:
|
|
- "videos_popular"
|