From 81d93ff103c7604b8003153e350726708faed951 Mon Sep 17 00:00:00 2001 From: Gabriel Rosa Date: Mon, 5 Dec 2022 13:22:23 -0300 Subject: [PATCH 1/7] FEAT: embed data asset --- docsfera.json | 14 ++++++++++++++ package-lock.json | 14 +++++++------- package.json | 2 +- src/modules/catalog/catalog.controller.ts | 3 +++ src/modules/catalog/catalog.service.ts | 7 +------ src/modules/catalog/dtos/index.ts | 7 ++++++- src/utils/ErrorBuilder.ts | 8 ++++++++ src/utils/errorCodes.ts | 4 ++++ 8 files changed, 44 insertions(+), 15 deletions(-) diff --git a/docsfera.json b/docsfera.json index e4ffcaa..2fe5b31 100644 --- a/docsfera.json +++ b/docsfera.json @@ -5640,6 +5640,17 @@ "data_asset" ] }, + "EmbedObject": { + "type": "object", + "properties": { + "url": { + "type": "string" + } + }, + "required": [ + "url" + ] + }, "ICreateDataAsset": { "type": "object", "properties": { @@ -5657,6 +5668,9 @@ }, "location": { "type": "string" + }, + "embed": { + "$ref": "#/components/schemas/EmbedObject" } }, "required": [ diff --git a/package-lock.json b/package-lock.json index 4d5be85..f610f51 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "dependencies": { "@aws-sdk/client-secrets-manager": "^3.112.0", "@dadosfera/dadosfera-logs": "^1.0.0-beta.4", - "@dadosfera/protospack-v2": "3.21.0", + "@dadosfera/protospack-v2": "3.22.0-beta.2", "@grpc/grpc-js": "^1.6.7", "@grpc/proto-loader": "^0.6.13", "@nestjs/common": "^8.4.7", @@ -1727,9 +1727,9 @@ } }, "node_modules/@dadosfera/protospack-v2": { - "version": "3.21.0", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.21.0.tgz", - "integrity": "sha512-gHIRLSto813lagxqcphO4/xc82g/QkCZRslRhj5tJK4V69f/ScviBHB4CCRBRW5Md2Lql6zWuTV5R0uADFIiZA==", + "version": "3.22.0-beta.2", + "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.22.0-beta.2.tgz", + "integrity": "sha512-zZ9CIcY2LzJVmIgt69AuGIC5GhSqbHQXdSEMA0XYeiMnPyN2ZkfVdCp32b4kwZME1zSpBBJV2wJVvboDa5ZKbQ==", "dependencies": { "@grpc/grpc-js": "^1.6.7", "rxjs": "^7.5.5", @@ -12330,9 +12330,9 @@ } }, "@dadosfera/protospack-v2": { - "version": "3.21.0", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.21.0.tgz", - "integrity": "sha512-gHIRLSto813lagxqcphO4/xc82g/QkCZRslRhj5tJK4V69f/ScviBHB4CCRBRW5Md2Lql6zWuTV5R0uADFIiZA==", + "version": "3.22.0-beta.2", + "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.22.0-beta.2.tgz", + "integrity": "sha512-zZ9CIcY2LzJVmIgt69AuGIC5GhSqbHQXdSEMA0XYeiMnPyN2ZkfVdCp32b4kwZME1zSpBBJV2wJVvboDa5ZKbQ==", "requires": { "@grpc/grpc-js": "^1.6.7", "rxjs": "^7.5.5", diff --git a/package.json b/package.json index f1df8c1..445e5ac 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "dependencies": { "@aws-sdk/client-secrets-manager": "^3.112.0", "@dadosfera/dadosfera-logs": "^1.0.0-beta.4", - "@dadosfera/protospack-v2": "3.21.0", + "@dadosfera/protospack-v2": "3.22.0-beta.2", "@grpc/grpc-js": "^1.6.7", "@grpc/proto-loader": "^0.6.13", "@nestjs/common": "^8.4.7", diff --git a/src/modules/catalog/catalog.controller.ts b/src/modules/catalog/catalog.controller.ts index ff6d047..6f7675f 100644 --- a/src/modules/catalog/catalog.controller.ts +++ b/src/modules/catalog/catalog.controller.ts @@ -11,6 +11,7 @@ import { Put, Query, UnsupportedMediaTypeException, + UseFilters, } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; import { @@ -33,9 +34,11 @@ import { IPreviewResponse, IUpdateDataRequest, } from './dtos'; +import { GrpcToHttpExceptionFilter } from 'src/error/grpc-to-http-exception.filter'; @ApiTags('Catalog') @Controller('catalog') +@UseFilters(new GrpcToHttpExceptionFilter()) @Authenticated() export class CatalogController { logger: DadosferaLogger; diff --git a/src/modules/catalog/catalog.service.ts b/src/modules/catalog/catalog.service.ts index 87c395f..c4c8032 100644 --- a/src/modules/catalog/catalog.service.ts +++ b/src/modules/catalog/catalog.service.ts @@ -63,12 +63,7 @@ class CatalogService implements OnModuleInit { return lastValueFrom( this.catalogWriteService.CreateDataAsset(data, metadata), - ).catch((err) => { - throw new HttpException( - err.details, - err.code === 6 ? HttpStatus.CONFLICT : 404, - ); - }); + ); } async managePermissions(data: Messages.ManagePermissionRequest, metadata) { diff --git a/src/modules/catalog/dtos/index.ts b/src/modules/catalog/dtos/index.ts index 533a559..b894f02 100644 --- a/src/modules/catalog/dtos/index.ts +++ b/src/modules/catalog/dtos/index.ts @@ -128,7 +128,10 @@ export class IUpdateDataRequest { @ApiProperty() tags: string[]; } - +export class EmbedObject { + @ApiProperty() + url: string; +} export class ICreateDataAsset implements CreateDataAssetRequest { @ApiProperty() display_name: string; @@ -140,6 +143,8 @@ export class ICreateDataAsset implements CreateDataAssetRequest { external_url: string; @ApiProperty() location: string; + @ApiPropertyOptional() + embed: EmbedObject; } export class IPreview { diff --git a/src/utils/ErrorBuilder.ts b/src/utils/ErrorBuilder.ts index 16567e1..faf2b7c 100644 --- a/src/utils/ErrorBuilder.ts +++ b/src/utils/ErrorBuilder.ts @@ -292,6 +292,14 @@ export function EnrichErrorCode(code: string) { message: 'Caso o erro persista, entre em contato com o suporte', code, }; + case ErrorCodes.CATALOG.DATA_ASSET_NOT_FOUND: + return { + statusCode: HttpStatus.NOT_FOUND, + error: 'Não encontramos o ativo solicitado', + message: + 'Tente realizar a ação novamente. Caso o erro persista, entre em contato com o suporte', + code, + }; case ErrorCodes.INTERNAL: case ErrorCodes.UNKNOWN: default: diff --git a/src/utils/errorCodes.ts b/src/utils/errorCodes.ts index 087ddba..19a9d22 100644 --- a/src/utils/errorCodes.ts +++ b/src/utils/errorCodes.ts @@ -67,6 +67,9 @@ const CONNECTION = { const TRANSFORMATION = { NOT_FOUND: 'TRANSFORMATION.NOT_FOUND', }; +const CATALOG = { + DATA_ASSET_NOT_FOUND: 'CATALOG.DATA_ASSET_NOT_FOUND', +}; const ErrorCodes = { UNKNOWN: 'UNKNOWN', RATE_LIMIT: 'RATE_LIMIT', @@ -82,6 +85,7 @@ const ErrorCodes = { INPUT, TRANSFORMATION, CONNECTION, + CATALOG, }; export default ErrorCodes; From f9064417ce8ac5a52cd3f5db513cbe623bf8f518 Mon Sep 17 00:00:00 2001 From: Gabriel Rosa Date: Tue, 6 Dec 2022 09:11:32 -0300 Subject: [PATCH 2/7] docsfera.json --- docsfera.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docsfera.json b/docsfera.json index 89ce74b..1fb4297 100644 --- a/docsfera.json +++ b/docsfera.json @@ -3233,7 +3233,7 @@ } }, "info": { - "title": "Maestro - feat/view-table", + "title": "Maestro - feat/embed-data-asset", "description": "Documentation for Maestro gateway", "version": "1.0.0", "contact": {} From 64816e5578a939cf69b160eb98b97b7192c1e24e Mon Sep 17 00:00:00 2001 From: Gabriel Rosa Date: Tue, 6 Dec 2022 10:07:30 -0300 Subject: [PATCH 3/7] FIX: treat empty embed --- src/modules/catalog/catalog.service.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/modules/catalog/catalog.service.ts b/src/modules/catalog/catalog.service.ts index 149db9a..95e60df 100644 --- a/src/modules/catalog/catalog.service.ts +++ b/src/modules/catalog/catalog.service.ts @@ -60,6 +60,7 @@ class CatalogService implements OnModuleInit { async createDataAsset(data: Messages.CreateDataAssetRequest, metadata) { this.logger.info('CatalogService - Manage Data assets permissions'); + if (!data.embed) data.embed = undefined; return lastValueFrom( this.catalogWriteService.CreateDataAsset(data, metadata), From 1c0377a4fa86681f185551a53b0c5dd3b4b78a3c Mon Sep 17 00:00:00 2001 From: Gabriel Rosa Date: Tue, 6 Dec 2022 11:04:18 -0300 Subject: [PATCH 4/7] FIX: treat empty embed on update --- docsfera.json | 30 ++++++++++++++++---------- src/modules/catalog/catalog.service.ts | 10 ++++++++- src/modules/catalog/dtos/index.ts | 20 ++++++++++------- 3 files changed, 40 insertions(+), 20 deletions(-) diff --git a/docsfera.json b/docsfera.json index 1fb4297..372f2e2 100644 --- a/docsfera.json +++ b/docsfera.json @@ -5282,6 +5282,17 @@ "username" ] }, + "EmbedObject": { + "type": "object", + "properties": { + "url": { + "type": "string" + } + }, + "required": [ + "url" + ] + }, "IDataAsset": { "type": "object", "properties": { @@ -5380,10 +5391,14 @@ "items": { "$ref": "#/components/schemas/IComment" } + }, + "embed": { + "$ref": "#/components/schemas/EmbedObject" } }, "required": [ "id", + "display_name", "pipeline_id", "user_id", "description", @@ -5392,6 +5407,7 @@ "owner", "roles", "users", + "created_at", "comments" ] }, @@ -5621,6 +5637,9 @@ "items": { "type": "string" } + }, + "embed": { + "$ref": "#/components/schemas/EmbedObject" } }, "required": [ @@ -5640,17 +5659,6 @@ "data_asset" ] }, - "EmbedObject": { - "type": "object", - "properties": { - "url": { - "type": "string" - } - }, - "required": [ - "url" - ] - }, "ICreateDataAsset": { "type": "object", "properties": { diff --git a/src/modules/catalog/catalog.service.ts b/src/modules/catalog/catalog.service.ts index 95e60df..51ac63c 100644 --- a/src/modules/catalog/catalog.service.ts +++ b/src/modules/catalog/catalog.service.ts @@ -18,6 +18,7 @@ import { CatalogClientConfiguration } from './catalog-client'; import { UsersService } from '../users/users.service'; import { RolesService } from '../roles/roles.service'; import { Metadata } from '@grpc/grpc-js'; +import { IUpdateDataRequest } from './dtos'; class CatalogService implements OnModuleInit { catalogReadService: ReadService.CatalogReadServices; @@ -196,7 +197,14 @@ class CatalogService implements OnModuleInit { return { data_asset: asset[0] }; } - async updateOneDataAsset({ data_asset_id, customer_id, body, metadata }) { + async updateOneDataAsset(data: { + data_asset_id: string; + customer_id: string; + body: IUpdateDataRequest; + metadata: Metadata; + }) { + const { body, customer_id, data_asset_id, metadata } = data; + if (!body.embed) body.embed = undefined; const { data_asset } = await lastValueFrom( this.catalogWriteService.UpdateDataAsset( { id: data_asset_id, changes: JSON.stringify(body) }, diff --git a/src/modules/catalog/dtos/index.ts b/src/modules/catalog/dtos/index.ts index b894f02..16604b2 100644 --- a/src/modules/catalog/dtos/index.ts +++ b/src/modules/catalog/dtos/index.ts @@ -1,6 +1,10 @@ import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; import { CreateDataAssetRequest } from '@dadosfera/protospack-v2/dist/lib/Catalog/interfaces/messages'; +export class EmbedObject { + @ApiProperty() + url: string; +} export class IRole { @ApiProperty() name: string; @@ -49,8 +53,8 @@ export class IDataAsset { data_encrypted?: string; @ApiPropertyOptional() num_rows?: number; - @ApiPropertyOptional() - display_name?: string; + @ApiProperty() + display_name: string; @ApiProperty() pipeline_id: string; @ApiProperty() @@ -75,12 +79,14 @@ export class IDataAsset { parameters?: string[]; @ApiPropertyOptional() embedding_params?: object; - @ApiPropertyOptional() - created_at?: string; + @ApiProperty() + created_at: string; @ApiPropertyOptional() updated_at?: string; @ApiProperty({ type: [IComment] }) comments: IComment[]; + @ApiPropertyOptional() + embed?: EmbedObject; } export class IOneDataAsset { @@ -127,10 +133,8 @@ export class IUpdateDataRequest { description: string; @ApiProperty() tags: string[]; -} -export class EmbedObject { - @ApiProperty() - url: string; + @ApiPropertyOptional() + embed: EmbedObject; } export class ICreateDataAsset implements CreateDataAssetRequest { @ApiProperty() From 6fdd73c58ce34c3dffc6f29414d98c0770cc43fc Mon Sep 17 00:00:00 2001 From: Gabriel Rosa Date: Wed, 7 Dec 2022 08:36:21 -0300 Subject: [PATCH 5/7] removing treatment of undefined embed field --- src/modules/catalog/catalog.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/catalog/catalog.service.ts b/src/modules/catalog/catalog.service.ts index 51ac63c..2b0f21f 100644 --- a/src/modules/catalog/catalog.service.ts +++ b/src/modules/catalog/catalog.service.ts @@ -204,7 +204,7 @@ class CatalogService implements OnModuleInit { metadata: Metadata; }) { const { body, customer_id, data_asset_id, metadata } = data; - if (!body.embed) body.embed = undefined; + const { data_asset } = await lastValueFrom( this.catalogWriteService.UpdateDataAsset( { id: data_asset_id, changes: JSON.stringify(body) }, From a0f21b763ad8d794f0ebcc25de57d1fc06c3f112 Mon Sep 17 00:00:00 2001 From: Gabriel Rosa Date: Wed, 7 Dec 2022 16:14:57 -0300 Subject: [PATCH 6/7] new protospack version --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index f610f51..9b05fed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "dependencies": { "@aws-sdk/client-secrets-manager": "^3.112.0", "@dadosfera/dadosfera-logs": "^1.0.0-beta.4", - "@dadosfera/protospack-v2": "3.22.0-beta.2", + "@dadosfera/protospack-v2": "3.22.0", "@grpc/grpc-js": "^1.6.7", "@grpc/proto-loader": "^0.6.13", "@nestjs/common": "^8.4.7", @@ -1727,9 +1727,9 @@ } }, "node_modules/@dadosfera/protospack-v2": { - "version": "3.22.0-beta.2", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.22.0-beta.2.tgz", - "integrity": "sha512-zZ9CIcY2LzJVmIgt69AuGIC5GhSqbHQXdSEMA0XYeiMnPyN2ZkfVdCp32b4kwZME1zSpBBJV2wJVvboDa5ZKbQ==", + "version": "3.22.0", + "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.22.0.tgz", + "integrity": "sha512-tkHqNiSeuiGtuFieOOaTTaB1OOKzcFd+7bTlDXj6FdorIHXt+FtHxslWX5b9XERzkQg7nseak1gFw2w4krOdbg==", "dependencies": { "@grpc/grpc-js": "^1.6.7", "rxjs": "^7.5.5", @@ -12330,9 +12330,9 @@ } }, "@dadosfera/protospack-v2": { - "version": "3.22.0-beta.2", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.22.0-beta.2.tgz", - "integrity": "sha512-zZ9CIcY2LzJVmIgt69AuGIC5GhSqbHQXdSEMA0XYeiMnPyN2ZkfVdCp32b4kwZME1zSpBBJV2wJVvboDa5ZKbQ==", + "version": "3.22.0", + "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.22.0.tgz", + "integrity": "sha512-tkHqNiSeuiGtuFieOOaTTaB1OOKzcFd+7bTlDXj6FdorIHXt+FtHxslWX5b9XERzkQg7nseak1gFw2w4krOdbg==", "requires": { "@grpc/grpc-js": "^1.6.7", "rxjs": "^7.5.5", diff --git a/package.json b/package.json index 445e5ac..340f9c0 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "dependencies": { "@aws-sdk/client-secrets-manager": "^3.112.0", "@dadosfera/dadosfera-logs": "^1.0.0-beta.4", - "@dadosfera/protospack-v2": "3.22.0-beta.2", + "@dadosfera/protospack-v2": "3.22.0", "@grpc/grpc-js": "^1.6.7", "@grpc/proto-loader": "^0.6.13", "@nestjs/common": "^8.4.7", From 3acda53e8a3cae6bc1c2f0828efeda4a2ea33e2e Mon Sep 17 00:00:00 2001 From: Gabriel Rosa Date: Wed, 7 Dec 2022 16:17:21 -0300 Subject: [PATCH 7/7] npm audit fix --- package-lock.json | 101 +++++++++++++++++++++------------------------- package.json | 2 +- 2 files changed, 48 insertions(+), 55 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9b05fed..9a43465 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,7 +36,7 @@ "mixpanel": "^0.17.0", "passport": "^0.6.0", "passport-facebook": "^3.0.0", - "passport-forcedotcom": "^0.1.5", + "passport-forcedotcom": "^0.2.0", "passport-google-oauth20": "^2.0.0", "passport-hubspot-oauth2": "^1.0.3", "passport-mailchimp": "^1.1.0", @@ -3699,8 +3699,9 @@ }, "node_modules/asap": { "version": "2.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true }, "node_modules/asn1.js": { "version": "5.4.1", @@ -4705,9 +4706,10 @@ } }, "node_modules/dezalgo": { - "version": "1.0.3", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", "dev": true, - "license": "ISC", "dependencies": { "asap": "^2.0.0", "wrappy": "1" @@ -5902,23 +5904,28 @@ } }, "node_modules/formidable": { - "version": "2.0.1", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.1.tgz", + "integrity": "sha512-0EcS9wCFEzLvfiks7omJ+SiYJAiD+TzK4Pcw1UlUoGnhUxDcMKjt0P7x8wEb0u6OHu8Nb98WG3nxtlF5C7bvUQ==", "dev": true, - "license": "MIT", "dependencies": { - "dezalgo": "1.0.3", - "hexoid": "1.0.0", - "once": "1.4.0", - "qs": "6.9.3" + "dezalgo": "^1.0.4", + "hexoid": "^1.0.0", + "once": "^1.4.0", + "qs": "^6.11.0" }, "funding": { "url": "https://ko-fi.com/tunnckoCore/commissions" } }, "node_modules/formidable/node_modules/qs": { - "version": "6.9.3", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dev": true, - "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.4" + }, "engines": { "node": ">=0.6" }, @@ -8713,24 +8720,11 @@ } }, "node_modules/passport-forcedotcom": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/passport-forcedotcom/-/passport-forcedotcom-0.1.5.tgz", - "integrity": "sha512-raDRQqBJtTEHDxLkxLG+9sYE0xpPy9PqriMPbMy9jmpIcU2+mOq9PgczvUPrU8UjfcZp3gqkDHqujcUWiGOVNQ==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/passport-forcedotcom/-/passport-forcedotcom-0.2.0.tgz", + "integrity": "sha512-gRI5+zQK9iVAZ1hJgt3TkWLeDw8SYrNWUsmVk0d0RyvUviQ4mT52x3JbYRiyZefoeID8afmLsJH8VOHjWdPf3Q==", "dependencies": { - "passport-oauth2": "1.3.x" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/passport-forcedotcom/node_modules/passport-oauth2": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/passport-oauth2/-/passport-oauth2-1.3.0.tgz", - "integrity": "sha512-AisRXcC7Vx8WSx5C9O8UNib/Y91/IOphs5tImlOMs7T+QTEJdmS+OxgXSskbnDdGQT/8mU5T3yMT6136rBjYXg==", - "dependencies": { - "oauth": "0.9.x", - "passport-strategy": "1.x.x", - "uid2": "0.0.x" + "passport-oauth2": "^1.6.1" }, "engines": { "node": ">= 0.4.0" @@ -13675,6 +13669,8 @@ }, "asap": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", "dev": true }, "asn1.js": { @@ -14372,7 +14368,9 @@ "dev": true }, "dezalgo": { - "version": "1.0.3", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", "dev": true, "requires": { "asap": "^2.0.0", @@ -15214,18 +15212,25 @@ } }, "formidable": { - "version": "2.0.1", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.1.tgz", + "integrity": "sha512-0EcS9wCFEzLvfiks7omJ+SiYJAiD+TzK4Pcw1UlUoGnhUxDcMKjt0P7x8wEb0u6OHu8Nb98WG3nxtlF5C7bvUQ==", "dev": true, "requires": { - "dezalgo": "1.0.3", - "hexoid": "1.0.0", - "once": "1.4.0", - "qs": "6.9.3" + "dezalgo": "^1.0.4", + "hexoid": "^1.0.0", + "once": "^1.4.0", + "qs": "^6.11.0" }, "dependencies": { "qs": { - "version": "6.9.3", - "dev": true + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } } } }, @@ -17093,23 +17098,11 @@ } }, "passport-forcedotcom": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/passport-forcedotcom/-/passport-forcedotcom-0.1.5.tgz", - "integrity": "sha512-raDRQqBJtTEHDxLkxLG+9sYE0xpPy9PqriMPbMy9jmpIcU2+mOq9PgczvUPrU8UjfcZp3gqkDHqujcUWiGOVNQ==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/passport-forcedotcom/-/passport-forcedotcom-0.2.0.tgz", + "integrity": "sha512-gRI5+zQK9iVAZ1hJgt3TkWLeDw8SYrNWUsmVk0d0RyvUviQ4mT52x3JbYRiyZefoeID8afmLsJH8VOHjWdPf3Q==", "requires": { - "passport-oauth2": "1.3.x" - }, - "dependencies": { - "passport-oauth2": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/passport-oauth2/-/passport-oauth2-1.3.0.tgz", - "integrity": "sha512-AisRXcC7Vx8WSx5C9O8UNib/Y91/IOphs5tImlOMs7T+QTEJdmS+OxgXSskbnDdGQT/8mU5T3yMT6136rBjYXg==", - "requires": { - "oauth": "0.9.x", - "passport-strategy": "1.x.x", - "uid2": "0.0.x" - } - } + "passport-oauth2": "^1.6.1" } }, "passport-google-oauth20": { diff --git a/package.json b/package.json index 340f9c0..0174280 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "mixpanel": "^0.17.0", "passport": "^0.6.0", "passport-facebook": "^3.0.0", - "passport-forcedotcom": "^0.1.5", + "passport-forcedotcom": "^0.2.0", "passport-google-oauth20": "^2.0.0", "passport-hubspot-oauth2": "^1.0.3", "passport-mailchimp": "^1.1.0",