From a47c6b2d76b1423d15a7974e3d5ab6336d444273 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Oro=CC=81s?= Date: Mon, 28 Oct 2024 09:45:21 +0100 Subject: [PATCH] Support for catalog-info.yaml files with multiple documents when creating a PR to register a new repository MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Marc Orós --- .../src/api/CatalogImportClient.ts | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/plugins/catalog-import/src/api/CatalogImportClient.ts b/plugins/catalog-import/src/api/CatalogImportClient.ts index 78e54ac98c..0cd1268522 100644 --- a/plugins/catalog-import/src/api/CatalogImportClient.ts +++ b/plugins/catalog-import/src/api/CatalogImportClient.ts @@ -174,14 +174,17 @@ the component will become available.\n\nFor more information, read an \ body: string; }): Promise<{ link: string; location: string }> { const { repositoryUrl, fileContent, title, body } = options; - const parseData = YAML.parse(fileContent); - const validationResponse = await this.catalogApi.validateEntity( - parseData, - `url:${repositoryUrl}`, - ); - if (!validationResponse.valid) { - throw new Error(validationResponse.errors[0].message); + const parseData = YAML.parseAllDocuments(fileContent); + + for (const document of parseData) { + const validationResponse = await this.catalogApi.validateEntity( + document.toJS(), + `url:${repositoryUrl}`, + ); + if (!validationResponse.valid) { + throw new Error(validationResponse.errors[0].message); + } } const provider = this.scmIntegrationsApi.byUrl(repositoryUrl);