Skip to content

Commit a70ab87

Browse files
authored
feat: add full clients architecture init (#13)
1 parent 1963b8e commit a70ab87

File tree

97 files changed

+461
-95
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+461
-95
lines changed

README.md

Lines changed: 2 additions & 2 deletions

openapitools.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"config": "#{cwd}/openapitools.json",
1010
"apiPackage": "client-search",
1111
"output": "#{cwd}/clients/algoliasearch-client-javascript",
12-
"glob": "specs/spec.yml",
12+
"glob": "specs/search/spec.yml",
1313
"gitHost": "algolia",
1414
"gitUserId": "algolia",
1515
"gitRepoId": "algoliasearch-client-javascript",

package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,18 @@
66
"playground/javascript/"
77
],
88
"scripts": {
9-
"build:spec": "yarn swagger-cli bundle specs/spec.yml --outfile dist/openapi.yml --type yaml",
10-
"build:spec:json": "yarn swagger-cli bundle specs/spec.yml --outfile dist/openapi.json --type json",
9+
"build:spec": "yarn swagger-cli bundle specs/search/spec.yml --outfile dist/openapi.yml --type yaml",
10+
"build:spec:json": "yarn swagger-cli bundle specs/search/spec.yml --outfile dist/openapi.json --type json",
1111
"clean": "rm -rf **/dist **/build **/node_modules",
1212
"client:build-js": "cd clients/algoliasearch-client-javascript/ && yarn install && yarn build && cd ../../",
1313
"client:build": "yarn client:build-js",
1414
"lint:js": "yarn prettier --write clients/algoliasearch-client-javascript clients/utils/javascript",
1515
"lint:specs": "yarn prettier --write specs",
1616
"lint": "yarn lint:specs && yarn lint:js",
1717
"generate:js": "PACKAGE_VERSION='4.11.0' yarn openapi-generator-cli generate --generator-key javascript-client && yarn install && yarn utils:import-js",
18+
"generate:js:search": "PACKAGE_VERSION='4.11.0' yarn openapi-generator-cli generate -i specs/search/spec.yml --generator-key javascript-client && yarn install && yarn utils:import-js",
1819
"generate": "yarn generate:js && yarn lint",
20+
"generate:search": "yarn generate:js:search && yarn lint",
1921
"playground:js": "yarn workspace algoliasearch-client-javascript-playground start",
2022
"utils:import-js": "mkdir -p -- clients/algoliasearch-client-javascript/utils && cp -R clients/utils/javascript/ clients/algoliasearch-client-javascript/utils"
2123
},

specs/abtesting/paths/abtest.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
get:
2+
delete:

specs/abtesting/paths/abtests.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
post:
2+
get:

specs/abtesting/paths/stopAbTest.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
post:

specs/abtesting/spec.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
openapi: 3.0.2
2+
info:
3+
title: A/B Testing API
4+
description: API powering the A/B Testing feature of Algolia.
5+
version: 0.0.1
6+
components:
7+
securitySchemes:
8+
appId:
9+
$ref: '../common/securitySchemes.yml#/appId'
10+
apiKey:
11+
$ref: '../common/securitySchemes.yml#/apiKey'
12+
security:
13+
- appId: []
14+
apiKey: []
15+
paths:
16+
/2/abtests:
17+
$ref: './paths/abtests.yml'
18+
# /2/abtests/{id}:
19+
# $ref: './paths/abtest.yml'
20+
# /2/abtests/{id}/stop:
21+
# $ref: './paths/stopAbTest.yml'
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
get:
2+
# handle /2/filters?search= as well
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
get:
2+
# handle /2/hits?search= as well
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:

specs/analytics/spec.yml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
openapi: 3.0.2
2+
info:
3+
title: Analytics API
4+
description: API powering the Analytics feature of Algolia.
5+
version: 0.1.0
6+
components:
7+
securitySchemes:
8+
appId:
9+
$ref: '../common/securitySchemes.yml#/appId'
10+
apiKey:
11+
$ref: '../common/securitySchemes.yml#/apiKey'
12+
security:
13+
- appId: []
14+
apiKey: []
15+
paths:
16+
# ########################
17+
# ### Status Endpoints ###
18+
# ########################
19+
/2/status:
20+
$ref: './paths/status/getStatus.yml'
21+
#
22+
# ##################################
23+
# ### Search Analytics Endpoints ###
24+
# ##################################
25+
# /2/searches:
26+
# $ref: './paths/search/getTopSearches.yml'
27+
# /2/searches/count:
28+
# $ref: './paths/search/getSearchesCount.yml'
29+
# /2/searches/noResults:
30+
# $ref: './paths/search/getSearchesNoResults.yml'
31+
# /2/searches/noClicks:
32+
# $ref: './paths/search/getSearchesNoClicks.yml'
33+
# /2/searches/noResultRate:
34+
# $ref: './paths/search/getNoResultsRate.yml'
35+
# /2/searches/noClickRate:
36+
# $ref: './paths/search/getNoClickRate.yml'
37+
# /2/hits:
38+
# $ref: './paths/search/getTopHits.yml'
39+
# /2/users/count:
40+
# $ref: './paths/search/getUsersCount.yml'
41+
# /2/filters:
42+
# $ref: './paths/search/getTopFilterAttributes.yml'
43+
# /2/filters/noResults?search=:
44+
# $ref: './paths/search/getNoResultTopFilters.yml'
45+
# /2/filters/{attribute list}?search=:
46+
# $ref: './paths/search/getSearchAttributesTopFilters.yml'
47+
# /2/filters/{attribute}:
48+
# $ref: './paths/search/getAttributeTopFilters.yml'
49+
# /2/countries:
50+
# $ref: './paths/search/getTopCountries.yml'
51+
#
52+
# #################################
53+
# ### Click Analytics Endpoints ###
54+
# #################################
55+
# /2/clicks/averageClickPosition:
56+
# $ref: './paths/click/getAverageTopClickPosition.yml'
57+
# /2/clicks/positions:
58+
# $ref: './paths/click/getClickPositions.yml'
59+
# /2/clicks/clickThroughRate:
60+
# $ref: './paths/click/getClickThroughRate.yml'
61+
# /2/conversions/conversionRate:
62+
# $ref: './paths/click/getConversionRate.yml'
File renamed without changes.
File renamed without changes.
File renamed without changes.

specs/common/securitySchemes.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
appId:
2+
type: apiKey
3+
in: header
4+
name: X-Algolia-Application-Id
5+
apiKey:
6+
type: apiKey
7+
in: header
8+
name: X-Algolia-API-Key

specs/insights/paths/pushEvents.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
post:

specs/insights/spec.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
openapi: 3.0.2
2+
info:
3+
title: Insights API
4+
description: API powering the Insights feature of Algolia.
5+
version: 0.0.1
6+
components:
7+
securitySchemes:
8+
appId:
9+
$ref: '../common/securitySchemes.yml#/appId'
10+
apiKey:
11+
$ref: '../common/securitySchemes.yml#/apiKey'
12+
security:
13+
- appId: []
14+
apiKey: []
15+
paths:
16+
/1/events:
17+
$ref: './paths/pushEvents.yml'

specs/paths/indexes/search.yml

Lines changed: 0 additions & 27 deletions
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
delete:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
post:
2+
get:

specs/personalization/spec.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
openapi: 3.0.2
2+
info:
3+
title: Personalization API
4+
description: API powering the Personalization feature of Algolia.
5+
version: 0.0.1
6+
components:
7+
securitySchemes:
8+
appId:
9+
$ref: '../common/securitySchemes.yml#/appId'
10+
apiKey:
11+
$ref: '../common/securitySchemes.yml#/apiKey'
12+
security:
13+
- appId: []
14+
apiKey: []
15+
paths:
16+
/1/profiles/personalization/{userToken}:
17+
$ref: './paths/getUserTokenProfile.yml'
18+
# /1/profiles/{userToken}:
19+
# $ref: './paths/deleteUserProfile.yml'
20+
# /1/strategies/personalization:
21+
# $ref: './paths/personalizationStrategy.yml'
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
put:
2+
delete:
3+
get:
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
post:
2+
get:

specs/query_suggestions/spec.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
openapi: 3.0.2
2+
info:
3+
title: Query Suggestions API
4+
description: API powering the Query Suggestions feature of Algolia.
5+
version: 0.0.1
6+
components:
7+
securitySchemes:
8+
appId:
9+
$ref: '../common/securitySchemes.yml#/appId'
10+
apiKey:
11+
$ref: '../common/securitySchemes.yml#/apiKey'
12+
security:
13+
- appId: []
14+
apiKey: []
15+
paths:
16+
/1/configs:
17+
$ref: './paths/qsConfigs.yml'
18+
# /1/configs/{indexName}:
19+
# $ref: './paths/qsConfig.yml'
20+
# /1/configs/{indexName}/status:
21+
# $ref: './paths/getConfigurationStatus.yml'
22+
# /1/logs/{indexName}:
23+
# $ref: './paths/getLogFile.yml'
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
post:

specs/recommend/spec.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
openapi: 3.0.2
2+
info:
3+
title: Recommend API
4+
description: API powering the Recommend feature of Algolia.
5+
version: 0.0.1
6+
components:
7+
securitySchemes:
8+
appId:
9+
$ref: '../common/securitySchemes.yml#/appId'
10+
apiKey:
11+
$ref: '../common/securitySchemes.yml#/apiKey'
12+
security:
13+
- appId: []
14+
apiKey: []
15+
paths:
16+
/1/indexes/*/recommendations:
17+
$ref: './paths/getRecommendations.yml'

specs/responses/BadRequest.yml renamed to specs/search/common/responses/BadRequest.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ description: Bad request or request arguments
22
content:
33
application/json:
44
schema:
5-
$ref: '../schemas/ErrorBase.yml'
5+
$ref: '../../../common/schemas/ErrorBase.yml'

specs/responses/IndexNotFound.yml renamed to specs/search/common/responses/IndexNotFound.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ description: Index not found
22
content:
33
application/json:
44
schema:
5-
$ref: '../schemas/ErrorBase.yml'
5+
$ref: '../../../common/schemas/ErrorBase.yml'

specs/schemas/Record.yml renamed to specs/search/common/schemas/Record.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ record:
66
- objectID
77
properties:
88
objectID:
9-
$ref: '../responses/common.yml#/objectID'
9+
$ref: '../../../common/responses/common.yml#/objectID'
1010
_highlightResult:
1111
$ref: '#/highlightResult'
1212
_snippetResult:

specs/schemas/SearchResponse.yml renamed to specs/search/common/schemas/SearchResponse.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ searchResponse:
1414
- params
1515
properties:
1616
abTestID:
17-
$ref: ../responses/common.yml#/abTestID
17+
$ref: ../../../common/responses/common.yml#/abTestID
1818
abTestVariantID:
19-
$ref: ../responses/common.yml#/abTestVariantID
19+
$ref: ../../../common/responses/common.yml#/abTestVariantID
2020
aroundLatLng:
2121
type: string
2222
description: The computed geo location.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
post:
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
put:
2+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
post:

specs/search/paths/keys/key.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
put:
2+
get:
3+
delete:

specs/search/paths/keys/keys.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
post:
2+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
post:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
post:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
post:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
get:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
post:
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
get:
2+
delete:
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
post:
2+
get:

0 commit comments

Comments
 (0)