From fb699dabaa9180bb791c0a13a85ea8842659e39c Mon Sep 17 00:00:00 2001 From: Jeydin21 Date: Wed, 31 Dec 2025 16:23:26 -0600 Subject: [PATCH 1/2] refactor: Add local deployment handler that will deploy ALL endpoints --- package.json | 11 +---------- tests/deploy.ts | 38 ++++++++++++++++++++++++++++++++++++++ tsconfig.json | 4 ++-- 3 files changed, 41 insertions(+), 12 deletions(-) create mode 100644 tests/deploy.ts diff --git a/package.json b/package.json index 87e835f..d4369e7 100644 --- a/package.json +++ b/package.json @@ -15,16 +15,7 @@ "main": "dist/index.js", "scripts": { "build": "tsc", - "dev": "npm run build && functions-framework --target=getOfficers --source=dist --port=8080", - "dev:getOfficers": "npm run build && functions-framework --target=getOfficers --source=dist --port=8080", - "dev:getOfficer": "npm run build && functions-framework --target=getOfficer --source=dist --port=8080", - "dev:createOfficer": "npm run build && functions-framework --target=createOfficer --source=dist --port=8080", - "dev:updateOfficer": "npm run build && functions-framework --target=updateOfficer --source=dist --port=8080", - "dev:deleteOfficer": "npm run build && functions-framework --target=deleteOfficer --source=dist --port=8080", - "dev:uploadOfficerPhoto": "npm run build && functions-framework --target=uploadOfficerPhoto --source=dist --port=8080", - "dev:uploadOfficerResume": "npm run build && functions-framework --target=uploadOfficerResume --source=dist --port=8080", - "dev:getOfficerResume": "npm run build && functions-framework --target=getOfficerResume --source=dist --port=8080", - "start": "node dist/server.js" + "dev": "npm run build && node dist/local.js" }, "dependencies": { "@google-cloud/functions-framework": "^4.0.0", diff --git a/tests/deploy.ts b/tests/deploy.ts new file mode 100644 index 0000000..da6d52d --- /dev/null +++ b/tests/deploy.ts @@ -0,0 +1,38 @@ +import express from 'express'; + +import { + createOfficer, + deleteOfficer, + getOfficer, + getOfficerResume, + getOfficers, + updateOfficer, + uploadOfficerPhoto, + uploadOfficerResume, +} from '../src/functions'; + +const app = express(); + +app.use(express.json({ limit: '10mb' })); +app.use(express.urlencoded({ extended: true })); + +const handlers: Record = { + createOfficer, + deleteOfficer, + getOfficer, + getOfficerResume, + getOfficers, + updateOfficer, + uploadOfficerPhoto, + uploadOfficerResume +}; + +Object.entries(handlers).forEach(([name, handler]) => { + app.all(`/${name}`, handler); +}); + +const port = Number(process.env.PORT || 8080); +app.listen(port, () => { + console.log(`Local functions running on http://localhost:${port}`); + console.log('Endpoints:', Object.keys(handlers).map((name) => `/${name}`).join(', ')); +}); \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index fcf49de..25c2b90 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -11,10 +11,10 @@ "resolveJsonModule": true, }, "include": [ - "src/**/*", - "tests/**/*" + "src/**/*" ], "exclude": [ + "tests", "node_modules", "dist" ] From 777bd0cc1a0bfaa1304c86d01ea244b0480856ec Mon Sep 17 00:00:00 2001 From: Jeydin21 Date: Wed, 31 Dec 2025 16:31:41 -0600 Subject: [PATCH 2/2] refactor: Fix TypeScript project settings and deploy script --- package-lock.json | 2 -- package.json | 2 +- tsconfig.json | 6 +++--- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 10ceff3..d0253c7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1391,7 +1391,6 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.18.8.tgz", "integrity": "sha512-pAZSHMiagDR7cARo/cch1f3rXy0AEXwsVsVH09FcyeJVAzCnGgmYis7P3JidtTUjyadhTeSo8TgRPswstghDaw==", "license": "MIT", - "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -4414,7 +4413,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/package.json b/package.json index d4369e7..0fe062c 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "main": "dist/index.js", "scripts": { "build": "tsc", - "dev": "npm run build && node dist/local.js" + "dev": "npm run build && node dist/tests/deploy.js" }, "dependencies": { "@google-cloud/functions-framework": "^4.0.0", diff --git a/tsconfig.json b/tsconfig.json index 25c2b90..7ae23ac 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,7 +2,7 @@ "compilerOptions": { "target": "ES2020", "module": "CommonJS", - "rootDir": "src", + "rootDir": ".", "outDir": "dist", "strict": true, "esModuleInterop": true, @@ -11,10 +11,10 @@ "resolveJsonModule": true, }, "include": [ - "src/**/*" + "src/**/*", + "tests/**/*" ], "exclude": [ - "tests", "node_modules", "dist" ]