From 671fe038aa1bee65f3f39cb1e23473a5a5d65785 Mon Sep 17 00:00:00 2001 From: Perry Zhu Date: Tue, 23 Jun 2026 19:11:48 -0700 Subject: [PATCH] feat: load pexels url from env var --- scripts/src/lambda-handler.ts | 5 ++--- scripts/src/main.ts | 24 +++++++++++++++++++++--- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/scripts/src/lambda-handler.ts b/scripts/src/lambda-handler.ts index c479a50..62bc1ff 100644 --- a/scripts/src/lambda-handler.ts +++ b/scripts/src/lambda-handler.ts @@ -8,7 +8,7 @@ import { CloudFrontClient, CreateInvalidationCommand, } from "@aws-sdk/client-cloudfront"; -import { getImageLinksPlaywright } from "./main"; +import { getImageLinksPlaywright, getPexelsFeaturedUploadsUrl } from "./main"; const s3Client = new S3Client({ region: "us-west-2" }); const cloudfrontClient = new CloudFrontClient({ region: "us-west-2" }); @@ -24,8 +24,7 @@ export async function handler( ): Promise { console.log("Lambda handler started"); try { - const pexelsUrl = - "https://www.pexels.com/@perry-z-1662054943/featured-uploads/"; + const pexelsUrl = getPexelsFeaturedUploadsUrl(); console.log(`Fetching images from: ${pexelsUrl}`); const imageLinks = await getImageLinksPlaywright(pexelsUrl); diff --git a/scripts/src/main.ts b/scripts/src/main.ts index f7507ab..d47321d 100644 --- a/scripts/src/main.ts +++ b/scripts/src/main.ts @@ -5,6 +5,20 @@ interface ImageData { images: string[]; } +const PEXELS_FEATURED_UPLOADS_URL_ENV = "PEXELS_FEATURED_UPLOADS_URL"; + +function getPexelsFeaturedUploadsUrl(): string { + const pexelsUrl = process.env[PEXELS_FEATURED_UPLOADS_URL_ENV]?.trim(); + + if (!pexelsUrl) { + throw new Error( + `${PEXELS_FEATURED_UPLOADS_URL_ENV} environment variable is required`, + ); + } + + return pexelsUrl; +} + async function findLoadMoreButton( page: Page, ): Promise | null> { @@ -223,8 +237,7 @@ function saveLinksToJson(links: string[], filename: string): void { } async function main(): Promise { - const pexelsUrl = - "https://www.pexels.com/@perry-z-1662054943/featured-uploads/"; + const pexelsUrl = getPexelsFeaturedUploadsUrl(); const links = await getImageLinksPlaywright(pexelsUrl); if (links && links.length > 0) { @@ -245,4 +258,9 @@ if (require.main === module) { main().catch(console.error); } -export { getImageLinksPlaywright, saveLinksToJson, findLoadMoreButton }; +export { + getImageLinksPlaywright, + getPexelsFeaturedUploadsUrl, + saveLinksToJson, + findLoadMoreButton, +};