@mxpicture/gcp-functions-generator 1.1.43 → 1.1.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,6 +4,7 @@ export * from "./Directories.js";
4
4
  export * from "./Extractor.js";
5
5
  export * from "./file.common.js";
6
6
  export * from "./generator.common.js";
7
+ export * from "./job.common.js";
7
8
  export * from "./string.common.js";
8
9
  export * from "./types.common.js";
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
@@ -5,6 +5,7 @@ export * from "./Directories.js";
5
5
  export * from "./Extractor.js";
6
6
  export * from "./file.common.js";
7
7
  export * from "./generator.common.js";
8
+ export * from "./job.common.js";
8
9
  export * from "./string.common.js";
9
10
  export * from "./types.common.js";
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { GeneratorEnv, JobConfig, JobParams } from "./types.common.js";
2
+ export declare const runSchedulerJobSetup: (params: JobParams, env: GeneratorEnv) => Promise<void>;
3
+ export declare const upsertSchedulerJob: (config: JobConfig) => Promise<void>;
4
+ export declare const ensureRunInvoker: (config: JobConfig) => Promise<void>;
5
+ //# sourceMappingURL=job.common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job.common.d.ts","sourceRoot":"","sources":["../../src/common/job.common.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAwBvE,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,SAAS,EACjB,KAAK,YAAY,kBAKlB,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAU,QAAQ,SAAS,kBA6DzD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAU,QAAQ,SAAS,kBA2CvD,CAAC"}
@@ -0,0 +1,123 @@
1
+ import { CloudSchedulerClient } from "@google-cloud/scheduler";
2
+ import { GoogleAuth } from "google-auth-library";
3
+ import { google } from "googleapis";
4
+ const prepareConfig = (params, env) => {
5
+ const { projectId, region, serviceAccount } = env;
6
+ // If you prefer not to hardcode URL, pass FUNCTION_URL explicitly after deploy.
7
+ const functionUrl = params.functionUrl ??
8
+ `https://${region}-${projectId}.cloudfunctions.net/${params.runServiceName}`;
9
+ return {
10
+ projectId,
11
+ region,
12
+ serviceAccount,
13
+ jobId: params.jobId ?? `${params.runServiceName}-job`,
14
+ schedule: params.schedule ?? "0 * * * *", // hourly by default
15
+ timeZone: params.timeZone ?? "Etc/UTC",
16
+ functionUrl,
17
+ ensureRunInvokerBinding: !!params.ensureRunInvokerBinding,
18
+ runServiceName: params.runServiceName,
19
+ runServiceRegion: region,
20
+ };
21
+ };
22
+ export const runSchedulerJobSetup = async (params, env) => {
23
+ const config = prepareConfig(params, env);
24
+ if (params.ensureRunInvokerBinding)
25
+ await ensureRunInvoker(config);
26
+ await upsertSchedulerJob(config);
27
+ };
28
+ export const upsertSchedulerJob = async (config) => {
29
+ const client = new CloudSchedulerClient();
30
+ const parent = client.locationPath(config.projectId, config.region);
31
+ const jobName = client.jobPath(config.projectId, config.region, config.jobId);
32
+ // Cloud Scheduler Job definition (HTTP + OIDC, no body needed)
33
+ const job = {
34
+ name: jobName,
35
+ schedule: config.schedule,
36
+ timeZone: config.timeZone,
37
+ httpTarget: {
38
+ uri: config.functionUrl,
39
+ httpMethod: "POST",
40
+ headers: {
41
+ "Content-Type": "application/json",
42
+ },
43
+ // No body. (Cloud Scheduler requires base64 body if provided; we omit.)
44
+ oidcToken: {
45
+ serviceAccountEmail: config.serviceAccount,
46
+ audience: config.functionUrl, // IMPORTANT: must match what your function verifies
47
+ },
48
+ },
49
+ };
50
+ // Check if job exists
51
+ let exists = false;
52
+ try {
53
+ await client.getJob({ name: jobName });
54
+ exists = true;
55
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
+ }
57
+ catch (e) {
58
+ // If not found => create
59
+ const msg = String(e?.message ?? e);
60
+ if (!msg.toLowerCase().includes("not found"))
61
+ throw e;
62
+ }
63
+ if (!exists) {
64
+ console.log(`Creating Cloud Scheduler job: ${jobName}`);
65
+ await client.createJob({ parent, job });
66
+ console.log("Created.");
67
+ return;
68
+ }
69
+ console.log(`Updating Cloud Scheduler job: ${jobName}`);
70
+ // Update only relevant fields; use updateMask for idempotent patching
71
+ await client.updateJob({
72
+ job,
73
+ updateMask: {
74
+ paths: [
75
+ "schedule",
76
+ "time_zone",
77
+ "http_target.uri",
78
+ "http_target.http_method",
79
+ "http_target.headers",
80
+ "http_target.oidc_token.service_account_email",
81
+ "http_target.oidc_token.audience",
82
+ ],
83
+ },
84
+ });
85
+ console.log("Updated.");
86
+ };
87
+ export const ensureRunInvoker = async (config) => {
88
+ // Use GoogleAuth and pass it as `auth` to each request (no google.options()).
89
+ const auth = new GoogleAuth({
90
+ scopes: ["https://www.googleapis.com/auth/cloud-platform"],
91
+ });
92
+ const run = google.run("v2");
93
+ const resource = `projects/${config.projectId}/locations/${config.runServiceRegion}/services/${config.runServiceName}`;
94
+ // Get existing IAM policy
95
+ const getResp = await run.projects.locations.services.getIamPolicy({
96
+ resource,
97
+ auth, // <-- this is accepted by googleapis types
98
+ });
99
+ const policy = getResp.data;
100
+ policy.bindings = policy.bindings ?? [];
101
+ const member = `serviceAccount:${config.serviceAccount}`;
102
+ const role = "roles/run.invoker";
103
+ const binding = policy.bindings.find((b) => b.role === role);
104
+ const alreadyBound = binding?.members?.includes(member);
105
+ if (alreadyBound) {
106
+ console.log(`IAM already includes ${member} -> ${role} on ${resource}`);
107
+ return;
108
+ }
109
+ if (binding) {
110
+ binding.members = Array.from(new Set([...(binding.members ?? []), member]));
111
+ }
112
+ else {
113
+ policy.bindings.push({ role, members: [member] });
114
+ }
115
+ console.log(`Setting IAM policy: add ${member} -> ${role} on ${resource}`);
116
+ await run.projects.locations.services.setIamPolicy({
117
+ resource,
118
+ auth, // <-- pass auth here too
119
+ requestBody: { policy },
120
+ });
121
+ console.log("IAM updated.");
122
+ };
123
+ //# sourceMappingURL=job.common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job.common.js","sourceRoot":"","sources":["../../src/common/job.common.ts"],"names":[],"mappings":"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"}
@@ -27,9 +27,31 @@ export interface TargetPackage {
27
27
  * Environment variables required by generators that produce deployment-aware code.
28
28
  */
29
29
  export interface GeneratorEnv {
30
+ projectId: string;
30
31
  /** The GCP region for Cloud Functions deployment. */
31
32
  region: string;
32
33
  /** The GCP service account email used by Cloud Functions. */
33
34
  serviceAccount: string;
34
35
  }
36
+ export interface JobConfig {
37
+ projectId: string;
38
+ region: string;
39
+ serviceAccount: string;
40
+ jobId: string;
41
+ schedule: string;
42
+ timeZone: string;
43
+ functionUrl: string;
44
+ ensureRunInvokerBinding: boolean;
45
+ runServiceName: string;
46
+ runServiceRegion: string;
47
+ }
48
+ export interface JobParams {
49
+ jobId?: string;
50
+ schedule?: string;
51
+ timeZone?: string;
52
+ functionUrl?: string;
53
+ ensureRunInvokerBinding?: boolean;
54
+ runServiceName: string;
55
+ runServiceRegion: string;
56
+ }
35
57
  //# sourceMappingURL=types.common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.common.d.ts","sourceRoot":"","sources":["../../src/common/types.common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACf,MAAM,2CAA2C,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,IAAI,EAAE,YAAY,CAAC;IACnB,yCAAyC;IACzC,GAAG,EAAE,iBAAiB,CAAC;IACvB,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,cAAc,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,WAAW,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,cAAc,EAAE,MAAM,CAAC;CACxB"}
1
+ {"version":3,"file":"types.common.d.ts","sourceRoot":"","sources":["../../src/common/types.common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACf,MAAM,2CAA2C,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,IAAI,EAAE,YAAY,CAAC;IACnB,yCAAyC;IACzC,GAAG,EAAE,iBAAiB,CAAC;IACvB,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,cAAc,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,WAAW,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IAEpB,uBAAuB,EAAE,OAAO,CAAC;IAEjC,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mxpicture/gcp-functions-generator",
3
- "version": "1.1.43",
3
+ "version": "1.1.44",
4
4
  "description": "Tools for google cloud functions",
5
5
  "type": "module",
6
6
  "author": "MXPicture",
@@ -33,10 +33,13 @@
33
33
  "access": "public"
34
34
  },
35
35
  "dependencies": {
36
+ "@google-cloud/scheduler": "^5.3.1",
36
37
  "@mxpicture/build-api": "^0.2.59",
37
- "@mxpicture/gcp-functions-backend": "^1.1.43",
38
- "@mxpicture/gcp-functions-common": "^1.1.43",
39
- "@mxpicture/gcp-functions-frontend": "^1.1.43"
38
+ "@mxpicture/gcp-functions-backend": "^1.1.44",
39
+ "@mxpicture/gcp-functions-common": "^1.1.44",
40
+ "@mxpicture/gcp-functions-frontend": "^1.1.44",
41
+ "google-auth-library": "^10.6.2",
42
+ "googleapis": "^171.4.0"
40
43
  },
41
44
  "devDependencies": {
42
45
  "@types/node": "^25.2.3",