Skip to content

Commit 1685ed0

Browse files
authored
feat(specs): create ingestion specs (#1100)
1 parent 6df1203 commit 1685ed0

26 files changed

+1415
-0
lines changed

specs/ingestion/common/parameters.yml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
authenticationID:
2+
name: authenticationID
3+
in: path
4+
description: The authentication uuid.
5+
required: true
6+
schema:
7+
type: string
8+
example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f
9+
10+
destinationID:
11+
name: destinationID
12+
in: path
13+
description: The destination uuid.
14+
required: true
15+
schema:
16+
type: string
17+
example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f
18+
19+
sourceID:
20+
name: sourceID
21+
in: path
22+
description: The source uuid.
23+
required: true
24+
schema:
25+
type: string
26+
example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f
27+
28+
taskID:
29+
name: taskID
30+
in: path
31+
description: The task uuid.
32+
required: true
33+
schema:
34+
type: string
35+
example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f
36+
37+
runID:
38+
name: runID
39+
in: path
40+
description: The run uuid.
41+
required: true
42+
schema:
43+
type: string
44+
example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f
45+
46+
eventID:
47+
name: eventID
48+
in: path
49+
description: The event uuid.
50+
required: true
51+
schema:
52+
type: string
53+
example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f
54+
55+
itemsPerPage:
56+
name: itemsPerPage
57+
in: query
58+
description: The number of items per page to return
59+
required: false
60+
schema:
61+
type: integer
62+
63+
page:
64+
name: page
65+
in: query
66+
description: The page number to fetch, starting at 1
67+
required: false
68+
schema:
69+
type: integer
Lines changed: 163 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
Authentication:
2+
type: object
3+
additionalProperties: false
4+
properties:
5+
authenticationID:
6+
type: string
7+
type:
8+
$ref: '#/AuthenticationType'
9+
name:
10+
type: string
11+
platform:
12+
$ref: '#/PlatformType'
13+
input:
14+
$ref: '#/AuthInput'
15+
createdAt:
16+
$ref: './common.yml#/createdAt'
17+
updatedAt:
18+
$ref: './common.yml#/updatedAt'
19+
required:
20+
- authenticationID
21+
- type
22+
- name
23+
- input
24+
- createdAt
25+
26+
AuthenticationCreate:
27+
type: object
28+
additionalProperties: false
29+
properties:
30+
type:
31+
$ref: '#/AuthenticationType'
32+
name:
33+
type: string
34+
platform:
35+
$ref: '#/PlatformType'
36+
input:
37+
$ref: '#/AuthInput'
38+
required:
39+
- type
40+
- name
41+
- input
42+
43+
AuthenticationCreateResponse:
44+
type: object
45+
additionalProperties: false
46+
properties:
47+
authenticationID:
48+
type: string
49+
name:
50+
type: string
51+
createdAt:
52+
$ref: './common.yml#/createdAt'
53+
required:
54+
- authenticationID
55+
- name
56+
- createdAt
57+
58+
AuthenticationUpdate:
59+
type: object
60+
additionalProperties: false
61+
properties:
62+
type:
63+
$ref: '#/AuthenticationType'
64+
name:
65+
type: string
66+
platform:
67+
$ref: '#/PlatformType'
68+
input:
69+
$ref: '#/AuthInput'
70+
71+
AuthenticationUpdateResponse:
72+
type: object
73+
additionalProperties: false
74+
properties:
75+
authenticationID:
76+
type: string
77+
name:
78+
type: string
79+
updatedAt:
80+
$ref: './common.yml#/updatedAt'
81+
required:
82+
- authenticationID
83+
- name
84+
- updatedAt
85+
86+
AuthenticationType:
87+
type: string
88+
enum: ['googleServiceAccount', 'basic', 'apiKey', 'oauth', 'algolia']
89+
90+
PlatformType:
91+
type: string
92+
enum: ['bigcommerce', 'commercetools']
93+
94+
AuthGoogleServiceAccount:
95+
type: object
96+
additionalProperties: false
97+
properties:
98+
clientEmail:
99+
type: string
100+
privateKey:
101+
type: string
102+
required:
103+
- clientEmail
104+
- privateKey
105+
106+
AuthBasic:
107+
type: object
108+
additionalProperties: false
109+
properties:
110+
username:
111+
type: string
112+
password:
113+
type: string
114+
required:
115+
- username
116+
- password
117+
118+
AuthAPIKey:
119+
type: object
120+
additionalProperties: false
121+
properties:
122+
key:
123+
type: string
124+
required:
125+
- key
126+
127+
AuthOAuth:
128+
type: object
129+
additionalProperties: false
130+
properties:
131+
url:
132+
type: string
133+
client_id:
134+
type: string
135+
client_secret:
136+
type: string
137+
scope:
138+
type: string
139+
required:
140+
- url
141+
- client_id
142+
- client_secret
143+
- scope
144+
145+
AuthAlgolia:
146+
type: object
147+
additionalProperties: false
148+
properties:
149+
appID:
150+
type: string
151+
apiKey:
152+
type: string
153+
required:
154+
- appID
155+
- apiKey
156+
157+
AuthInput:
158+
oneOf:
159+
- $ref: '#/AuthGoogleServiceAccount'
160+
- $ref: '#/AuthBasic'
161+
- $ref: '#/AuthAPIKey'
162+
- $ref: '#/AuthOAuth'
163+
- $ref: '#/AuthAlgolia'
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
createdAt:
2+
type: string
3+
description: Date of creation (RFC3339 format).
4+
5+
updatedAt:
6+
type: string
7+
description: Date of last update (RFC3339 format).
8+
9+
startedAt:
10+
type: string
11+
description: Date of start (RFC3339 format).
12+
13+
finishedAt:
14+
type: string
15+
description: Date of finish (RFC3339 format).
16+
17+
publishedAt:
18+
type: string
19+
description: Date of publish (RFC3339 format).
20+
21+
DeleteResponse:
22+
type: object
23+
properties:
24+
deletedAt:
25+
type: string
26+
description: Date of deletion (RFC3339 format).
27+
required:
28+
- deletedAt
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
Destination:
2+
type: object
3+
additionalProperties: false
4+
properties:
5+
destinationID:
6+
type: string
7+
type:
8+
$ref: '#/DestinationType'
9+
name:
10+
type: string
11+
input:
12+
$ref: '#/DestinationInput'
13+
createdAt:
14+
$ref: './common.yml#/createdAt'
15+
updatedAt:
16+
$ref: './common.yml#/updatedAt'
17+
authenticationID:
18+
type: string
19+
required:
20+
- destinationID
21+
- type
22+
- name
23+
- input
24+
- createdAt
25+
- authenticationID
26+
27+
DestinationCreate:
28+
type: object
29+
additionalProperties: false
30+
properties:
31+
type:
32+
$ref: '#/DestinationType'
33+
name:
34+
type: string
35+
input:
36+
$ref: '#/DestinationInput'
37+
authenticationID:
38+
type: string
39+
required:
40+
- type
41+
- name
42+
- input
43+
- authenticationID
44+
45+
DestinationCreateResponse:
46+
type: object
47+
additionalProperties: false
48+
properties:
49+
destinationID:
50+
type: string
51+
name:
52+
type: string
53+
createdAt:
54+
$ref: './common.yml#/createdAt'
55+
required:
56+
- destinationID
57+
- name
58+
- createdAt
59+
60+
DestinationUpdate:
61+
type: object
62+
additionalProperties: false
63+
properties:
64+
type:
65+
$ref: '#/DestinationType'
66+
name:
67+
type: string
68+
input:
69+
$ref: '#/DestinationInput'
70+
authenticationID:
71+
type: string
72+
73+
DestinationUpdateResponse:
74+
type: object
75+
additionalProperties: false
76+
properties:
77+
destinationID:
78+
type: string
79+
name:
80+
type: string
81+
updatedAt:
82+
$ref: './common.yml#/updatedAt'
83+
required:
84+
- destinationID
85+
- name
86+
- updatedAt
87+
88+
DestinationType:
89+
type: string
90+
enum: ['search', 'insights', 'flow', 'predict']
91+
92+
DestinationIndexPrefix:
93+
type: object
94+
additionalProperties: false
95+
properties:
96+
indexPrefix:
97+
type: string
98+
required:
99+
- indexPrefix
100+
101+
DestinationIndexName:
102+
type: object
103+
additionalProperties: false
104+
properties:
105+
indexName:
106+
type: string
107+
required:
108+
- indexName
109+
110+
DestinationInput:
111+
oneOf:
112+
- $ref: '#/DestinationIndexPrefix'
113+
- $ref: '#/DestinationIndexName'

0 commit comments

Comments
 (0)