{ "$comment": "This file was automatically generated, do not modify it by hand. Instead, modify the source Typescript file, and run `pnpm types build:catalog-schemas`.", "$id": "catalog-extension.resources.schema.json", "$schema": "http://json-schema.org/draft-07/schema#", "allOf": [ { "if": { "properties": { "extensionType": { "enum": [ "iframe", "external-link" ], "type": "string" } } }, "then": { "properties": { "entry": { "type": "string" }, "routes": { "items": { "properties": { "destinationPath": { "type": "string" }, "icon": { "properties": { "name": { "type": "string" } }, "type": "object" }, "id": { "type": "string" }, "labelIntl": { "properties": { "en": { "type": "string" }, "it": { "type": "string" } }, "type": "object" }, "locationId": { "type": "string" }, "matchExactMountPath": { "type": "boolean" }, "order": { "type": "number" }, "parentId": { "type": "string" }, "renderType": { "enum": [ "category" ], "type": "string" } }, "required": [ "id", "locationId", "labelIntl" ], "type": "object" }, "type": "array" } }, "required": [ "entry" ] } }, { "if": { "properties": { "extensionType": { "const": "composer-page" } } }, "then": { "properties": { "configuration": { "type": "string" } }, "required": [ "configuration" ] } } ], "description": "Data model of a Catalog extension item resources", "properties": { "contexts": { "items": { "enum": [ "console", "project", "company" ], "type": "string" }, "type": "array" }, "extensionType": { "enum": [ "iframe", "external-link", "composer-page" ], "type": "string" }, "name": { "type": "string" }, "permissions": { "items": { "type": "string" }, "type": "array" }, "roleIds": { "items": { "type": "string" }, "type": "array" }, "$schema": { "type": "string" } }, "required": [ "name", "extensionType", "contexts" ], "title": "Catalog extension item resources", "type": "object", "examples": [ { "name": "E-Commerce configurator", "extensionType": "iframe", "contexts": [ "company" ], "entry": "https://e-commerce-configurator.com" }, { "name": "E-Commerce dashboard", "extensionType": "external-link", "contexts": [ "company" ], "entry": "https://e-commerce-dashboard.com" }, { "name": "E-Commerce CMS", "extensionType": "composer-page", "contexts": [ "project" ], "configuration": "{\"tag\":\"p\",\"content\":\"Hello!\"}" } ] }