diff --git a/framework/json/responses/beaconBooleanResponse.json b/framework/json/responses/beaconBooleanResponse.json index 7aae7ffe..779f6299 100644 --- a/framework/json/responses/beaconBooleanResponse.json +++ b/framework/json/responses/beaconBooleanResponse.json @@ -14,6 +14,10 @@ "$ref": "./sections/beaconResponseMeta.json", "description": "Information about the response that could be relevant for the Beacon client in order to interpret the results." }, + "response": { + "$ref": "./sections/beaconBooleanResultsets.json", + "description": "Response for queries that recovers any result." + }, "responseSummary": { "$ref": "./sections/beaconBooleanResponseSection.json", "description": "Boolean (true/false) response section." @@ -21,7 +25,8 @@ }, "required": [ "meta", - "responseSummary" + "responseSummary", + "response" ], "type": "object" } \ No newline at end of file diff --git a/framework/json/responses/beaconCountResponse.json b/framework/json/responses/beaconCountResponse.json index 7c5b1ad4..86d138da 100644 --- a/framework/json/responses/beaconCountResponse.json +++ b/framework/json/responses/beaconCountResponse.json @@ -14,6 +14,10 @@ "$ref": "./sections/beaconResponseMeta.json", "description": "Information about the response that could be relevant for the Beacon client in order to interpret the results." }, + "response": { + "$ref": "./sections/beaconCountResultsets.json", + "description": "Response for queries that recovers any result." + }, "responseSummary": { "$ref": "./sections/beaconCountResponseSection.json", "description": "Response summary, including Boolean and optionally results count." @@ -21,7 +25,8 @@ }, "required": [ "meta", - "responseSummary" + "responseSummary", + "response" ], "type": "object" } \ No newline at end of file diff --git a/framework/json/responses/sections/beaconBooleanResultsets.json b/framework/json/responses/sections/beaconBooleanResultsets.json new file mode 100644 index 00000000..ebf80a7b --- /dev/null +++ b/framework/json/responses/sections/beaconBooleanResultsets.json @@ -0,0 +1,55 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": true, + "definitions": { + "BooleanResultsetInstance": { + "additionalProperties": true, + "properties": { + "exists": { + "type": "boolean" + }, + "id": { + "description": "id of the BooleanResultset", + "example": "datasetA", + "type": "string" + }, + "info": { + "description": "Additional details that could be of interest about the BooleanResultset. Provided to clearly enclose any attribute that is not part of the Beacon specification.", + "type": "object" + }, + "resultsHandovers": { + "$ref": "../../common/beaconCommonComponents.json#/definitions/ListOfHandovers", + "description": "List of handovers that apply to this BooleanResultset, not to the whole Beacon or to a result in particular." + }, + "setType": { + "default": "dataset", + "description": "Entry type of BooleanResultset. It SHOULD MATCH an entry type declared as collection in the Beacon configuration.", + "type": "string" + } + }, + "required": [ + "id", + "setType", + "exists" + ] + } + }, + "description": "Sets of results to be returned as query response.", + "properties": { + "$schema": { + "$ref": "../../common/beaconCommonComponents.json#/definitions/$schema" + }, + "resultSets": { + "items": { + "$ref": "#/definitions/BooleanResultsetInstance" + }, + "minItems": 0, + "type": "array" + } + }, + "required": [ + "resultSets" + ], + "title": "Beacon BooleanResultset", + "type": "object" +} \ No newline at end of file diff --git a/framework/json/responses/sections/beaconCountResultsets.json b/framework/json/responses/sections/beaconCountResultsets.json new file mode 100644 index 00000000..49c47ce1 --- /dev/null +++ b/framework/json/responses/sections/beaconCountResultsets.json @@ -0,0 +1,60 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": true, + "definitions": { + "CountResultsetInstance": { + "additionalProperties": true, + "properties": { + "exists": { + "type": "boolean" + }, + "id": { + "description": "id of the CountResultset", + "example": "datasetA", + "type": "string" + }, + "info": { + "description": "Additional details that could be of interest about the CountResultset. Provided to clearly enclose any attribute that is not part of the Beacon specification.", + "type": "object" + }, + "resultsCount": { + "description": "Number of results in this CountResultset.", + "type": "integer" + }, + "resultsHandovers": { + "$ref": "../../common/beaconCommonComponents.json#/definitions/ListOfHandovers", + "description": "List of handovers that apply to this CountResultset, not to the whole Beacon or to a result in particular." + }, + "setType": { + "default": "dataset", + "description": "Entry type of CountResultset. It SHOULD MATCH an entry type declared as collection in the Beacon configuration.", + "type": "string" + } + }, + "required": [ + "id", + "setType", + "exists", + "resultsCount" + ] + } + }, + "description": "Sets of results to be returned as query response.", + "properties": { + "$schema": { + "$ref": "../../common/beaconCommonComponents.json#/definitions/$schema" + }, + "resultSets": { + "items": { + "$ref": "#/definitions/CountResultsetInstance" + }, + "minItems": 0, + "type": "array" + } + }, + "required": [ + "resultSets" + ], + "title": "Beacon CountResultset", + "type": "object" +} \ No newline at end of file