UNPKG

eslint-plugin-json-schema-validator

Version:
1 lines 4.41 kB
{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://example.com/xsapp.schema.json","$comment":"Based on https://github.wdf.sap.corp/xs2/approuter.js/blob/master/lib/configuration/schemas/xs-app-schema.json","title":"com.sap.xsapp.schema_8.2","type":"object","properties":{"welcomeFile":{"type":"string","minLength":1},"authenticationMethod":{"type":"string","enum":["none","route"]},"sessionTimeout":{"type":"integer","minimum":1},"pluginMetadataEndpoint":{"type":"string","minLength":1,"format":"relative-uri"},"routes":{"type":"array","items":{"type":"object","additionalProperties":false,"format":"route-rules","properties":{"source":{"$ref":"#/definitions/sourceSchema"},"httpMethods":{"type":"array","minItems":1,"items":{"type":"string","enum":["DELETE","GET","HEAD","OPTIONS","POST","PUT","TRACE","PATCH"]}},"target":{"type":"string","minLength":1,"format":"relative-uri"},"destination":{"type":"string","minLength":1},"localDir":{"type":"string","minLength":1},"csrfProtection":{"type":"boolean"},"service":{"type":"string"},"endpoint":{"type":"string"},"authenticationType":{"type":"string","enum":["xsuaa","basic","none"]},"identityProvider":{"type":"string","minLength":1},"scope":{"$ref":"#/definitions/scopesSchema"},"replace":{"type":"object","required":["pathSuffixes"],"additionalProperties":false,"properties":{"pathSuffixes":{"type":"array","items":{"type":"string","minLength":1,"format":"relative-uri"}},"vars":{"type":"array","items":{"type":"string","minLength":1}},"services":{"type":"object"}}},"cacheControl":{"type":"string","minLength":1,"format":"valid-header-value"}},"required":["source"]}},"destinations":{"type":"object","format":"destinations-rules","additionalProperties":{"type":"object","additionalProperties":false,"properties":{"logoutPath":{"type":"string","minLength":1,"format":"relative-uri"},"logoutMethod":{"type":"string","enum":["PUT","POST","GET"]}}}},"services":{"type":"object","format":"services-rules","additionalProperties":{"type":"object","additionalProperties":false,"properties":{"endpoint":{"type":"string","minLength":1},"logoutPath":{"type":"string","minLength":1,"format":"relative-uri"},"logoutMethod":{"type":"string","enum":["PUT","POST","GET"]}}}},"logout":{"type":"object","additionalProperties":false,"format":"logout-rules","properties":{"logoutEndpoint":{"type":"string","minLength":1,"format":"relative-uri"},"logoutPage":{"type":"string","minLength":1,"format":"uri"}}},"login":{"type":"object","additionalProperties":false,"properties":{"callbackEndpoint":{"type":"string","minLength":1,"format":"relative-uri"}},"required":["callbackEndpoint"]},"whitelistService":{"type":"object","additionalProperties":false,"properties":{"endpoint":{"type":"string","minLength":1,"format":"relative-uri"}},"required":["endpoint"]},"compression":{"type":"object","additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"minSize":{"type":"integer","minimum":1}}},"websockets":{"type":"object","additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"errorPage":{"type":"array","additionalProperties":false,"items":{"type":"object","required":["status","file"],"properties":{"status":{"type":["integer","array"],"minimum":1,"minItems":1,"uniqueItems":true,"items":{"type":"integer","minimum":1}},"file":{"type":"string","minLength":1,"format":"local-file"}}}}},"definitions":{"sourceSchema":{"type":["string","object"],"minLength":1,"format":"regex","additionalProperties":false,"properties":{"path":{"type":"string","minLength":1,"format":"regex"},"matchCase":{"type":"boolean"}},"required":["path"]},"scopesSchema":{"type":["string","array","object"],"minProperties":1,"additionalProperties":false,"properties":{"GET":{"$ref":"#/definitions/scopeTemplate"},"POST":{"$ref":"#/definitions/scopeTemplate"},"HEAD":{"$ref":"#/definitions/scopeTemplate"},"PUT":{"$ref":"#/definitions/scopeTemplate"},"DELETE":{"$ref":"#/definitions/scopeTemplate"},"TRACE":{"$ref":"#/definitions/scopeTemplate"},"PATCH":{"$ref":"#/definitions/scopeTemplate"},"OPTIONS":{"$ref":"#/definitions/scopeTemplate"},"CONNECT":{"$ref":"#/definitions/scopeTemplate"},"default":{"$ref":"#/definitions/scopeTemplate"}},"minLength":1,"minItems":1,"items":{"type":"string","minLength":1}},"scopeTemplate":{"id":"scopeTemplate","type":["string","array"],"minLength":1,"minItems":1,"items":{"type":"string","minLength":1}}}}