From e36ef00fd0ee961e386e224362bbf1ae70040602 Mon Sep 17 00:00:00 2001 From: erdoganoksuz Date: Thu, 25 Feb 2021 11:35:39 +0300 Subject: [PATCH] router case added and hasDocsBeenGenerated fixed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mert Can BilgiƧ --- .../src/stages/publish/openStackSwift.ts | 28 +++++++++++-------- .../techdocs-backend/src/service/router.ts | 1 + 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/packages/techdocs-common/src/stages/publish/openStackSwift.ts b/packages/techdocs-common/src/stages/publish/openStackSwift.ts index 30314e1109..15d8b20332 100644 --- a/packages/techdocs-common/src/stages/publish/openStackSwift.ts +++ b/packages/techdocs-common/src/stages/publish/openStackSwift.ts @@ -107,6 +107,7 @@ export class OpenStackSwiftPublish implements PublisherBase { * Directory structure used in the bucket is - entityNamespace/entityKind/entityName/index.html */ async publish({ entity, directory }: PublishRequest): Promise { + this.logger.info(`Publish Called hey`); try { // Note: OpenStack Swift manages creation of parent directories if they do not exist. // So collecting path of only the files is good enough. @@ -167,6 +168,7 @@ export class OpenStackSwiftPublish implements PublisherBase { async fetchTechDocsMetadata( entityName: EntityName, ): Promise { + this.logger.info(`fetchTechDocsMetadata Called hey`); try { return await new Promise(async (resolve, reject) => { const entityRootDir = `${entityName.namespace}/${entityName.kind}/${entityName.name}`; @@ -204,6 +206,7 @@ export class OpenStackSwiftPublish implements PublisherBase { */ docsRouter(): express.Handler { return async (req, res) => { + this.logger.info(`docsRouter Called hey`); // Trim the leading forward slash // filePath example - /default/Component/documented-component/index.html @@ -240,18 +243,21 @@ export class OpenStackSwiftPublish implements PublisherBase { */ async hasDocsBeenGenerated(entity: Entity): Promise { try { + this.logger.info(`hasDocsBeenGenerated Called hey`); const entityRootDir = `${entity.metadata.namespace}/${entity.kind}/${entity.metadata.name}`; - this.storageClient.getFile( - this.containerName, - `${entityRootDir}/index.html`, - (err: any, file: any) => { - if (!err && file) { - return Promise.resolve(true); - } - return Promise.resolve(false); - }, - ); - return Promise.resolve(true); + + return new Promise(res => { + this.storageClient.getFile( + this.containerName, + `${entityRootDir}/index.html`, + (err: any, file: any) => { + console.log(file); + if (!err && file) { + res(true); + } else res(false); + }, + ); + }); } catch (e) { return Promise.resolve(false); } diff --git a/plugins/techdocs-backend/src/service/router.ts b/plugins/techdocs-backend/src/service/router.ts index 7f6ff60fdd..b331d2170c 100644 --- a/plugins/techdocs-backend/src/service/router.ts +++ b/plugins/techdocs-backend/src/service/router.ts @@ -155,6 +155,7 @@ export async function createRouter({ break; case 'awsS3': case 'azureBlobStorage': + case 'openStackSwift': case 'googleGcs': // This block should be valid for all external storage implementations. So no need to duplicate in future, // add the publisher type in the list here.