From 08b9f0cda079aa5860c1f9966a13afa992bf2fef Mon Sep 17 00:00:00 2001 From: Sidney Alcantara Date: Wed, 5 Aug 2020 19:53:50 +1000 Subject: [PATCH] FT_compressedThumbnail: add path exclusions --- .../functions/src/compressedThumbnail/index.ts | 18 ++++++++++++++++-- .../functions/src/functionConfig.ts | 15 +-------------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/cloud_functions/functions/src/compressedThumbnail/index.ts b/cloud_functions/functions/src/compressedThumbnail/index.ts index cbfbdb75..ee4bfd45 100644 --- a/cloud_functions/functions/src/compressedThumbnail/index.ts +++ b/cloud_functions/functions/src/compressedThumbnail/index.ts @@ -17,9 +17,15 @@ import config from "../functionConfig"; const SUPPORTED_TYPES = ["image/jpeg", "image/png"]; const DEFAULT_SIZES = ["400x400", "200x200", "100x100"]; const sizes = - Array.isArray(config) && typeof config[0] === "string" - ? config + config && Array.isArray(config.sizes) && typeof config.sizes[0] === "string" + ? config.sizes : DEFAULT_SIZES; +const excludePaths = + config && + Array.isArray(config.excludes) && + typeof config.excludes[0] === "string" + ? config.excludes + : []; export const FT_compressedThumbnail = functions.storage .object() @@ -43,6 +49,14 @@ export const FT_compressedThumbnail = functions.storage const token = object.metadata?.firebaseStorageDownloadTokens; const filePath = object.name!; + + // Check if file should be excluded based off path + for (const excludePath of excludePaths) + if (filePath.startsWith(excludePath)) { + console.log("File excluded from path", excludePath); + return null; + } + const baseFileName = path.basename(filePath, path.extname(filePath)); const tempLocalFile = path.join( os.tmpdir(), diff --git a/cloud_functions/functions/src/functionConfig.ts b/cloud_functions/functions/src/functionConfig.ts index 0873676d..b1eaf699 100644 --- a/cloud_functions/functions/src/functionConfig.ts +++ b/cloud_functions/functions/src/functionConfig.ts @@ -1,15 +1,2 @@ -export default { - onUpdate: true, - onCreate: false, - source: "advisors", - fieldsToSync: [ - "firstName", - "lastName", - "preferredName", - "profilePhoto", - "email", - "location", - ], - target: "coaches", -}; +export default {} as any; export const collectionPath = "";