mirror of
https://github.com/oceanprotocol/docs.git
synced 2024-11-26 19:49:26 +01:00
fetch remote swagger specs
This commit is contained in:
parent
f126896b76
commit
880dcc8fc7
@ -1,509 +0,0 @@
|
|||||||
{
|
|
||||||
"definitions": {},
|
|
||||||
"info": {
|
|
||||||
"description": "Aquarius provides an off-chain database store for metadata about data assets. When running with our Docker images, it is exposed under:`http://0.0.0.0:5000`.",
|
|
||||||
"title": "Aquarius",
|
|
||||||
"version": "0.2.2"
|
|
||||||
},
|
|
||||||
"paths": {
|
|
||||||
"/api/v1/aquarius/assets": {
|
|
||||||
"get": {
|
|
||||||
"description": "",
|
|
||||||
"responses": { "200": { "description": "successful action" } },
|
|
||||||
"summary": "Get all asset IDs.",
|
|
||||||
"tags": ["ddo"]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"/api/v1/aquarius/assets/ddo": {
|
|
||||||
"delete": {
|
|
||||||
"description": "",
|
|
||||||
"responses": {
|
|
||||||
"200": { "description": "successfully deleted" },
|
|
||||||
"500": { "description": "Error" }
|
|
||||||
},
|
|
||||||
"summary": "Retire metadata of all the assets.",
|
|
||||||
"tags": ["ddo"]
|
|
||||||
},
|
|
||||||
"get": {
|
|
||||||
"description": "",
|
|
||||||
"responses": { "200": { "description": "successful action" } },
|
|
||||||
"summary": "Get DDO of all assets.",
|
|
||||||
"tags": ["ddo"]
|
|
||||||
},
|
|
||||||
"post": {
|
|
||||||
"consumes": ["application/json"],
|
|
||||||
"description": "",
|
|
||||||
"parameters": [
|
|
||||||
{
|
|
||||||
"description": "DDO of the asset.",
|
|
||||||
"in": "body",
|
|
||||||
"name": "body",
|
|
||||||
"required": true,
|
|
||||||
"schema": {
|
|
||||||
"properties": {
|
|
||||||
"@context": {
|
|
||||||
"description": null,
|
|
||||||
"example": "https://w3id.org/future-method/v1",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"authentication": {
|
|
||||||
"description": "List of authentication mechanisms.",
|
|
||||||
"example": [
|
|
||||||
{ "type": "RsaSignatureAuthentication2018" },
|
|
||||||
{ "publicKey": "did:op:123456789abcdefghi#keys-1" }
|
|
||||||
],
|
|
||||||
"type": "array"
|
|
||||||
},
|
|
||||||
"created": {
|
|
||||||
"description": "date of ddo creation.",
|
|
||||||
"example": "2016-02-08T16:02:20Z",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"id": {
|
|
||||||
"description": "ID of the asset.",
|
|
||||||
"example": "did:op:123456789abcdefghi",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"proof": {
|
|
||||||
"description": "Information about the creation and creator of the asset.",
|
|
||||||
"example": {
|
|
||||||
"created": "2016-02-08T16:02:20Z",
|
|
||||||
"creator": "did:example:8uQhQMGzWxR8vw5P3UWH1ja",
|
|
||||||
"signatureValue": "QNB13Y7Q9...1tzjn4w==",
|
|
||||||
"type": "UUIDSignature"
|
|
||||||
},
|
|
||||||
"type": "dictionary"
|
|
||||||
},
|
|
||||||
"publicKey": {
|
|
||||||
"description": "List of public keys.",
|
|
||||||
"example": [
|
|
||||||
{ "id": "did:op:123456789abcdefghi#keys-1" },
|
|
||||||
{ "type": "Ed25519VerificationKey2018" },
|
|
||||||
{ "owner": "did:op:123456789abcdefghi" },
|
|
||||||
{
|
|
||||||
"publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"type": "array"
|
|
||||||
},
|
|
||||||
"service": {
|
|
||||||
"description": "List of services.",
|
|
||||||
"example": [
|
|
||||||
{
|
|
||||||
"serviceEndpoint": "http://mybrizo.org/api/v1/brizo/services/consume?pubKey=${ pubKey}&serviceId={serviceId}&url={url}",
|
|
||||||
"type": "Access"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"serviceEndpoint": "http://mybrizo.org/api/v1/brizo/services/compute?pubKey=${ pubKey}&serviceId={serviceId}&algo={algo}&container={container}",
|
|
||||||
"type": "Compute"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"metadata": {
|
|
||||||
"additionalInformation": {
|
|
||||||
"structuredMarkup": [
|
|
||||||
{
|
|
||||||
"mediaType": "application/ld+json",
|
|
||||||
"uri": "http://skos.um.es/unescothes/C01194/jsonld"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"mediaType": "text/turtle",
|
|
||||||
"uri": "http://skos.um.es/unescothes/C01194/turtle"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"updateFrecuency": "yearly"
|
|
||||||
},
|
|
||||||
"base": {
|
|
||||||
"author": "Met Office",
|
|
||||||
"checksum": "38803b9e6f04fce3fba4b124524672592264d31847182c689095a081c9e85262",
|
|
||||||
"compression": "zip",
|
|
||||||
"copyrightHolder": "Met Office",
|
|
||||||
"dateCreated": "2012-02-01T10:55:11Z",
|
|
||||||
"description": "Weather information of UK including temperature and humidity",
|
|
||||||
"encryptedFiles": "0x098213xzckasdf089723hjgdasfkjgasfv",
|
|
||||||
"files": [
|
|
||||||
{
|
|
||||||
"compression": "zip",
|
|
||||||
"contentLength": "4535431",
|
|
||||||
"contentType": "text/csv",
|
|
||||||
"encoding": "UTF-8",
|
|
||||||
"resourceId": "access-log2018-02-13-15-17-29-18386C502CAEA932"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"inLanguage": "en",
|
|
||||||
"license": "CC-BY",
|
|
||||||
"links": [
|
|
||||||
{
|
|
||||||
"name": "Sample of Asset Data",
|
|
||||||
"type": "sample",
|
|
||||||
"url": "https://foo.com/sample.csv"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AssetID": "4d517500da0acb0d65a716f61330969334630363ce4a6a9d39691026ac7908ea",
|
|
||||||
"name": "Data Format Definition",
|
|
||||||
"type": "format"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"name": "UK Weather information 2011",
|
|
||||||
"price": 10,
|
|
||||||
"tags": "weather, uk, 2011, temperature, humidity",
|
|
||||||
"type": "dataset",
|
|
||||||
"workExample": "stationId,latitude,longitude,datetime, temperature,humidity/n423432fsd,51.509865,-0.118092, 2011-01-01T10:55:11+00:00,7.2,68"
|
|
||||||
},
|
|
||||||
"curation": {
|
|
||||||
"numVotes": 123,
|
|
||||||
"rating": 0.93,
|
|
||||||
"schema": "Binary Voting"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"serviceDefinitionId": "2",
|
|
||||||
"serviceEndpoint": "http://myaquarius.org/api/v1/provider/assets/metadata/{did}",
|
|
||||||
"type": "Metadata"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"type": "array"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"@context",
|
|
||||||
"id",
|
|
||||||
"created",
|
|
||||||
"publicKey",
|
|
||||||
"authentication",
|
|
||||||
"proof",
|
|
||||||
"service"
|
|
||||||
],
|
|
||||||
"type": "object"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"responses": {
|
|
||||||
"201": { "description": "Asset successfully registered." },
|
|
||||||
"400": {
|
|
||||||
"description": "One of the required attributes is missing."
|
|
||||||
},
|
|
||||||
"404": { "description": "Invalid asset data." },
|
|
||||||
"500": { "description": "Error" }
|
|
||||||
},
|
|
||||||
"summary": "Register DDO of a new asset",
|
|
||||||
"tags": ["ddo"]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"/api/v1/aquarius/assets/ddo/query": {
|
|
||||||
"get": {
|
|
||||||
"description": "",
|
|
||||||
"parameters": [
|
|
||||||
{
|
|
||||||
"description": "ID of the asset.",
|
|
||||||
"in": "query",
|
|
||||||
"name": "text",
|
|
||||||
"required": true,
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description": "Key or list of keys to sort the result",
|
|
||||||
"example": { "value": 1 },
|
|
||||||
"in": "query",
|
|
||||||
"name": "sort",
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description": "Number of records per page",
|
|
||||||
"example": 100,
|
|
||||||
"in": "query",
|
|
||||||
"name": "offset",
|
|
||||||
"type": "int"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description": "Page showed",
|
|
||||||
"example": 1,
|
|
||||||
"in": "query",
|
|
||||||
"name": "page",
|
|
||||||
"type": "int"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"responses": { "200": { "description": "successful action" } },
|
|
||||||
"summary": "Get a list of DDOs that match with the given text.",
|
|
||||||
"tags": ["ddo"]
|
|
||||||
},
|
|
||||||
"post": {
|
|
||||||
"consumes": ["application/json"],
|
|
||||||
"description": "",
|
|
||||||
"parameters": [
|
|
||||||
{
|
|
||||||
"description": "Asset metadata.",
|
|
||||||
"in": "body",
|
|
||||||
"name": "body",
|
|
||||||
"required": true,
|
|
||||||
"schema": {
|
|
||||||
"properties": {
|
|
||||||
"offset": {
|
|
||||||
"description": "Number of records per page",
|
|
||||||
"example": 100,
|
|
||||||
"type": "int"
|
|
||||||
},
|
|
||||||
"page": {
|
|
||||||
"description": "Page showed",
|
|
||||||
"example": 1,
|
|
||||||
"type": "int"
|
|
||||||
},
|
|
||||||
"query": {
|
|
||||||
"description": "Query to realize",
|
|
||||||
"example": { "value": 1 },
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"sort": {
|
|
||||||
"description": "Key or list of keys to sort the result",
|
|
||||||
"example": { "value": 1 },
|
|
||||||
"type": "object"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"type": "object"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"responses": { "200": { "description": "successful action" } },
|
|
||||||
"summary": "Get a list of DDOs that match with the executed query.",
|
|
||||||
"tags": ["ddo"]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"/api/v1/aquarius/assets/ddo/validate": {
|
|
||||||
"post": {
|
|
||||||
"consumes": ["application/json"],
|
|
||||||
"description": "",
|
|
||||||
"parameters": [
|
|
||||||
{
|
|
||||||
"description": "Asset metadata.",
|
|
||||||
"in": "body",
|
|
||||||
"name": "body",
|
|
||||||
"required": true,
|
|
||||||
"schema": { "type": "object" }
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"responses": {
|
|
||||||
"200": { "description": "successfully request." },
|
|
||||||
"500": { "description": "Error" }
|
|
||||||
},
|
|
||||||
"summary": "Validate metadata content.",
|
|
||||||
"tags": ["ddo"]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"/api/v1/aquarius/assets/ddo/{did}": {
|
|
||||||
"delete": {
|
|
||||||
"description": "",
|
|
||||||
"parameters": [
|
|
||||||
{
|
|
||||||
"description": "DID of the asset.",
|
|
||||||
"in": "path",
|
|
||||||
"name": "did",
|
|
||||||
"required": true,
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"responses": {
|
|
||||||
"200": { "description": "successfully deleted" },
|
|
||||||
"404": { "description": "This asset DID is not in OceanDB" },
|
|
||||||
"500": { "description": "Error" }
|
|
||||||
},
|
|
||||||
"summary": "Retire metadata of an asset",
|
|
||||||
"tags": ["ddo"]
|
|
||||||
},
|
|
||||||
"get": {
|
|
||||||
"description": "",
|
|
||||||
"parameters": [
|
|
||||||
{
|
|
||||||
"description": "DID of the asset.",
|
|
||||||
"in": "path",
|
|
||||||
"name": "did",
|
|
||||||
"required": true,
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"responses": {
|
|
||||||
"200": { "description": "successful operation" },
|
|
||||||
"404": { "description": "This asset DID is not in OceanDB" }
|
|
||||||
},
|
|
||||||
"summary": "Get DDO of a particular asset.",
|
|
||||||
"tags": ["ddo"]
|
|
||||||
},
|
|
||||||
"put": {
|
|
||||||
"consumes": ["application/json"],
|
|
||||||
"description": "",
|
|
||||||
"parameters": [
|
|
||||||
{
|
|
||||||
"description": "DDO of the asset.",
|
|
||||||
"in": "body",
|
|
||||||
"name": "body",
|
|
||||||
"required": true,
|
|
||||||
"schema": {
|
|
||||||
"properties": {
|
|
||||||
"@context": {
|
|
||||||
"description": null,
|
|
||||||
"example": "https://w3id.org/future-method/v1",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"authentication": {
|
|
||||||
"description": "List of authentication mechanisms.",
|
|
||||||
"example": [
|
|
||||||
{ "type": "RsaSignatureAuthentication2018" },
|
|
||||||
{ "publicKey": "did:op:123456789abcdefghi#keys-1" }
|
|
||||||
],
|
|
||||||
"type": "array"
|
|
||||||
},
|
|
||||||
"created": {
|
|
||||||
"description": "date of ddo creation.",
|
|
||||||
"example": "2016-02-08T16:02:20Z",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"id": {
|
|
||||||
"description": "ID of the asset.",
|
|
||||||
"example": "did:op:123456789abcdefghi",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"proof": {
|
|
||||||
"description": "Information about the creation and creator of the asset.",
|
|
||||||
"example": {
|
|
||||||
"created": "2016-02-08T16:02:20Z",
|
|
||||||
"creator": "did:example:8uQhQMGzWxR8vw5P3UWH1ja",
|
|
||||||
"signatureValue": "QNB13Y7Q9...1tzjn4w==",
|
|
||||||
"type": "UUIDSignature"
|
|
||||||
},
|
|
||||||
"type": "dictionary"
|
|
||||||
},
|
|
||||||
"publicKey": {
|
|
||||||
"description": "List of public keys.",
|
|
||||||
"example": [
|
|
||||||
{ "id": "did:op:123456789abcdefghi#keys-1" },
|
|
||||||
{ "type": "Ed25519VerificationKey2018" },
|
|
||||||
{ "owner": "did:op:123456789abcdefghi" },
|
|
||||||
{
|
|
||||||
"publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"type": "array"
|
|
||||||
},
|
|
||||||
"service": {
|
|
||||||
"description": "List of services.",
|
|
||||||
"example": [
|
|
||||||
{
|
|
||||||
"serviceEndpoint": "http://mybrizo.org/api/v1/brizo/services/consume?pubKey=${ pubKey}&serviceId={serviceId}&url={url}",
|
|
||||||
"type": "Access"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"serviceEndpoint": "http://mybrizo.org/api/v1/brizo/services/compute?pubKey=${ pubKey}&serviceId={serviceId}&algo={algo}&container={container}",
|
|
||||||
"type": "Compute"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"metadata": {
|
|
||||||
"additionalInformation": {
|
|
||||||
"structuredMarkup": [
|
|
||||||
{
|
|
||||||
"mediaType": "application/ld+json",
|
|
||||||
"uri": "http://skos.um.es/unescothes/C01194/jsonld"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"mediaType": "text/turtle",
|
|
||||||
"uri": "http://skos.um.es/unescothes/C01194/turtle"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"updateFrecuency": "yearly"
|
|
||||||
},
|
|
||||||
"base": {
|
|
||||||
"author": "Met Office",
|
|
||||||
"checksum": "38803b9e6f04fce3fba4b124524672592264d31847182c689095a081c9e85262",
|
|
||||||
"compression": "zip",
|
|
||||||
"copyrightHolder": "Met Office",
|
|
||||||
"dateCreated": "2012-02-01T10:55:11Z",
|
|
||||||
"description": "Weather information of UK including temperature and humidity",
|
|
||||||
"encryptedFiles": "0x098213xzckasdf089723hjgdasfkjgasfv",
|
|
||||||
"files": [
|
|
||||||
{
|
|
||||||
"compression": "zip",
|
|
||||||
"contentLength": "4535431",
|
|
||||||
"contentType": "text/csv",
|
|
||||||
"encoding": "UTF-8",
|
|
||||||
"resourceId": "access-log2018-02-13-15-17-29-18386C502CAEA932"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"inLanguage": "en",
|
|
||||||
"license": "CC-BY",
|
|
||||||
"links": [
|
|
||||||
{
|
|
||||||
"name": "Sample of Asset Data",
|
|
||||||
"type": "sample",
|
|
||||||
"url": "https://foo.com/sample.csv"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AssetID": "4d517500da0acb0d65a716f61330969334630363ce4a6a9d39691026ac7908ea",
|
|
||||||
"name": "Data Format Definition",
|
|
||||||
"type": "format"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"name": "UK Weather information 2011",
|
|
||||||
"price": 10,
|
|
||||||
"tags": "weather, uk, 2011, temperature, humidity",
|
|
||||||
"type": "dataset",
|
|
||||||
"workExample": "stationId,latitude,longitude,datetime, temperature,humidity/n423432fsd,51.509865,-0.118092, 2011-01-01T10:55:11+00:00,7.2,68"
|
|
||||||
},
|
|
||||||
"curation": {
|
|
||||||
"numVotes": 123,
|
|
||||||
"rating": 0.93,
|
|
||||||
"schema": "Binary Voting"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"serviceDefinitionId": "2",
|
|
||||||
"serviceEndpoint": "http://myaquarius.org/api/v1/provider/assets/metadata/{did}",
|
|
||||||
"type": "Metadata"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"type": "array"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"@context",
|
|
||||||
"created",
|
|
||||||
"id",
|
|
||||||
"publicKey",
|
|
||||||
"authentication",
|
|
||||||
"proof",
|
|
||||||
"service"
|
|
||||||
],
|
|
||||||
"type": "object"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"responses": {
|
|
||||||
"200": { "description": "Asset successfully updated." },
|
|
||||||
"201": { "description": "Asset successfully registered." },
|
|
||||||
"400": {
|
|
||||||
"description": "One of the required attributes is missing."
|
|
||||||
},
|
|
||||||
"404": { "description": "Invalid asset data." },
|
|
||||||
"500": { "description": "Error" }
|
|
||||||
},
|
|
||||||
"summary": "Update DDO of an existing asset",
|
|
||||||
"tags": ["ddo"]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"/api/v1/aquarius/assets/metadata/{did}": {
|
|
||||||
"get": {
|
|
||||||
"description": "",
|
|
||||||
"parameters": [
|
|
||||||
{
|
|
||||||
"description": "DID of the asset.",
|
|
||||||
"in": "path",
|
|
||||||
"name": "did",
|
|
||||||
"required": true,
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"responses": {
|
|
||||||
"200": { "description": "successful operation." },
|
|
||||||
"404": { "description": "This asset DID is not in OceanDB." }
|
|
||||||
},
|
|
||||||
"summary": "Get metadata of a particular asset",
|
|
||||||
"tags": ["metadata"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"swagger": "2.0"
|
|
||||||
}
|
|
114
data/brizo.json
114
data/brizo.json
@ -1,114 +0,0 @@
|
|||||||
{
|
|
||||||
"definitions": {},
|
|
||||||
"info": {
|
|
||||||
"description": "Brizo is the technical component executed by Publishers allowing them to provide extended data services. When running with our Docker images, it is exposed under `http://localhost:8030`.",
|
|
||||||
"title": "Brizo",
|
|
||||||
"version": "0.3.5"
|
|
||||||
},
|
|
||||||
"paths": {
|
|
||||||
"/api/v1/brizo/services/access/initialize": {
|
|
||||||
"post": {
|
|
||||||
"consumes": ["application/json"],
|
|
||||||
"description": "",
|
|
||||||
"parameters": [
|
|
||||||
{
|
|
||||||
"description": "Service agreement initialization.",
|
|
||||||
"in": "body",
|
|
||||||
"name": "body",
|
|
||||||
"required": true,
|
|
||||||
"schema": {
|
|
||||||
"properties": {
|
|
||||||
"consumerAddress": {
|
|
||||||
"description": "Consumer address.",
|
|
||||||
"example": "0x00a329c0648769A73afAc7F9381E08FB43dBEA72",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"did": {
|
|
||||||
"description": "Identifier of the asset registered in ocean.",
|
|
||||||
"example": "did:op:08a429b8529856d59867503f8056903a680935a76950bb9649785cc97869a43d",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"serviceAgreementId": {
|
|
||||||
"description": "Identifier of the service agreement.",
|
|
||||||
"example": "bb23s87856d59867503f80a690357406857698570b964ac8dcc9d86da4ada010",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"serviceDefinitionId": {
|
|
||||||
"description": "Identifier of the service definition.",
|
|
||||||
"example": "0",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"signature": {
|
|
||||||
"description": "Signature",
|
|
||||||
"example": "cade376598342cdae231321a0097876aeda656a567a67c6767fd8710129a9dc1",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"did",
|
|
||||||
"serviceAgreementId",
|
|
||||||
"serviceDefinitionId",
|
|
||||||
"signature",
|
|
||||||
{ "consumerAddress": null }
|
|
||||||
],
|
|
||||||
"type": "object"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"responses": {
|
|
||||||
"201": {
|
|
||||||
"description": "Service agreement successfully initialized."
|
|
||||||
},
|
|
||||||
"400": {
|
|
||||||
"description": "One of the required attributes is missing."
|
|
||||||
},
|
|
||||||
"401": { "description": "Error executing the service agreement." },
|
|
||||||
"422": { "description": "Ocean DID not found on chain." },
|
|
||||||
"500": { "description": "Error" }
|
|
||||||
},
|
|
||||||
"summary": "Initialize the service agreement between the publisher and the consumer.",
|
|
||||||
"tags": ["services"]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"/api/v1/brizo/services/consume": {
|
|
||||||
"get": {
|
|
||||||
"consumes": ["application/json"],
|
|
||||||
"description": "",
|
|
||||||
"parameters": [
|
|
||||||
{
|
|
||||||
"description": "The consumer address.",
|
|
||||||
"in": "query",
|
|
||||||
"name": "consumerAddress",
|
|
||||||
"required": true,
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description": "The ID of the service agreement.",
|
|
||||||
"in": "query",
|
|
||||||
"name": "serviceAgreementId",
|
|
||||||
"required": true,
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description": "This URL is only valid if Brizo acts as a proxy. Consumer can't download using the URL if it's not through Brizo.",
|
|
||||||
"in": "query",
|
|
||||||
"name": "url",
|
|
||||||
"required": true,
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"responses": {
|
|
||||||
"200": { "description": "Redirect to valid asset url." },
|
|
||||||
"400": {
|
|
||||||
"description": "One of the required attributes is missing."
|
|
||||||
},
|
|
||||||
"401": { "description": "Invalid asset data." },
|
|
||||||
"500": { "description": "Error" }
|
|
||||||
},
|
|
||||||
"summary": "Allows download of asset data file.",
|
|
||||||
"tags": ["services"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"swagger": "2.0"
|
|
||||||
}
|
|
@ -37,26 +37,6 @@ exports.onCreateNode = ({ node, getNode, actions }) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://github.com/swagger-api/swagger-js
|
|
||||||
const getSpec = async () => {
|
|
||||||
const spec = await Swagger(
|
|
||||||
'http://petstore.swagger.io/v2/swagger.json'
|
|
||||||
).then(client => {
|
|
||||||
return client.spec // The resolved spec
|
|
||||||
|
|
||||||
// client.originalSpec // In case you need it
|
|
||||||
// client.errors // Any resolver errors
|
|
||||||
|
|
||||||
// Tags interface
|
|
||||||
// client.apis.pet.addPet({id: 1, name: "bobby"}).then(...)
|
|
||||||
|
|
||||||
// TryItOut Executor, with the `spec` already provided
|
|
||||||
// client.execute({operationId: 'addPet', parameters: {id: 1, name: "bobby") }).then(...)
|
|
||||||
})
|
|
||||||
|
|
||||||
return spec
|
|
||||||
}
|
|
||||||
|
|
||||||
exports.createPages = ({ graphql, actions }) => {
|
exports.createPages = ({ graphql, actions }) => {
|
||||||
const { createPage, createRedirect } = actions
|
const { createPage, createRedirect } = actions
|
||||||
|
|
||||||
@ -152,44 +132,77 @@ exports.createPages = ({ graphql, actions }) => {
|
|||||||
//
|
//
|
||||||
// Create pages from swagger json files
|
// Create pages from swagger json files
|
||||||
//
|
//
|
||||||
const swaggerSpecs = [
|
const swaggerComponents = ['aquarius', 'brizo']
|
||||||
'./data/aquarius.json',
|
|
||||||
'./data/brizo.json'
|
|
||||||
]
|
|
||||||
const apiSwaggerTemplate = path.resolve(
|
const apiSwaggerTemplate = path.resolve(
|
||||||
'./src/templates/Swagger/index.jsx'
|
'./src/templates/Swagger/index.jsx'
|
||||||
)
|
)
|
||||||
|
|
||||||
swaggerSpecs.forEach(spec => {
|
// https://github.com/swagger-api/swagger-js
|
||||||
const api = require(spec) // eslint-disable-line
|
const fetchSwaggerSpec = async name => {
|
||||||
const name = path
|
try {
|
||||||
.basename(spec)
|
const client = await Swagger(
|
||||||
.split('.json')
|
`https://nginx-${name}.dev-ocean.com/spec`
|
||||||
.join('')
|
)
|
||||||
const slug = `/references/${name}/`
|
return client.spec // The resolved spec
|
||||||
|
|
||||||
createPage({
|
// client.originalSpec // In case you need it
|
||||||
path: slug,
|
// client.errors // Any resolver errors
|
||||||
component: apiSwaggerTemplate,
|
|
||||||
context: {
|
// Tags interface
|
||||||
slug,
|
// client.apis.pet.addPet({id: 1, name: "bobby"}).then(...)
|
||||||
api
|
|
||||||
}
|
// TryItOut Executor, with the `spec` already provided
|
||||||
})
|
// client.execute({operationId: 'addPet', parameters: {id: 1, name: "bobby") }).then(...)
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const getSlug = name => {
|
||||||
|
const slug = `/references/${name}/`
|
||||||
|
return slug
|
||||||
|
}
|
||||||
|
|
||||||
|
const specAquarius = await fetchSwaggerSpec(
|
||||||
|
swaggerComponents[0]
|
||||||
|
)
|
||||||
|
const slugAquarius = getSlug(swaggerComponents[0])
|
||||||
|
|
||||||
|
createPage({
|
||||||
|
path: slugAquarius,
|
||||||
|
component: apiSwaggerTemplate,
|
||||||
|
context: {
|
||||||
|
slug: slugAquarius,
|
||||||
|
api: specAquarius
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
// Swagger Pet Store example, fetch from remote
|
const specBrizo = await fetchSwaggerSpec(swaggerComponents[1])
|
||||||
|
const slugBrizo = getSlug(swaggerComponents[1])
|
||||||
|
|
||||||
|
createPage({
|
||||||
|
path: slugBrizo,
|
||||||
|
component: apiSwaggerTemplate,
|
||||||
|
context: {
|
||||||
|
slug: slugBrizo,
|
||||||
|
api: specBrizo
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
// Swagger Pet Store example
|
||||||
const petStoreSlug = '/references/petstore/'
|
const petStoreSlug = '/references/petstore/'
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const api = await getSpec()
|
const client = await Swagger(
|
||||||
|
`http://petstore.swagger.io/v2/swagger.json`
|
||||||
|
)
|
||||||
|
|
||||||
createPage({
|
createPage({
|
||||||
path: petStoreSlug,
|
path: petStoreSlug,
|
||||||
component: apiSwaggerTemplate,
|
component: apiSwaggerTemplate,
|
||||||
context: {
|
context: {
|
||||||
slug: petStoreSlug,
|
slug: petStoreSlug,
|
||||||
api
|
api: client.spec
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user