Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions specs/composition-full/paths/objects/objects.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,77 @@ get:
$ref: '../../../common/responses/MethodNotAllowed.yml'
'404':
$ref: '../../../common/responses/CompositionNotFound.yml'

put:
tags:
- Compositions
operationId: putComposition
x-acl:
- editSettings
- settings
summary: Upsert a composition
description: |
Upsert a composition in the current Algolia application.
parameters:
- $ref: '../urlParams.yml#/compositionID'
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../common/schemas/components/Composition.yml#/composition'
responses:
'200':
description: OK
content:
application/json:
schema:
title: taskIDResponse
type: object
additionalProperties: false
properties:
taskID:
$ref: '../../../common/responses/common.yml#/taskID'
required:
- taskID
'400':
$ref: '../../../common/responses/BadRequest.yml'
'402':
$ref: '../../../common/responses/FeatureNotEnabled.yml'
'403':
$ref: '../../../common/responses/MethodNotAllowed.yml'
'422':
$ref: '../../../common/responses/UnprocessableEntity.yml'

delete:
tags:
- Compositions
operationId: deleteComposition
x-acl:
- editSettings
- settings
summary: Delete a composition
description: |
Delete a composition from the current Algolia application.
parameters:
- $ref: '../urlParams.yml#/compositionID'
responses:
'200':
description: OK
content:
application/json:
schema:
title: taskIDResponse
type: object
additionalProperties: false
properties:
taskID:
$ref: '../../../common/responses/common.yml#/taskID'
required:
- taskID
'400':
$ref: '../../../common/responses/BadRequest.yml'
'402':
$ref: '../../../common/responses/FeatureNotEnabled.yml'
'403':
$ref: '../../../common/responses/MethodNotAllowed.yml'
80 changes: 80 additions & 0 deletions specs/composition-full/paths/rules/rule.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,83 @@ get:
$ref: '../../../common/responses/MethodNotAllowed.yml'
'404':
$ref: '../../../common/responses/IndexNotFound.yml'

put:
tags:
- Rules
operationId: putCompositionRule
x-acl:
- editSettings
- settings
summary: Upsert a composition rule
description: |
Upsert a Composition Rule for the specified composition ID.
parameters:
- $ref: '../urlParams.yml#/compositionID'
- $ref: './parameters.yml#/ObjectIDRule'
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../common/schemas/components/CompositionRule.yml#/compositionRule'
responses:
'200':
description: OK
content:
application/json:
schema:
title: taskIDResponse
type: object
additionalProperties: false
properties:
taskID:
$ref: '../../../common/responses/common.yml#/taskID'
required:
- taskID
'400':
$ref: '../../../common/responses/BadRequest.yml'
'402':
$ref: '../../../common/responses/FeatureNotEnabled.yml'
'403':
$ref: '../../../common/responses/MethodNotAllowed.yml'
'404':
$ref: '../../../common/responses/CompositionNotFound.yml'
'422':
$ref: '../../../common/responses/UnprocessableEntity.yml'

delete:
tags:
- Rules
operationId: deleteCompositionRule
x-acl:
- editSettings
- settings
summary: Delete a Composition Rule
description: |
Delete a Composition Rule from the specified Composition ID.
parameters:
- $ref: '../urlParams.yml#/compositionID'
- $ref: './parameters.yml#/ObjectIDRule'
responses:
'200':
description: OK
content:
application/json:
schema:
title: taskIDResponse
type: object
additionalProperties: false
properties:
taskID:
$ref: '../../../common/responses/common.yml#/taskID'
required:
- taskID
'400':
$ref: '../../../common/responses/BadRequest.yml'
'402':
$ref: '../../../common/responses/FeatureNotEnabled.yml'
'403':
$ref: '../../../common/responses/MethodNotAllowed.yml'
'404':
$ref: '../../../common/responses/CompositionNotFound.yml'
11 changes: 11 additions & 0 deletions tests/CTS/requests/composition-full/deleteComposition.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[
{
"parameters": {
"compositionID": "1234"
},
"request": {
"path": "/1/compositions/1234",
"method": "DELETE"
}
}
]
12 changes: 12 additions & 0 deletions tests/CTS/requests/composition-full/deleteCompositionRule.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[
{
"parameters": {
"compositionID": "1234",
"objectID": "5678"
},
"request": {
"path": "/1/compositions/1234/rules/5678",
"method": "DELETE"
}
}
]
65 changes: 65 additions & 0 deletions tests/CTS/requests/composition-full/putComposition.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
[
{
"parameters": {
"compositionID": "1234",
"composition": {
"objectID": "1234",
"name": "my first composition",
"behavior": {
"injection": {
"main": {
"source": {
"search": {
"index": "foo"
}
}
},
"injectedItems": [
{
"key": "injectedItem1",
"source": {
"search": {
"index": "foo"
}
},
"position": 2,
"length": 1
}
]
}
}
}
},
"request": {
"path": "/1/compositions/1234",
"method": "PUT",
"body": {
"objectID": "1234",
"name": "my first composition",
"behavior": {
"injection": {
"main": {
"source": {
"search": {
"index": "foo"
}
}
},
"injectedItems": [
{
"key": "injectedItem1",
"source": {
"search": {
"index": "foo"
}
},
"position": 2,
"length": 1
}
]
}
}
}
}
}
]
80 changes: 80 additions & 0 deletions tests/CTS/requests/composition-full/putCompositionRule.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
[
{
"parameters": {
"compositionID": "1234",
"objectID": "5678",
"compositionRule": {
"objectID": "5678",
"conditions": [
{
"anchoring": "is",
"pattern": "test"
}
],
"consequence": {
"behavior": {
"injection": {
"main": {
"source": {
"search": {
"index": "foo"
}
}
},
"injectedItems": [
{
"key": "injectedItem1",
"source": {
"search": {
"index": "foo"
}
},
"position": 2,
"length": 1
}
]
}
}
}
}
},
"request": {
"path": "/1/compositions/1234/rules/5678",
"method": "PUT",
"body": {
"objectID": "5678",
"conditions": [
{
"anchoring": "is",
"pattern": "test"
}
],
"consequence": {
"behavior": {
"injection": {
"main": {
"source": {
"search": {
"index": "foo"
}
}
},
"injectedItems": [
{
"key": "injectedItem1",
"source": {
"search": {
"index": "foo"
}
},
"position": 2,
"length": 1
}
]
}
}
}
}
}
}
]