1
0
mirror of synced 2026-01-05 12:05:28 -05:00
Files
airbyte/airbyte-integrations/connectors/source-pexels-api/source_pexels_api/manifest.yaml
Brian Lai 903d34e5f1 [Low-Code CDK] Enforce manifest against the airbyte-cdk version and the Beta version 0.29.0 (#23796)
* 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
2023-03-16 00:50:30 -04:00

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"