diff --git a/demo/oas32-compact.json b/demo/oas32-compact.json new file mode 100644 index 0000000..a30437a --- /dev/null +++ b/demo/oas32-compact.json @@ -0,0 +1 @@ +{"@graph":[{"@id":"amf://id#6","@type":["http://a.ml/vocabularies/document#APIContractProcessingData"],"http://a.ml/vocabularies/apiContract#modelVersion":"3.11.0","http://a.ml/vocabularies/document#transformed":true,"http://a.ml/vocabularies/document#sourceSpec":"OAS 3.2"},{"@id":"amf://id#7","@type":["http://a.ml/vocabularies/apiContract#WebAPI","http://a.ml/vocabularies/apiContract#API","http://a.ml/vocabularies/document#RootDomainElement","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/core#name":"OAS 3.2 Test API","http://a.ml/vocabularies/core#version":"1.0.0","http://a.ml/vocabularies/apiContract#endpoint":[{"@id":"amf://id#10"},{"@id":"amf://id#14"}],"http://a.ml/vocabularies/apiContract#tag":[{"@id":"amf://id#8"},{"@id":"amf://id#9"}]},{"@id":"amf://id#10","@type":["http://a.ml/vocabularies/apiContract#EndPoint","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/apiContract#path":"/auth","http://a.ml/vocabularies/apiContract#supportedOperation":[{"@id":"amf://id#11"}]},{"@id":"amf://id#14","@type":["http://a.ml/vocabularies/apiContract#EndPoint","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/apiContract#path":"/resources/{id}","http://a.ml/vocabularies/apiContract#supportedOperation":[{"@id":"amf://id#15"},{"@id":"amf://id#20"},{"@id":"amf://id#23"},{"@id":"amf://id#26"}]},{"@id":"amf://id#8","@type":["http://a.ml/vocabularies/apiContract#Tag","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/core#name":"data","http://a.ml/vocabularies/core#summary":"Data operations"},{"@id":"amf://id#9","@type":["http://a.ml/vocabularies/apiContract#Tag","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/core#name":"authentication","http://a.ml/vocabularies/core#summary":"All authentication-related operations","http://a.ml/vocabularies/apiContract#parentTag":"data"},{"@id":"amf://id#11","@type":["http://a.ml/vocabularies/apiContract#Operation","http://a.ml/vocabularies/core#Operation","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/apiContract#method":"get","http://a.ml/vocabularies/apiContract#guiSummary":"Get authenticated data","http://a.ml/vocabularies/apiContract#returns":[{"@id":"amf://id#13"}],"http://a.ml/vocabularies/apiContract#tag":[{"@id":"amf://id#12"}],"http://a.ml/vocabularies/apiContract#operationKind":"standard"},{"@id":"amf://id#15","@type":["http://a.ml/vocabularies/apiContract#Operation","http://a.ml/vocabularies/core#Operation","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/apiContract#method":"get","http://a.ml/vocabularies/apiContract#guiSummary":"Get a resource","http://a.ml/vocabularies/apiContract#expects":[{"@id":"amf://id#17"}],"http://a.ml/vocabularies/apiContract#returns":[{"@id":"amf://id#16"}],"http://a.ml/vocabularies/apiContract#operationKind":"standard"},{"@id":"amf://id#20","@type":["http://a.ml/vocabularies/apiContract#Operation","http://a.ml/vocabularies/core#Operation","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/apiContract#method":"QUERY","http://a.ml/vocabularies/apiContract#guiSummary":"Search resources","http://a.ml/vocabularies/apiContract#expects":[{"@id":"amf://id#22"}],"http://a.ml/vocabularies/apiContract#returns":[{"@id":"amf://id#21"}],"http://a.ml/vocabularies/apiContract#operationKind":"query"},{"@id":"amf://id#23","@type":["http://a.ml/vocabularies/apiContract#Operation","http://a.ml/vocabularies/core#Operation","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/apiContract#method":"COPY","http://a.ml/vocabularies/apiContract#guiSummary":"Copy the resource","http://a.ml/vocabularies/apiContract#expects":[{"@id":"amf://id#25"}],"http://a.ml/vocabularies/apiContract#returns":[{"@id":"amf://id#24"}],"http://a.ml/vocabularies/apiContract#operationKind":"additionalOperation"},{"@id":"amf://id#26","@type":["http://a.ml/vocabularies/apiContract#Operation","http://a.ml/vocabularies/core#Operation","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/apiContract#method":"MOVE","http://a.ml/vocabularies/apiContract#guiSummary":"Move the resource","http://a.ml/vocabularies/apiContract#expects":[{"@id":"amf://id#28"}],"http://a.ml/vocabularies/apiContract#returns":[{"@id":"amf://id#27"}],"http://a.ml/vocabularies/apiContract#operationKind":"additionalOperation"},{"@id":"amf://id#13","@type":["http://a.ml/vocabularies/apiContract#Response","http://a.ml/vocabularies/core#Response","http://a.ml/vocabularies/apiContract#Message","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/apiContract#statusCode":"200","http://a.ml/vocabularies/core#name":"200","http://a.ml/vocabularies/core#description":"Success"},{"@id":"amf://id#12","@type":["http://a.ml/vocabularies/apiContract#Tag","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/core#name":"authentication"},{"@id":"amf://id#17","@type":["http://a.ml/vocabularies/apiContract#Request","http://a.ml/vocabularies/core#Request","http://a.ml/vocabularies/apiContract#Message","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/apiContract#uriParameter":[{"@id":"amf://id#18"}]},{"@id":"amf://id#16","@type":["http://a.ml/vocabularies/apiContract#Response","http://a.ml/vocabularies/core#Response","http://a.ml/vocabularies/apiContract#Message","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/apiContract#statusCode":"200","http://a.ml/vocabularies/core#name":"200","http://a.ml/vocabularies/core#description":"OK"},{"@id":"amf://id#22","@type":["http://a.ml/vocabularies/apiContract#Request","http://a.ml/vocabularies/core#Request","http://a.ml/vocabularies/apiContract#Message","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/apiContract#uriParameter":[{"@id":"amf://id#18"}]},{"@id":"amf://id#21","@type":["http://a.ml/vocabularies/apiContract#Response","http://a.ml/vocabularies/core#Response","http://a.ml/vocabularies/apiContract#Message","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/apiContract#statusCode":"200","http://a.ml/vocabularies/core#name":"200","http://a.ml/vocabularies/core#description":"Results"},{"@id":"amf://id#25","@type":["http://a.ml/vocabularies/apiContract#Request","http://a.ml/vocabularies/core#Request","http://a.ml/vocabularies/apiContract#Message","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/apiContract#uriParameter":[{"@id":"amf://id#18"}]},{"@id":"amf://id#24","@type":["http://a.ml/vocabularies/apiContract#Response","http://a.ml/vocabularies/core#Response","http://a.ml/vocabularies/apiContract#Message","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/apiContract#statusCode":"200","http://a.ml/vocabularies/core#name":"200","http://a.ml/vocabularies/core#description":"Copied"},{"@id":"amf://id#28","@type":["http://a.ml/vocabularies/apiContract#Request","http://a.ml/vocabularies/core#Request","http://a.ml/vocabularies/apiContract#Message","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/apiContract#uriParameter":[{"@id":"amf://id#18"}]},{"@id":"amf://id#27","@type":["http://a.ml/vocabularies/apiContract#Response","http://a.ml/vocabularies/core#Response","http://a.ml/vocabularies/apiContract#Message","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/apiContract#statusCode":"200","http://a.ml/vocabularies/core#name":"200","http://a.ml/vocabularies/core#description":"Moved"},{"@id":"amf://id#18","@type":["http://a.ml/vocabularies/apiContract#Parameter","http://a.ml/vocabularies/core#Parameter","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/core#name":"id","http://a.ml/vocabularies/apiContract#paramName":"id","http://a.ml/vocabularies/apiContract#required":true,"http://a.ml/vocabularies/apiContract#style":"simple","http://a.ml/vocabularies/apiContract#explode":false,"http://a.ml/vocabularies/apiContract#binding":"path","http://a.ml/vocabularies/shapes#schema":{"@id":"amf://id#19"}},{"@id":"amf://id#19","@type":["http://a.ml/vocabularies/shapes#ScalarShape","http://a.ml/vocabularies/shapes#AnyShape","http://www.w3.org/ns/shacl#Shape","http://a.ml/vocabularies/shapes#Shape","http://a.ml/vocabularies/document#DomainElement"],"http://www.w3.org/ns/shacl#datatype":[{"@id":"http://www.w3.org/2001/XMLSchema#string"}],"http://www.w3.org/ns/shacl#name":"id","http://a.ml/vocabularies/shapes#schemaVersion":"https://json-schema.org/draft/2020-12/schema"},{"@id":"amf://id","http://a.ml/vocabularies/document#declares":[{"@id":"amf://id#1"}],"@type":["http://a.ml/vocabularies/document#Document","http://a.ml/vocabularies/document#Fragment","http://a.ml/vocabularies/document#Module","http://a.ml/vocabularies/document#Unit"],"http://a.ml/vocabularies/document#encodes":{"@id":"amf://id#7"},"http://a.ml/vocabularies/document#root":true,"http://a.ml/vocabularies/document#processingData":{"@id":"amf://id#6"}},{"@id":"amf://id#1","@type":["http://a.ml/vocabularies/security#SecurityScheme","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/core#name":"oauth2Device","http://a.ml/vocabularies/security#type":"OAuth 2.0","http://a.ml/vocabularies/security#settings":{"@id":"amf://id#2"}},{"@id":"amf://id#2","@type":["http://a.ml/vocabularies/security#OAuth2Settings","http://a.ml/vocabularies/security#Settings","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/security#flows":[{"@id":"amf://id#3"}]},{"@id":"amf://id#3","@type":["http://a.ml/vocabularies/security#OAuth2Flow","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/security#accessTokenUri":"https://example.com/oauth/token","http://a.ml/vocabularies/security#flow":"deviceAuthorization","http://a.ml/vocabularies/security#scope":[{"@id":"amf://id#4"},{"@id":"amf://id#5"}],"http://a.ml/vocabularies/security#deviceAuthorizationUri":"https://example.com/oauth/device/authorize"},{"@id":"amf://id#4","@type":["http://a.ml/vocabularies/security#Scope","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/core#name":"read","http://a.ml/vocabularies/core#description":"Read access"},{"@id":"amf://id#5","@type":["http://a.ml/vocabularies/security#Scope","http://a.ml/vocabularies/document#DomainElement"],"http://a.ml/vocabularies/core#name":"write","http://a.ml/vocabularies/core#description":"Write access"}]} \ No newline at end of file diff --git a/demo/oas32.json b/demo/oas32.json new file mode 100644 index 0000000..6bce5a6 --- /dev/null +++ b/demo/oas32.json @@ -0,0 +1,1330 @@ +{ +"@graph": [ +{ +"@id": "amf://id#6", +"@type": [ +"http://a.ml/vocabularies/document#APIContractProcessingData" +], +"http://a.ml/vocabularies/apiContract#modelVersion": "3.11.0", +"http://a.ml/vocabularies/document#transformed": true, +"http://a.ml/vocabularies/document#sourceSpec": "OAS 3.2" +}, +{ +"@id": "amf://id#7", +"@type": [ +"http://a.ml/vocabularies/apiContract#WebAPI", +"http://a.ml/vocabularies/apiContract#API", +"http://a.ml/vocabularies/document#RootDomainElement", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/core#name": "OAS 3.2 Test API", +"http://a.ml/vocabularies/core#version": "1.0.0", +"http://a.ml/vocabularies/apiContract#endpoint": [ +{ +"@id": "amf://id#10" +}, +{ +"@id": "amf://id#14" +} +], +"http://a.ml/vocabularies/apiContract#tag": [ +{ +"@id": "amf://id#8" +}, +{ +"@id": "amf://id#9" +} +], +"http://a.ml/vocabularies/document-source-maps#sources": [ +{ +"@id": "amf://id#7/source-map" +} +] +}, +{ +"@id": "amf://id#10", +"@type": [ +"http://a.ml/vocabularies/apiContract#EndPoint", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/apiContract#path": "/auth", +"http://a.ml/vocabularies/apiContract#supportedOperation": [ +{ +"@id": "amf://id#11" +} +], +"http://a.ml/vocabularies/document-source-maps#sources": [ +{ +"@id": "amf://id#10/source-map" +} +] +}, +{ +"@id": "amf://id#14", +"@type": [ +"http://a.ml/vocabularies/apiContract#EndPoint", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/apiContract#path": "/resources/{id}", +"http://a.ml/vocabularies/apiContract#supportedOperation": [ +{ +"@id": "amf://id#15" +}, +{ +"@id": "amf://id#20" +}, +{ +"@id": "amf://id#23" +}, +{ +"@id": "amf://id#26" +} +], +"http://a.ml/vocabularies/document-source-maps#sources": [ +{ +"@id": "amf://id#14/source-map" +} +] +}, +{ +"@id": "amf://id#8", +"@type": [ +"http://a.ml/vocabularies/apiContract#Tag", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/core#name": "data", +"http://a.ml/vocabularies/core#summary": "Data operations", +"http://a.ml/vocabularies/document-source-maps#sources": [ +{ +"@id": "amf://id#8/source-map" +} +] +}, +{ +"@id": "amf://id#9", +"@type": [ +"http://a.ml/vocabularies/apiContract#Tag", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/core#name": "authentication", +"http://a.ml/vocabularies/core#summary": "All authentication-related operations", +"http://a.ml/vocabularies/apiContract#parentTag": "data", +"http://a.ml/vocabularies/document-source-maps#sources": [ +{ +"@id": "amf://id#9/source-map" +} +] +}, +{ +"@id": "amf://id#7/source-map", +"@type": [ +"http://a.ml/vocabularies/document-source-maps#SourceMap" +], +"http://a.ml/vocabularies/document-source-maps#lexical": [ +{ +"@id": "amf://id#7/source-map/lexical/element_4" +}, +{ +"@id": "amf://id#7/source-map/lexical/element_2" +}, +{ +"@id": "amf://id#7/source-map/lexical/element_0" +}, +{ +"@id": "amf://id#7/source-map/lexical/element_1" +}, +{ +"@id": "amf://id#7/source-map/lexical/element_3" +} +] +}, +{ +"@id": "amf://id#11", +"@type": [ +"http://a.ml/vocabularies/apiContract#Operation", +"http://a.ml/vocabularies/core#Operation", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/apiContract#method": "get", +"http://a.ml/vocabularies/apiContract#guiSummary": "Get authenticated data", +"http://a.ml/vocabularies/apiContract#returns": [ +{ +"@id": "amf://id#13" +} +], +"http://a.ml/vocabularies/apiContract#tag": [ +{ +"@id": "amf://id#12" +} +], +"http://a.ml/vocabularies/apiContract#operationKind": "standard", +"http://a.ml/vocabularies/document-source-maps#sources": [ +{ +"@id": "amf://id#11/source-map" +} +] +}, +{ +"@id": "amf://id#10/source-map", +"@type": [ +"http://a.ml/vocabularies/document-source-maps#SourceMap" +], +"http://a.ml/vocabularies/document-source-maps#lexical": [ +{ +"@id": "amf://id#10/source-map/lexical/element_0" +} +] +}, +{ +"@id": "amf://id#15", +"@type": [ +"http://a.ml/vocabularies/apiContract#Operation", +"http://a.ml/vocabularies/core#Operation", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/apiContract#method": "get", +"http://a.ml/vocabularies/apiContract#guiSummary": "Get a resource", +"http://a.ml/vocabularies/apiContract#expects": [ +{ +"@id": "amf://id#17" +} +], +"http://a.ml/vocabularies/apiContract#returns": [ +{ +"@id": "amf://id#16" +} +], +"http://a.ml/vocabularies/apiContract#operationKind": "standard", +"http://a.ml/vocabularies/document-source-maps#sources": [ +{ +"@id": "amf://id#15/source-map" +} +] +}, +{ +"@id": "amf://id#20", +"@type": [ +"http://a.ml/vocabularies/apiContract#Operation", +"http://a.ml/vocabularies/core#Operation", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/apiContract#method": "QUERY", +"http://a.ml/vocabularies/apiContract#guiSummary": "Search resources", +"http://a.ml/vocabularies/apiContract#expects": [ +{ +"@id": "amf://id#22" +} +], +"http://a.ml/vocabularies/apiContract#returns": [ +{ +"@id": "amf://id#21" +} +], +"http://a.ml/vocabularies/apiContract#operationKind": "query", +"http://a.ml/vocabularies/document-source-maps#sources": [ +{ +"@id": "amf://id#20/source-map" +} +] +}, +{ +"@id": "amf://id#23", +"@type": [ +"http://a.ml/vocabularies/apiContract#Operation", +"http://a.ml/vocabularies/core#Operation", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/apiContract#method": "COPY", +"http://a.ml/vocabularies/apiContract#guiSummary": "Copy the resource", +"http://a.ml/vocabularies/apiContract#expects": [ +{ +"@id": "amf://id#25" +} +], +"http://a.ml/vocabularies/apiContract#returns": [ +{ +"@id": "amf://id#24" +} +], +"http://a.ml/vocabularies/apiContract#operationKind": "additionalOperation", +"http://a.ml/vocabularies/document-source-maps#sources": [ +{ +"@id": "amf://id#23/source-map" +} +] +}, +{ +"@id": "amf://id#26", +"@type": [ +"http://a.ml/vocabularies/apiContract#Operation", +"http://a.ml/vocabularies/core#Operation", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/apiContract#method": "MOVE", +"http://a.ml/vocabularies/apiContract#guiSummary": "Move the resource", +"http://a.ml/vocabularies/apiContract#expects": [ +{ +"@id": "amf://id#28" +} +], +"http://a.ml/vocabularies/apiContract#returns": [ +{ +"@id": "amf://id#27" +} +], +"http://a.ml/vocabularies/apiContract#operationKind": "additionalOperation", +"http://a.ml/vocabularies/document-source-maps#sources": [ +{ +"@id": "amf://id#26/source-map" +} +] +}, +{ +"@id": "amf://id#14/source-map", +"@type": [ +"http://a.ml/vocabularies/document-source-maps#SourceMap" +], +"http://a.ml/vocabularies/document-source-maps#lexical": [ +{ +"@id": "amf://id#14/source-map/lexical/element_0" +} +] +}, +{ +"@id": "amf://id#8/source-map", +"@type": [ +"http://a.ml/vocabularies/document-source-maps#SourceMap" +], +"http://a.ml/vocabularies/document-source-maps#lexical": [ +{ +"@id": "amf://id#8/source-map/lexical/element_2" +}, +{ +"@id": "amf://id#8/source-map/lexical/element_0" +}, +{ +"@id": "amf://id#8/source-map/lexical/element_1" +} +] +}, +{ +"@id": "amf://id#9/source-map", +"@type": [ +"http://a.ml/vocabularies/document-source-maps#SourceMap" +], +"http://a.ml/vocabularies/document-source-maps#lexical": [ +{ +"@id": "amf://id#9/source-map/lexical/element_3" +}, +{ +"@id": "amf://id#9/source-map/lexical/element_1" +}, +{ +"@id": "amf://id#9/source-map/lexical/element_0" +}, +{ +"@id": "amf://id#9/source-map/lexical/element_2" +} +] +}, +{ +"@id": "amf://id#7/source-map/lexical/element_4", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiContract#endpoint", +"http://a.ml/vocabularies/document-source-maps#value": "[(7,0)-(46,0)]" +}, +{ +"@id": "amf://id#7/source-map/lexical/element_2", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#7", +"http://a.ml/vocabularies/document-source-maps#value": "[(2,0)-(64,0)]" +}, +{ +"@id": "amf://id#7/source-map/lexical/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiContract#tag", +"http://a.ml/vocabularies/document-source-maps#value": "[(46,0)-(53,0)]" +}, +{ +"@id": "amf://id#7/source-map/lexical/element_1", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#version", +"http://a.ml/vocabularies/document-source-maps#value": "[(5,2)-(7,0)]" +}, +{ +"@id": "amf://id#7/source-map/lexical/element_3", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#name", +"http://a.ml/vocabularies/document-source-maps#value": "[(4,2)-(5,0)]" +}, +{ +"@id": "amf://id#13", +"@type": [ +"http://a.ml/vocabularies/apiContract#Response", +"http://a.ml/vocabularies/core#Response", +"http://a.ml/vocabularies/apiContract#Message", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/apiContract#statusCode": "200", +"http://a.ml/vocabularies/core#name": "200", +"http://a.ml/vocabularies/core#description": "Success", +"http://a.ml/vocabularies/document-source-maps#sources": [ +{ +"@id": "amf://id#13/source-map" +} +] +}, +{ +"@id": "amf://id#12", +"@type": [ +"http://a.ml/vocabularies/apiContract#Tag", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/core#name": "authentication", +"http://a.ml/vocabularies/document-source-maps#sources": [ +{ +"@id": "amf://id#12/source-map" +} +] +}, +{ +"@id": "amf://id#11/source-map", +"@type": [ +"http://a.ml/vocabularies/document-source-maps#SourceMap" +], +"http://a.ml/vocabularies/document-source-maps#lexical": [ +{ +"@id": "amf://id#11/source-map/lexical/element_3" +}, +{ +"@id": "amf://id#11/source-map/lexical/element_1" +}, +{ +"@id": "amf://id#11/source-map/lexical/element_0" +}, +{ +"@id": "amf://id#11/source-map/lexical/element_2" +} +] +}, +{ +"@id": "amf://id#10/source-map/lexical/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#10", +"http://a.ml/vocabularies/document-source-maps#value": "[(8,2)-(17,0)]" +}, +{ +"@id": "amf://id#17", +"@type": [ +"http://a.ml/vocabularies/apiContract#Request", +"http://a.ml/vocabularies/core#Request", +"http://a.ml/vocabularies/apiContract#Message", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/apiContract#uriParameter": [ +{ +"@id": "amf://id#18" +} +] +}, +{ +"@id": "amf://id#16", +"@type": [ +"http://a.ml/vocabularies/apiContract#Response", +"http://a.ml/vocabularies/core#Response", +"http://a.ml/vocabularies/apiContract#Message", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/apiContract#statusCode": "200", +"http://a.ml/vocabularies/core#name": "200", +"http://a.ml/vocabularies/core#description": "OK", +"http://a.ml/vocabularies/document-source-maps#sources": [ +{ +"@id": "amf://id#16/source-map" +} +] +}, +{ +"@id": "amf://id#15/source-map", +"@type": [ +"http://a.ml/vocabularies/document-source-maps#SourceMap" +], +"http://a.ml/vocabularies/document-source-maps#lexical": [ +{ +"@id": "amf://id#15/source-map/lexical/element_2" +}, +{ +"@id": "amf://id#15/source-map/lexical/element_0" +}, +{ +"@id": "amf://id#15/source-map/lexical/element_1" +} +] +}, +{ +"@id": "amf://id#22", +"@type": [ +"http://a.ml/vocabularies/apiContract#Request", +"http://a.ml/vocabularies/core#Request", +"http://a.ml/vocabularies/apiContract#Message", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/apiContract#uriParameter": [ +{ +"@id": "amf://id#18" +} +] +}, +{ +"@id": "amf://id#21", +"@type": [ +"http://a.ml/vocabularies/apiContract#Response", +"http://a.ml/vocabularies/core#Response", +"http://a.ml/vocabularies/apiContract#Message", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/apiContract#statusCode": "200", +"http://a.ml/vocabularies/core#name": "200", +"http://a.ml/vocabularies/core#description": "Results", +"http://a.ml/vocabularies/document-source-maps#sources": [ +{ +"@id": "amf://id#21/source-map" +} +] +}, +{ +"@id": "amf://id#20/source-map", +"@type": [ +"http://a.ml/vocabularies/document-source-maps#SourceMap" +], +"http://a.ml/vocabularies/document-source-maps#lexical": [ +{ +"@id": "amf://id#20/source-map/lexical/element_2" +}, +{ +"@id": "amf://id#20/source-map/lexical/element_0" +}, +{ +"@id": "amf://id#20/source-map/lexical/element_1" +} +] +}, +{ +"@id": "amf://id#25", +"@type": [ +"http://a.ml/vocabularies/apiContract#Request", +"http://a.ml/vocabularies/core#Request", +"http://a.ml/vocabularies/apiContract#Message", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/apiContract#uriParameter": [ +{ +"@id": "amf://id#18" +} +] +}, +{ +"@id": "amf://id#24", +"@type": [ +"http://a.ml/vocabularies/apiContract#Response", +"http://a.ml/vocabularies/core#Response", +"http://a.ml/vocabularies/apiContract#Message", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/apiContract#statusCode": "200", +"http://a.ml/vocabularies/core#name": "200", +"http://a.ml/vocabularies/core#description": "Copied", +"http://a.ml/vocabularies/document-source-maps#sources": [ +{ +"@id": "amf://id#24/source-map" +} +] +}, +{ +"@id": "amf://id#23/source-map", +"@type": [ +"http://a.ml/vocabularies/document-source-maps#SourceMap" +], +"http://a.ml/vocabularies/document-source-maps#lexical": [ +{ +"@id": "amf://id#23/source-map/lexical/element_2" +}, +{ +"@id": "amf://id#23/source-map/lexical/element_0" +}, +{ +"@id": "amf://id#23/source-map/lexical/element_1" +} +] +}, +{ +"@id": "amf://id#28", +"@type": [ +"http://a.ml/vocabularies/apiContract#Request", +"http://a.ml/vocabularies/core#Request", +"http://a.ml/vocabularies/apiContract#Message", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/apiContract#uriParameter": [ +{ +"@id": "amf://id#18" +} +] +}, +{ +"@id": "amf://id#27", +"@type": [ +"http://a.ml/vocabularies/apiContract#Response", +"http://a.ml/vocabularies/core#Response", +"http://a.ml/vocabularies/apiContract#Message", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/apiContract#statusCode": "200", +"http://a.ml/vocabularies/core#name": "200", +"http://a.ml/vocabularies/core#description": "Moved", +"http://a.ml/vocabularies/document-source-maps#sources": [ +{ +"@id": "amf://id#27/source-map" +} +] +}, +{ +"@id": "amf://id#26/source-map", +"@type": [ +"http://a.ml/vocabularies/document-source-maps#SourceMap" +], +"http://a.ml/vocabularies/document-source-maps#lexical": [ +{ +"@id": "amf://id#26/source-map/lexical/element_2" +}, +{ +"@id": "amf://id#26/source-map/lexical/element_0" +}, +{ +"@id": "amf://id#26/source-map/lexical/element_1" +} +] +}, +{ +"@id": "amf://id#14/source-map/lexical/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#14", +"http://a.ml/vocabularies/document-source-maps#value": "[(17,2)-(46,0)]" +}, +{ +"@id": "amf://id#8/source-map/lexical/element_2", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#name", +"http://a.ml/vocabularies/document-source-maps#value": "[(47,4)-(48,0)]" +}, +{ +"@id": "amf://id#8/source-map/lexical/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#summary", +"http://a.ml/vocabularies/document-source-maps#value": "[(48,4)-(49,0)]" +}, +{ +"@id": "amf://id#8/source-map/lexical/element_1", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#8", +"http://a.ml/vocabularies/document-source-maps#value": "[(47,4)-(49,0)]" +}, +{ +"@id": "amf://id#9/source-map/lexical/element_3", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#summary", +"http://a.ml/vocabularies/document-source-maps#value": "[(50,4)-(51,0)]" +}, +{ +"@id": "amf://id#9/source-map/lexical/element_1", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#name", +"http://a.ml/vocabularies/document-source-maps#value": "[(49,4)-(50,0)]" +}, +{ +"@id": "amf://id#9/source-map/lexical/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiContract#parentTag", +"http://a.ml/vocabularies/document-source-maps#value": "[(51,4)-(53,0)]" +}, +{ +"@id": "amf://id#9/source-map/lexical/element_2", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#9", +"http://a.ml/vocabularies/document-source-maps#value": "[(49,4)-(53,0)]" +}, +{ +"@id": "amf://id#13/source-map", +"@type": [ +"http://a.ml/vocabularies/document-source-maps#SourceMap" +], +"http://a.ml/vocabularies/document-source-maps#lexical": [ +{ +"@id": "amf://id#13/source-map/lexical/element_2" +}, +{ +"@id": "amf://id#13/source-map/lexical/element_0" +}, +{ +"@id": "amf://id#13/source-map/lexical/element_1" +} +] +}, +{ +"@id": "amf://id#12/source-map", +"@type": [ +"http://a.ml/vocabularies/document-source-maps#SourceMap" +], +"http://a.ml/vocabularies/document-source-maps#lexical": [ +{ +"@id": "amf://id#12/source-map/lexical/element_0" +} +] +}, +{ +"@id": "amf://id#11/source-map/lexical/element_3", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiContract#returns", +"http://a.ml/vocabularies/document-source-maps#value": "[(13,6)-(17,0)]" +}, +{ +"@id": "amf://id#11/source-map/lexical/element_1", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiContract#guiSummary", +"http://a.ml/vocabularies/document-source-maps#value": "[(10,6)-(11,0)]" +}, +{ +"@id": "amf://id#11/source-map/lexical/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiContract#tag", +"http://a.ml/vocabularies/document-source-maps#value": "[(11,6)-(13,0)]" +}, +{ +"@id": "amf://id#11/source-map/lexical/element_2", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#11", +"http://a.ml/vocabularies/document-source-maps#value": "[(9,4)-(17,0)]" +}, +{ +"@id": "amf://id#18", +"@type": [ +"http://a.ml/vocabularies/apiContract#Parameter", +"http://a.ml/vocabularies/core#Parameter", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/core#name": "id", +"http://a.ml/vocabularies/apiContract#paramName": "id", +"http://a.ml/vocabularies/apiContract#required": true, +"http://a.ml/vocabularies/apiContract#style": "simple", +"http://a.ml/vocabularies/apiContract#explode": false, +"http://a.ml/vocabularies/apiContract#binding": "path", +"http://a.ml/vocabularies/shapes#schema": { +"@id": "amf://id#19" +}, +"http://a.ml/vocabularies/document-source-maps#sources": [ +{ +"@id": "amf://id#18/source-map" +} +] +}, +{ +"@id": "amf://id#16/source-map", +"@type": [ +"http://a.ml/vocabularies/document-source-maps#SourceMap" +], +"http://a.ml/vocabularies/document-source-maps#lexical": [ +{ +"@id": "amf://id#16/source-map/lexical/element_2" +}, +{ +"@id": "amf://id#16/source-map/lexical/element_0" +}, +{ +"@id": "amf://id#16/source-map/lexical/element_1" +} +] +}, +{ +"@id": "amf://id#15/source-map/lexical/element_2", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiContract#guiSummary", +"http://a.ml/vocabularies/document-source-maps#value": "[(25,6)-(26,0)]" +}, +{ +"@id": "amf://id#15/source-map/lexical/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiContract#returns", +"http://a.ml/vocabularies/document-source-maps#value": "[(26,6)-(29,0)]" +}, +{ +"@id": "amf://id#15/source-map/lexical/element_1", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#15", +"http://a.ml/vocabularies/document-source-maps#value": "[(24,4)-(29,0)]" +}, +{ +"@id": "amf://id#21/source-map", +"@type": [ +"http://a.ml/vocabularies/document-source-maps#SourceMap" +], +"http://a.ml/vocabularies/document-source-maps#lexical": [ +{ +"@id": "amf://id#21/source-map/lexical/element_2" +}, +{ +"@id": "amf://id#21/source-map/lexical/element_0" +}, +{ +"@id": "amf://id#21/source-map/lexical/element_1" +} +] +}, +{ +"@id": "amf://id#20/source-map/lexical/element_2", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiContract#guiSummary", +"http://a.ml/vocabularies/document-source-maps#value": "[(30,6)-(31,0)]" +}, +{ +"@id": "amf://id#20/source-map/lexical/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiContract#returns", +"http://a.ml/vocabularies/document-source-maps#value": "[(31,6)-(34,0)]" +}, +{ +"@id": "amf://id#20/source-map/lexical/element_1", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#20", +"http://a.ml/vocabularies/document-source-maps#value": "[(29,10)-(34,0)]" +}, +{ +"@id": "amf://id#24/source-map", +"@type": [ +"http://a.ml/vocabularies/document-source-maps#SourceMap" +], +"http://a.ml/vocabularies/document-source-maps#lexical": [ +{ +"@id": "amf://id#24/source-map/lexical/element_2" +}, +{ +"@id": "amf://id#24/source-map/lexical/element_0" +}, +{ +"@id": "amf://id#24/source-map/lexical/element_1" +} +] +}, +{ +"@id": "amf://id#23/source-map/lexical/element_2", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiContract#guiSummary", +"http://a.ml/vocabularies/document-source-maps#value": "[(36,8)-(37,0)]" +}, +{ +"@id": "amf://id#23/source-map/lexical/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiContract#returns", +"http://a.ml/vocabularies/document-source-maps#value": "[(37,8)-(40,0)]" +}, +{ +"@id": "amf://id#23/source-map/lexical/element_1", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#23", +"http://a.ml/vocabularies/document-source-maps#value": "[(35,6)-(40,0)]" +}, +{ +"@id": "amf://id#27/source-map", +"@type": [ +"http://a.ml/vocabularies/document-source-maps#SourceMap" +], +"http://a.ml/vocabularies/document-source-maps#lexical": [ +{ +"@id": "amf://id#27/source-map/lexical/element_2" +}, +{ +"@id": "amf://id#27/source-map/lexical/element_0" +}, +{ +"@id": "amf://id#27/source-map/lexical/element_1" +} +] +}, +{ +"@id": "amf://id#26/source-map/lexical/element_2", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiContract#guiSummary", +"http://a.ml/vocabularies/document-source-maps#value": "[(41,8)-(42,0)]" +}, +{ +"@id": "amf://id#26/source-map/lexical/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiContract#returns", +"http://a.ml/vocabularies/document-source-maps#value": "[(42,8)-(46,0)]" +}, +{ +"@id": "amf://id#26/source-map/lexical/element_1", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#26", +"http://a.ml/vocabularies/document-source-maps#value": "[(40,6)-(46,0)]" +}, +{ +"@id": "amf://id#13/source-map/lexical/element_2", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#name", +"http://a.ml/vocabularies/document-source-maps#value": "[(14,8)-(14,13)]" +}, +{ +"@id": "amf://id#13/source-map/lexical/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#description", +"http://a.ml/vocabularies/document-source-maps#value": "[(15,10)-(17,0)]" +}, +{ +"@id": "amf://id#13/source-map/lexical/element_1", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#13", +"http://a.ml/vocabularies/document-source-maps#value": "[(14,8)-(17,0)]" +}, +{ +"@id": "amf://id#12/source-map/lexical/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#12", +"http://a.ml/vocabularies/document-source-maps#value": "[(12,10)-(12,24)]" +}, +{ +"@id": "amf://id#19", +"@type": [ +"http://a.ml/vocabularies/shapes#ScalarShape", +"http://a.ml/vocabularies/shapes#AnyShape", +"http://www.w3.org/ns/shacl#Shape", +"http://a.ml/vocabularies/shapes#Shape", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://www.w3.org/ns/shacl#datatype": [ +{ +"@id": "http://www.w3.org/2001/XMLSchema#string" +} +], +"http://www.w3.org/ns/shacl#name": "id", +"http://a.ml/vocabularies/shapes#schemaVersion": "https://json-schema.org/draft/2020-12/schema", +"http://a.ml/vocabularies/document-source-maps#sources": [ +{ +"@id": "amf://id#19/source-map" +} +] +}, +{ +"@id": "amf://id#18/source-map", +"@type": [ +"http://a.ml/vocabularies/document-source-maps#SourceMap" +], +"http://a.ml/vocabularies/document-source-maps#synthesized-field": [ +{ +"@id": "amf://id#18/source-map/synthesized-field/element_1" +}, +{ +"@id": "amf://id#18/source-map/synthesized-field/element_0" +} +], +"http://a.ml/vocabularies/document-source-maps#lexical": [ +{ +"@id": "amf://id#18/source-map/lexical/element_5" +}, +{ +"@id": "amf://id#18/source-map/lexical/element_3" +}, +{ +"@id": "amf://id#18/source-map/lexical/element_1" +}, +{ +"@id": "amf://id#18/source-map/lexical/element_0" +}, +{ +"@id": "amf://id#18/source-map/lexical/element_2" +}, +{ +"@id": "amf://id#18/source-map/lexical/element_4" +} +] +}, +{ +"@id": "amf://id#16/source-map/lexical/element_2", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#name", +"http://a.ml/vocabularies/document-source-maps#value": "[(27,8)-(27,13)]" +}, +{ +"@id": "amf://id#16/source-map/lexical/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#description", +"http://a.ml/vocabularies/document-source-maps#value": "[(28,10)-(29,0)]" +}, +{ +"@id": "amf://id#16/source-map/lexical/element_1", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#16", +"http://a.ml/vocabularies/document-source-maps#value": "[(27,8)-(29,0)]" +}, +{ +"@id": "amf://id#21/source-map/lexical/element_2", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#name", +"http://a.ml/vocabularies/document-source-maps#value": "[(32,8)-(32,13)]" +}, +{ +"@id": "amf://id#21/source-map/lexical/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#description", +"http://a.ml/vocabularies/document-source-maps#value": "[(33,10)-(34,0)]" +}, +{ +"@id": "amf://id#21/source-map/lexical/element_1", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#21", +"http://a.ml/vocabularies/document-source-maps#value": "[(32,8)-(34,0)]" +}, +{ +"@id": "amf://id#24/source-map/lexical/element_2", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#name", +"http://a.ml/vocabularies/document-source-maps#value": "[(38,10)-(38,15)]" +}, +{ +"@id": "amf://id#24/source-map/lexical/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#description", +"http://a.ml/vocabularies/document-source-maps#value": "[(39,12)-(40,0)]" +}, +{ +"@id": "amf://id#24/source-map/lexical/element_1", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#24", +"http://a.ml/vocabularies/document-source-maps#value": "[(38,10)-(40,0)]" +}, +{ +"@id": "amf://id#27/source-map/lexical/element_2", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#name", +"http://a.ml/vocabularies/document-source-maps#value": "[(43,10)-(43,15)]" +}, +{ +"@id": "amf://id#27/source-map/lexical/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#description", +"http://a.ml/vocabularies/document-source-maps#value": "[(44,12)-(46,0)]" +}, +{ +"@id": "amf://id#27/source-map/lexical/element_1", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#27", +"http://a.ml/vocabularies/document-source-maps#value": "[(43,10)-(46,0)]" +}, +{ +"@id": "amf://id#19/source-map", +"@type": [ +"http://a.ml/vocabularies/document-source-maps#SourceMap" +], +"http://a.ml/vocabularies/document-source-maps#lexical": [ +{ +"@id": "amf://id#19/source-map/lexical/element_2" +}, +{ +"@id": "amf://id#19/source-map/lexical/element_0" +}, +{ +"@id": "amf://id#19/source-map/lexical/element_1" +} +], +"http://a.ml/vocabularies/document-source-maps#auto-generated-name": [ +{ +"@id": "amf://id#19/source-map/auto-generated-name/element_0" +} +], +"http://a.ml/vocabularies/document-source-maps#type-property-lexical-info": [ +{ +"@id": "amf://id#19/source-map/type-property-lexical-info/element_0" +} +] +}, +{ +"@id": "amf://id#18/source-map/synthesized-field/element_1", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiContract#style", +"http://a.ml/vocabularies/document-source-maps#value": "true" +}, +{ +"@id": "amf://id#18/source-map/synthesized-field/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiContract#explode", +"http://a.ml/vocabularies/document-source-maps#value": "true" +}, +{ +"@id": "amf://id#18/source-map/lexical/element_5", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiContract#binding", +"http://a.ml/vocabularies/document-source-maps#value": "[(20,8)-(21,0)]" +}, +{ +"@id": "amf://id#18/source-map/lexical/element_3", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#18", +"http://a.ml/vocabularies/document-source-maps#value": "[(19,8)-(24,0)]" +}, +{ +"@id": "amf://id#18/source-map/lexical/element_1", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiContract#required", +"http://a.ml/vocabularies/document-source-maps#value": "[(21,8)-(22,0)]" +}, +{ +"@id": "amf://id#18/source-map/lexical/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/shapes#schema", +"http://a.ml/vocabularies/document-source-maps#value": "[(22,8)-(24,0)]" +}, +{ +"@id": "amf://id#18/source-map/lexical/element_2", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#name", +"http://a.ml/vocabularies/document-source-maps#value": "[(19,8)-(20,0)]" +}, +{ +"@id": "amf://id#18/source-map/lexical/element_4", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/apiContract#paramName", +"http://a.ml/vocabularies/document-source-maps#value": "[(19,8)-(20,0)]" +}, +{ +"@id": "amf://id#19/source-map/lexical/element_2", +"http://a.ml/vocabularies/document-source-maps#element": "http://www.w3.org/ns/shacl#datatype", +"http://a.ml/vocabularies/document-source-maps#value": "[(23,10)-(24,0)]" +}, +{ +"@id": "amf://id#19/source-map/lexical/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "http://www.w3.org/ns/shacl#name", +"http://a.ml/vocabularies/document-source-maps#value": "[(19,8)-(20,0)]" +}, +{ +"@id": "amf://id#19/source-map/lexical/element_1", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#19", +"http://a.ml/vocabularies/document-source-maps#value": "[(22,8)-(24,0)]" +}, +{ +"@id": "amf://id#19/source-map/auto-generated-name/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#19", +"http://a.ml/vocabularies/document-source-maps#value": "" +}, +{ +"@id": "amf://id#19/source-map/type-property-lexical-info/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#19", +"http://a.ml/vocabularies/document-source-maps#value": "[(23,10)-(23,14)]" +}, +{ +"@id": "amf://id", +"http://a.ml/vocabularies/document#declares": [ +{ +"@id": "amf://id#1" +} +], +"@type": [ +"http://a.ml/vocabularies/document#Document", +"http://a.ml/vocabularies/document#Fragment", +"http://a.ml/vocabularies/document#Module", +"http://a.ml/vocabularies/document#Unit" +], +"http://a.ml/vocabularies/document#encodes": { +"@id": "amf://id#7" +}, +"http://a.ml/vocabularies/document#root": true, +"http://a.ml/vocabularies/document#processingData": { +"@id": "amf://id#6" +} +}, +{ +"@id": "amf://id#1", +"@type": [ +"http://a.ml/vocabularies/security#SecurityScheme", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/core#name": "oauth2Device", +"http://a.ml/vocabularies/security#type": "OAuth 2.0", +"http://a.ml/vocabularies/security#settings": { +"@id": "amf://id#2" +}, +"http://a.ml/vocabularies/document-source-maps#sources": [ +{ +"@id": "amf://id#1/source-map" +} +] +}, +{ +"@id": "amf://id#2", +"@type": [ +"http://a.ml/vocabularies/security#OAuth2Settings", +"http://a.ml/vocabularies/security#Settings", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/security#flows": [ +{ +"@id": "amf://id#3" +} +], +"http://a.ml/vocabularies/document-source-maps#sources": [ +{ +"@id": "amf://id#2/source-map" +} +] +}, +{ +"@id": "amf://id#1/source-map", +"@type": [ +"http://a.ml/vocabularies/document-source-maps#SourceMap" +], +"http://a.ml/vocabularies/document-source-maps#lexical": [ +{ +"@id": "amf://id#1/source-map/lexical/element_3" +}, +{ +"@id": "amf://id#1/source-map/lexical/element_1" +}, +{ +"@id": "amf://id#1/source-map/lexical/element_0" +}, +{ +"@id": "amf://id#1/source-map/lexical/element_2" +} +], +"http://a.ml/vocabularies/document-source-maps#declared-element": [ +{ +"@id": "amf://id#1/source-map/declared-element/element_0" +} +] +}, +{ +"@id": "amf://id#3", +"@type": [ +"http://a.ml/vocabularies/security#OAuth2Flow", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/security#accessTokenUri": "https://example.com/oauth/token", +"http://a.ml/vocabularies/security#flow": "deviceAuthorization", +"http://a.ml/vocabularies/security#scope": [ +{ +"@id": "amf://id#4" +}, +{ +"@id": "amf://id#5" +} +], +"http://a.ml/vocabularies/security#deviceAuthorizationUri": "https://example.com/oauth/device/authorize", +"http://a.ml/vocabularies/document-source-maps#sources": [ +{ +"@id": "amf://id#3/source-map" +} +] +}, +{ +"@id": "amf://id#2/source-map", +"@type": [ +"http://a.ml/vocabularies/document-source-maps#SourceMap" +], +"http://a.ml/vocabularies/document-source-maps#lexical": [ +{ +"@id": "amf://id#2/source-map/lexical/element_1" +}, +{ +"@id": "amf://id#2/source-map/lexical/element_0" +} +] +}, +{ +"@id": "amf://id#1/source-map/lexical/element_3", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/security#type", +"http://a.ml/vocabularies/document-source-maps#value": "[(56,6)-(57,0)]" +}, +{ +"@id": "amf://id#1/source-map/lexical/element_1", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/core#name", +"http://a.ml/vocabularies/document-source-maps#value": "[(55,4)-(55,16)]" +}, +{ +"@id": "amf://id#1/source-map/lexical/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/security#settings", +"http://a.ml/vocabularies/document-source-maps#value": "[(56,0)-(64,0)]" +}, +{ +"@id": "amf://id#1/source-map/lexical/element_2", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#1", +"http://a.ml/vocabularies/document-source-maps#value": "[(55,4)-(64,0)]" +}, +{ +"@id": "amf://id#1/source-map/declared-element/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#1", +"http://a.ml/vocabularies/document-source-maps#value": "" +}, +{ +"@id": "amf://id#4", +"@type": [ +"http://a.ml/vocabularies/security#Scope", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/core#name": "read", +"http://a.ml/vocabularies/core#description": "Read access", +"http://a.ml/vocabularies/document-source-maps#sources": [ +{ +"@id": "amf://id#4/source-map" +} +] +}, +{ +"@id": "amf://id#5", +"@type": [ +"http://a.ml/vocabularies/security#Scope", +"http://a.ml/vocabularies/document#DomainElement" +], +"http://a.ml/vocabularies/core#name": "write", +"http://a.ml/vocabularies/core#description": "Write access", +"http://a.ml/vocabularies/document-source-maps#sources": [ +{ +"@id": "amf://id#5/source-map" +} +] +}, +{ +"@id": "amf://id#3/source-map", +"@type": [ +"http://a.ml/vocabularies/document-source-maps#SourceMap" +], +"http://a.ml/vocabularies/document-source-maps#lexical": [ +{ +"@id": "amf://id#3/source-map/lexical/element_4" +}, +{ +"@id": "amf://id#3/source-map/lexical/element_2" +}, +{ +"@id": "amf://id#3/source-map/lexical/element_0" +}, +{ +"@id": "amf://id#3/source-map/lexical/element_1" +}, +{ +"@id": "amf://id#3/source-map/lexical/element_3" +} +] +}, +{ +"@id": "amf://id#2/source-map/lexical/element_1", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#2", +"http://a.ml/vocabularies/document-source-maps#value": "[(56,0)-(64,0)]" +}, +{ +"@id": "amf://id#2/source-map/lexical/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/security#flows", +"http://a.ml/vocabularies/document-source-maps#value": "[(57,6)-(64,0)]" +}, +{ +"@id": "amf://id#4/source-map", +"@type": [ +"http://a.ml/vocabularies/document-source-maps#SourceMap" +], +"http://a.ml/vocabularies/document-source-maps#lexical": [ +{ +"@id": "amf://id#4/source-map/lexical/element_0" +} +] +}, +{ +"@id": "amf://id#5/source-map", +"@type": [ +"http://a.ml/vocabularies/document-source-maps#SourceMap" +], +"http://a.ml/vocabularies/document-source-maps#lexical": [ +{ +"@id": "amf://id#5/source-map/lexical/element_0" +} +] +}, +{ +"@id": "amf://id#3/source-map/lexical/element_4", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/security#scope", +"http://a.ml/vocabularies/document-source-maps#value": "[(61,10)-(64,0)]" +}, +{ +"@id": "amf://id#3/source-map/lexical/element_2", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#3", +"http://a.ml/vocabularies/document-source-maps#value": "[(58,8)-(64,0)]" +}, +{ +"@id": "amf://id#3/source-map/lexical/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/security#deviceAuthorizationUri", +"http://a.ml/vocabularies/document-source-maps#value": "[(59,10)-(60,0)]" +}, +{ +"@id": "amf://id#3/source-map/lexical/element_1", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/security#flow", +"http://a.ml/vocabularies/document-source-maps#value": "[(58,8)-(58,27)]" +}, +{ +"@id": "amf://id#3/source-map/lexical/element_3", +"http://a.ml/vocabularies/document-source-maps#element": "http://a.ml/vocabularies/security#accessTokenUri", +"http://a.ml/vocabularies/document-source-maps#value": "[(60,10)-(61,0)]" +}, +{ +"@id": "amf://id#4/source-map/lexical/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#4", +"http://a.ml/vocabularies/document-source-maps#value": "[(62,12)-(63,0)]" +}, +{ +"@id": "amf://id#5/source-map/lexical/element_0", +"http://a.ml/vocabularies/document-source-maps#element": "amf://id#5", +"http://a.ml/vocabularies/document-source-maps#value": "[(63,12)-(64,0)]" +} +] +} diff --git a/src/ApiOauth2FlowDocument.js b/src/ApiOauth2FlowDocument.js index 93fe9ff..cc32694 100644 --- a/src/ApiOauth2FlowDocument.js +++ b/src/ApiOauth2FlowDocument.js @@ -32,6 +32,11 @@ export class ApiOauth2FlowDocument extends AmfHelperMixin(LitElement) { * properties. */ scopes: { type: Array }, + /** + * Device authorization endpoint URI (OAS 3.2 device flow). + * This property is updated when `flow` property changes. + */ + deviceAuthorizationUri: { type: String }, }; } @@ -103,6 +108,7 @@ export class ApiOauth2FlowDocument extends AmfHelperMixin(LitElement) { const accessTokenUri = this._computeAccessTokenUri(flow); const authorizationUri = this._computeAuthorizationUri(flow); const authorizationGrant = this._computeAuthorizationGrant(flow); + const deviceAuthorizationUri = this._computeDeviceAuthorizationUri(flow); let scopes = this._computeScopes(flow); if (scopes && !Array.isArray(scopes)) { scopes = [scopes]; @@ -110,6 +116,7 @@ export class ApiOauth2FlowDocument extends AmfHelperMixin(LitElement) { this.accessTokenUri = accessTokenUri; this.authorizationUri = authorizationUri; this.authorizationGrant = authorizationGrant; + this.deviceAuthorizationUri = deviceAuthorizationUri; this.scopes = scopes; } @@ -148,6 +155,25 @@ export class ApiOauth2FlowDocument extends AmfHelperMixin(LitElement) { )); } + /** + * Computes value for `deviceAuthorizationUri` property. + * @param {any} flow OAuth2 flow from AMF model. + * @return {string|undefined} + */ + _computeDeviceAuthorizationUri(flow) { + const flows = this._getValueArray( + flow, + this.ns.aml.vocabularies.security.flows + ); + if (flows) { + [flow] = flows; + } + return /** @type string */ (this._getValue( + flow, + this.ns.aml.vocabularies.security.deviceAuthorizationUri + )); + } + /** * Computes value for `authorizationGrant` property. * @param {any} flow OAuth2 flow from AMF model. @@ -214,7 +240,8 @@ export class ApiOauth2FlowDocument extends AmfHelperMixin(LitElement) { ${this._renderGrantType()} ${this._renderAccessTokenUri()} - ${this._renderAuthorizationUri()} + ${this._renderAuthorizationUri()} + ${this._renderDeviceAuthorizationUri()} ${this._renderScopes()} `; } @@ -251,6 +278,17 @@ export class ApiOauth2FlowDocument extends AmfHelperMixin(LitElement) { `; } + _renderDeviceAuthorizationUri() { + const { deviceAuthorizationUri } = this; + if (!deviceAuthorizationUri) { + return ""; + } + return html`
${deviceAuthorizationUri}
+