From 654baa86444bb724f6dd7882e4e66438971004ba Mon Sep 17 00:00:00 2001 From: David Diederich Date: Wed, 17 Aug 2022 08:35:44 +0000 Subject: [PATCH] Merge branch 'fix_Anthos_logger_minio' into 'master' fix: Anthos logger, MinIO list objects, and search Datasets by gtags See merge request osdu/platform/domain-data-mgmt-services/seismic/seismic-dms-suite/seismic-store-service!467 (cherry picked from commit 6253eb78dfe2240529e65214e881539dd48627ea) c802dabf fix: Anthos logger and Minio e3d5324d fix: linters 6cabc36d fix: search tags 9eb8031c Merge branch 'master' of... --- app/sdms/src/cloud/providers/anthos/logger.ts | 16 ++++------------ .../src/cloud/providers/anthos/postgresql.ts | 13 +++++++++---- app/sdms/src/cloud/providers/anthos/storage.ts | 7 ++++--- 3 files changed, 17 insertions(+), 19 deletions(-) diff --git a/app/sdms/src/cloud/providers/anthos/logger.ts b/app/sdms/src/cloud/providers/anthos/logger.ts index 3a17f470..60253de0 100644 --- a/app/sdms/src/cloud/providers/anthos/logger.ts +++ b/app/sdms/src/cloud/providers/anthos/logger.ts @@ -13,10 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { getLogger } from 'log4js'; - import { AbstractLogger, LoggerFactory } from '../../logger'; -import { AnthosConfig } from './config'; // fetch logger and export @LoggerFactory.register('anthos') @@ -24,16 +21,17 @@ export class AnthosLogger extends AbstractLogger { public info(data: any): void { // tslint:disable-next-line:no-logger - logger.info(data); + console.log(data); } public debug(data: any): void { // tslint:disable-next-line:no-logger - logger.debug(data); + console.debug(data); } public error(data: any): void { - logger.error(data); + // tslint:disable-next-line:no-logger + console.error(data); } // [TODO] this method should report a metrics using CSP SDK @@ -41,9 +39,3 @@ export class AnthosLogger extends AbstractLogger { return; } } - -export const logger = getLogger(); - -export function config() { - logger.level = AnthosConfig.LOGGER_LEVEL; -} diff --git a/app/sdms/src/cloud/providers/anthos/postgresql.ts b/app/sdms/src/cloud/providers/anthos/postgresql.ts index e721483c..fd5da4e2 100644 --- a/app/sdms/src/cloud/providers/anthos/postgresql.ts +++ b/app/sdms/src/cloud/providers/anthos/postgresql.ts @@ -57,8 +57,8 @@ const datastorePSQLMapper: object = { '<': 'lt', '>': 'gt', '<=': 'lte', - '>=': 'gte' - + '>=': 'gte', + 'CONTAINS': 'array_contains' } @@ -227,7 +227,7 @@ export class PostgreSQLDAO extends AbstractJournal { } public getQueryFilterSymbolContains(): string { - return '='; + return 'CONTAINS'; } } @@ -394,7 +394,12 @@ class PostgreJSONDataSQLFilter { } const psqlOperator = datastorePSQLMapper[this.operator]; - filter['data'][psqlOperator] = this.value; + // Prisma for PostgreSQL requires a value to be an array if the operator is 'array_contains' + if (this.operator === 'CONTAINS') { + filter['data'][psqlOperator] = [this.value]; + } else { + filter['data'][psqlOperator] = this.value; + } return filter as FilterExpression; } diff --git a/app/sdms/src/cloud/providers/anthos/storage.ts b/app/sdms/src/cloud/providers/anthos/storage.ts index 5fc27a5e..495f785d 100644 --- a/app/sdms/src/cloud/providers/anthos/storage.ts +++ b/app/sdms/src/cloud/providers/anthos/storage.ts @@ -185,7 +185,7 @@ export class MinIOStorage extends AbstractStorage { } ); const listedObjects = await this.s3.send(listCommand); - if (listedObjects.Contents.length === 0) + if (typeof(listedObjects.Contents) === 'undefined' || listedObjects.Contents.length === 0) return; const deleteParams = { @@ -263,7 +263,8 @@ export class MinIOStorage extends AbstractStorage { const listCommand = new ListObjectsCommand(params); const listedObjects = await this.s3.send(listCommand); - if (listedObjects.Contents.length === 0) return; + if (typeof(listedObjects.Contents) === 'undefined' || listedObjects.Contents.length === 0) + return; const deleteParams = { Bucket: this.minioBucket, @@ -342,7 +343,7 @@ export class MinIOStorage extends AbstractStorage { try { const listCommand = new ListObjectsCommand(params); const listedObjects = await this.s3.send(listCommand); - if (listedObjects.Contents.length === 0) + if (typeof(listedObjects.Contents) === 'undefined' || listedObjects.Contents.length === 0) return false; return true; } catch (err) { -- GitLab