@mxpicture/gcp-functions-generator 1.1.43 → 1.1.45

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.
@@ -1 +1 @@
1
- {"version":3,"file":"template.settings.d.ts","sourceRoot":"","sources":["../../../src/4testing/templates/template.settings.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,UAAU,+DAwCnB,CAAC"}
1
+ {"version":3,"file":"template.settings.d.ts","sourceRoot":"","sources":["../../../src/4testing/templates/template.settings.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,UAAU,+DA2CnB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { createDecorator, decoBoolean, decoDate, DecoDateType, decoNumber, decoString, } from "@mxpicture/gcp-functions-common/decorator";
1
+ import { createDecorator, decoBoolean, decoDate, DecoDateType, decoEnum, decoNumber, decoString, } from "@mxpicture/gcp-functions-common/decorator";
2
2
  import { fileURLToPath } from "url";
3
3
  const decorator = createDecorator(fileURLToPath(import.meta.url));
4
4
  export const medication = decorator("Settings")
@@ -41,5 +41,8 @@ export const medication = decorator("Settings")
41
41
  testDate2: decoDate()
42
42
  .title("date2")
43
43
  .default(DecoDateType.now, -10),
44
+ testEnum1: decoEnum()
45
+ .title("enum1")
46
+ .values("hello", "world", "chewie"),
44
47
  });
45
48
  //# sourceMappingURL=template.settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template.settings.js","sourceRoot":"","sources":["../../../src/4testing/templates/template.settings.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,UAAU,GACX,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,SAAS,GAAG,eAAe,CAC/B,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;KAC5C,KAAK,CAAC,UAAU,CAAC;KACjB,SAAS,CAAC,QAAQ,CAAC;KACnB,IAAI,EAAE;KACN,UAAU,EAAE;KACZ,UAAU,CAAC;IACV,EAAE,EAAE,UAAU,EAAE;SACb,GAAG,EAAE;SACL,KAAK,CAAC,YAAY,CAAC;SACnB,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzB,UAAU,EAAE,QAAQ,EAAE;SACnB,QAAQ,EAAE;SACV,KAAK,CAAC,YAAY,CAAC;SACnB,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzB,UAAU,EAAE,QAAQ,EAAE;SACnB,QAAQ,EAAE;SACV,KAAK,CAAC,WAAW,CAAC;SAClB,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzB,MAAM,EAAE,WAAW,EAAE;SAClB,KAAK,CAAC,QAAQ,CAAC;SACf,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,EAAE;IACb,IAAI,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvD,IAAI,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvD,WAAW,EAAE,UAAU,EAAE;SACtB,KAAK,CAAC,QAAQ,CAAC;SACf,QAAQ,EAAE;SACV,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,EAAE;IACb,WAAW,EAAE,UAAU,EAAE;SACtB,KAAK,CAAC,QAAQ,CAAC;SACf,QAAQ,EAAE;SACV,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,EAAE;IACb,SAAS,EAAE,QAAQ,EAAE;SAClB,KAAK,CAAC,OAAO,CAAC;SACd,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/B,SAAS,EAAE,QAAQ,EAAE;SAClB,KAAK,CAAC,OAAO,CAAC;SACd,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;CAClC,CAAC,CAAC"}
1
+ {"version":3,"file":"template.settings.js","sourceRoot":"","sources":["../../../src/4testing/templates/template.settings.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,UAAU,GACX,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,SAAS,GAAG,eAAe,CAC/B,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;KAC5C,KAAK,CAAC,UAAU,CAAC;KACjB,SAAS,CAAC,QAAQ,CAAC;KACnB,IAAI,EAAE;KACN,UAAU,EAAE;KACZ,UAAU,CAAC;IACV,EAAE,EAAE,UAAU,EAAE;SACb,GAAG,EAAE;SACL,KAAK,CAAC,YAAY,CAAC;SACnB,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzB,UAAU,EAAE,QAAQ,EAAE;SACnB,QAAQ,EAAE;SACV,KAAK,CAAC,YAAY,CAAC;SACnB,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzB,UAAU,EAAE,QAAQ,EAAE;SACnB,QAAQ,EAAE;SACV,KAAK,CAAC,WAAW,CAAC;SAClB,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzB,MAAM,EAAE,WAAW,EAAE;SAClB,KAAK,CAAC,QAAQ,CAAC;SACf,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,EAAE;IACb,IAAI,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvD,IAAI,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvD,WAAW,EAAE,UAAU,EAAE;SACtB,KAAK,CAAC,QAAQ,CAAC;SACf,QAAQ,EAAE;SACV,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,EAAE;IACb,WAAW,EAAE,UAAU,EAAE;SACtB,KAAK,CAAC,QAAQ,CAAC;SACf,QAAQ,EAAE;SACV,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,EAAE;IACb,SAAS,EAAE,QAAQ,EAAE;SAClB,KAAK,CAAC,OAAO,CAAC;SACd,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/B,SAAS,EAAE,QAAQ,EAAE;SAClB,KAAK,CAAC,OAAO,CAAC;SACd,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;IACjC,SAAS,EAAE,QAAQ,EAAE;SAClB,KAAK,CAAC,OAAO,CAAC;SACd,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;CACtC,CAAC,CAAC"}
@@ -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"}
@@ -0,0 +1,19 @@
1
+ import { Generator, GeneratorCode, GeneratorRunItem } from "./Generator.js";
2
+ import { AnnotationsProperty, DecoPropertyBase } from "@mxpicture/gcp-functions-common/types";
3
+ /**
4
+ * Generator that produces Zod validation schemas and shape objects from decorator annotations.
5
+ *
6
+ * @remarks
7
+ * Targets the `backend` package and outputs a `shape` object, a type-validation
8
+ * constant, and a `schema` built with `z.object(shape)`. Supports number, string,
9
+ * boolean, date, array, object, and key property types.
10
+ */
11
+ export declare class GeneratorEnum extends Generator {
12
+ constructor();
13
+ protected runHeader(current: GeneratorRunItem): Promise<GeneratorCode | null>;
14
+ protected buildEnum(property: AnnotationsProperty<DecoPropertyBase>): string[];
15
+ protected buildEnums(properties: AnnotationsProperty<DecoPropertyBase>[]): string[];
16
+ }
17
+ declare const _default: GeneratorEnum;
18
+ export default _default;
19
+ //# sourceMappingURL=GeneratorEnum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeneratorEnum.d.ts","sourceRoot":"","sources":["../../src/generator/GeneratorEnum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAS5E,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,uCAAuC,CAAC;AAG/C;;;;;;;GAOG;AACH,qBAAa,aAAc,SAAQ,SAAS;;cAUjB,SAAS,CAChC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAUhC,SAAS,CAAC,SAAS,CACjB,QAAQ,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAC9C,MAAM,EAAE;IAUX,SAAS,CAAC,UAAU,CAClB,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,GAClD,MAAM,EAAE;CAKZ;;AAED,wBAAmC"}
@@ -0,0 +1,44 @@
1
+ import { Generator } from "./Generator.js";
2
+ import { Collector } from "../common/Collector.js";
3
+ import { castDecoEnum, DecoFileExtension, DecoFileType, DecoPropertyType, DecoTargetType, } from "@mxpicture/gcp-functions-common/decorator";
4
+ import { upperFirstLetter } from "../common/string.common.js";
5
+ /**
6
+ * Generator that produces Zod validation schemas and shape objects from decorator annotations.
7
+ *
8
+ * @remarks
9
+ * Targets the `backend` package and outputs a `shape` object, a type-validation
10
+ * constant, and a `schema` built with `z.object(shape)`. Supports number, string,
11
+ * boolean, date, array, object, and key property types.
12
+ */
13
+ export class GeneratorEnum extends Generator {
14
+ constructor() {
15
+ super(DecoFileType.enum, DecoFileExtension.ts, DecoTargetType.common, Collector.instance());
16
+ }
17
+ async runHeader(current) {
18
+ const header = current.decorator.extractAnnotations();
19
+ if (header.properties.length === 0)
20
+ return null;
21
+ return {
22
+ code: this.buildEnums(header.properties),
23
+ imports: [],
24
+ name: header.name,
25
+ };
26
+ }
27
+ buildEnum(property) {
28
+ const data = castDecoEnum(property.data);
29
+ if (!data)
30
+ return [];
31
+ return [
32
+ `export enum ${upperFirstLetter(property.propertyKey)}Enum {`,
33
+ ...data.values.map((d) => ` ${d} = "${d}",`),
34
+ "};",
35
+ ];
36
+ }
37
+ buildEnums(properties) {
38
+ return properties
39
+ .filter((prop) => prop.data.type === DecoPropertyType.enum)
40
+ .flatMap((prop) => this.buildEnum(prop));
41
+ }
42
+ }
43
+ export default new GeneratorEnum();
44
+ //# sourceMappingURL=GeneratorEnum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeneratorEnum.js","sourceRoot":"","sources":["../../src/generator/GeneratorEnum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmC,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,cAAc,GACf,MAAM,2CAA2C,CAAC;AAKnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D;;;;;;;GAOG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1C;QACE,KAAK,CACH,YAAY,CAAC,IAAI,EACjB,iBAAiB,CAAC,EAAE,EACpB,cAAc,CAAC,MAAM,EACrB,SAAS,CAAC,QAAQ,EAAE,CACrB,CAAC;IACJ,CAAC;IAEkB,KAAK,CAAC,SAAS,CAChC,OAAyB;QAEzB,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;QACtD,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAChD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC;YACxC,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC;IACJ,CAAC;IAES,SAAS,CACjB,QAA+C;QAE/C,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,OAAO;YACL,eAAe,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ;YAC7D,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAC7C,IAAI;SACL,CAAC;IACJ,CAAC;IAES,UAAU,CAClB,UAAmD;QAEnD,OAAO,UAAU;aACd,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI,CAAC;aAC1D,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;CACF;AAED,eAAe,IAAI,aAAa,EAAE,CAAC"}
@@ -31,6 +31,7 @@ export declare class GeneratorZod extends Generator {
31
31
  protected buildObject(_prop: AnnotationsProperty<DecoPropertyBase>): string | null;
32
32
  protected buildDate(_prop: AnnotationsProperty<DecoPropertyBase>): string | null;
33
33
  protected buildBoolean(_prop: AnnotationsProperty<DecoPropertyBase>): string | null;
34
+ protected buildEnum(_prop: AnnotationsProperty<DecoPropertyBase>): string | null;
34
35
  }
35
36
  declare const _default: GeneratorZod;
36
37
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"GeneratorZod.d.ts","sourceRoot":"","sources":["../../src/generator/GeneratorZod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE5E,OAAO,EAUL,SAAS,EAEV,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EACjB,MAAM,uCAAuC,CAAC;AAE/C;;;;;;;GAOG;AACH,qBAAa,YAAa,SAAQ,SAAS;IACzC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IAC5C,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAK;;cAWjB,SAAS,CAChC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IA2BhC,SAAS,CAAC,MAAM,IAAI,IAAI;IAIxB,SAAS,CAAC,IAAI,IAAI,UAAU,EAAE;IAY9B,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,GAAG,MAAM;IAKxD,SAAS,CAAC,UAAU,CAClB,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,EACnD,KAAK,EAAE,SAAS,GACf,MAAM,EAAE;IAcX,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE;IAMzD,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE;IAMlD,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE;IAMjD,SAAS,CAAC,aAAa,CACrB,IAAI,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAC1C,MAAM,GAAG,IAAI;IAchB,SAAS,CAAC,WAAW,CACnB,KAAK,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAC3C,MAAM,GAAG,IAAI;IAahB,SAAS,CAAC,QAAQ,CAChB,KAAK,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAC3C,MAAM,GAAG,IAAI;IAMhB,SAAS,CAAC,eAAe,CACvB,KAAK,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAC3C,MAAM,GAAG,IAAI;IAMhB,SAAS,CAAC,eAAe,CACvB,KAAK,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAC3C,MAAM,GAAG,IAAI;IAMhB,SAAS,CAAC,WAAW,CACnB,KAAK,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAC3C,MAAM,GAAG,IAAI;IAYhB,SAAS,CAAC,UAAU,CAClB,KAAK,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAC3C,MAAM,GAAG,IAAI;IAchB,SAAS,CAAC,WAAW,CACnB,KAAK,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAC3C,MAAM,GAAG,IAAI;IAShB,SAAS,CAAC,SAAS,CACjB,KAAK,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAC3C,MAAM,GAAG,IAAI;IAMhB,SAAS,CAAC,YAAY,CACpB,KAAK,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAC3C,MAAM,GAAG,IAAI;CAKjB;;AAED,wBAAkC"}
1
+ {"version":3,"file":"GeneratorZod.d.ts","sourceRoot":"","sources":["../../src/generator/GeneratorZod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE5E,OAAO,EAWL,SAAS,EAEV,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EACjB,MAAM,uCAAuC,CAAC;AAG/C;;;;;;;GAOG;AACH,qBAAa,YAAa,SAAQ,SAAS;IACzC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IAC5C,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAK;;cAWjB,SAAS,CAChC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IA2BhC,SAAS,CAAC,MAAM,IAAI,IAAI;IAIxB,SAAS,CAAC,IAAI,IAAI,UAAU,EAAE;IAY9B,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,GAAG,MAAM;IAKxD,SAAS,CAAC,UAAU,CAClB,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,EACnD,KAAK,EAAE,SAAS,GACf,MAAM,EAAE;IAcX,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE;IAMzD,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE;IAMlD,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE;IAMjD,SAAS,CAAC,aAAa,CACrB,IAAI,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAC1C,MAAM,GAAG,IAAI;IAchB,SAAS,CAAC,WAAW,CACnB,KAAK,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAC3C,MAAM,GAAG,IAAI;IAahB,SAAS,CAAC,QAAQ,CAChB,KAAK,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAC3C,MAAM,GAAG,IAAI;IAMhB,SAAS,CAAC,eAAe,CACvB,KAAK,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAC3C,MAAM,GAAG,IAAI;IAMhB,SAAS,CAAC,eAAe,CACvB,KAAK,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAC3C,MAAM,GAAG,IAAI;IAMhB,SAAS,CAAC,WAAW,CACnB,KAAK,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAC3C,MAAM,GAAG,IAAI;IAYhB,SAAS,CAAC,UAAU,CAClB,KAAK,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAC3C,MAAM,GAAG,IAAI;IAchB,SAAS,CAAC,WAAW,CACnB,KAAK,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAC3C,MAAM,GAAG,IAAI;IAShB,SAAS,CAAC,SAAS,CACjB,KAAK,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAC3C,MAAM,GAAG,IAAI;IAMhB,SAAS,CAAC,YAAY,CACpB,KAAK,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAC3C,MAAM,GAAG,IAAI;IAMhB,SAAS,CAAC,SAAS,CACjB,KAAK,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAC3C,MAAM,GAAG,IAAI;CAKjB;;AAED,wBAAkC"}
@@ -1,6 +1,7 @@
1
1
  import { Generator } from "./Generator.js";
2
2
  import { Collector } from "../common/Collector.js";
3
- import { castDecoArray, castDecoBoolean, castDecoDate, castDecoKey, castDecoNumber, castDecoObject, castDecoString, DecoFileExtension, DecoFileType, DecoTargetType, } from "@mxpicture/gcp-functions-common/decorator";
3
+ import { castDecoArray, castDecoBoolean, castDecoDate, castDecoEnum, castDecoKey, castDecoNumber, castDecoObject, castDecoString, DecoFileExtension, DecoFileType, DecoTargetType, } from "@mxpicture/gcp-functions-common/decorator";
4
+ import json5 from "json5";
4
5
  /**
5
6
  * Generator that produces Zod validation schemas and shape objects from decorator annotations.
6
7
  *
@@ -172,6 +173,12 @@ export class GeneratorZod extends Generator {
172
173
  return null;
173
174
  return this.z("boolean");
174
175
  }
176
+ buildEnum(_prop) {
177
+ const prop = castDecoEnum(_prop.data);
178
+ if (!prop)
179
+ return null;
180
+ return `${this.z("enum")}(${json5.stringify(prop.values)})`;
181
+ }
175
182
  }
176
183
  export default new GeneratorZod();
177
184
  //# sourceMappingURL=GeneratorZod.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GeneratorZod.js","sourceRoot":"","sources":["../../src/generator/GeneratorZod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeneratorZod.js","sourceRoot":"","sources":["../../src/generator/GeneratorZod.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ export * from "./Generator.js";
2
2
  export * from "./GeneratorAnnotations.js";
3
3
  export * from "./GeneratorBackend.js";
4
4
  export * from "./GeneratorDoc.js";
5
+ export * from "./GeneratorEnum.js";
5
6
  export * from "./GeneratorFrontend.js";
6
7
  export * from "./GeneratorRoutes.js";
7
8
  export * from "./GeneratorZod.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AACA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AACA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC"}
@@ -3,6 +3,7 @@ export * from "./Generator.js";
3
3
  export * from "./GeneratorAnnotations.js";
4
4
  export * from "./GeneratorBackend.js";
5
5
  export * from "./GeneratorDoc.js";
6
+ export * from "./GeneratorEnum.js";
6
7
  export * from "./GeneratorFrontend.js";
7
8
  export * from "./GeneratorRoutes.js";
8
9
  export * from "./GeneratorZod.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC"}
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.45",
4
4
  "description": "Tools for google cloud functions",
5
5
  "type": "module",
6
6
  "author": "MXPicture",
@@ -33,10 +33,14 @@
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.45",
39
+ "@mxpicture/gcp-functions-common": "^1.1.45",
40
+ "@mxpicture/gcp-functions-frontend": "^1.1.45",
41
+ "google-auth-library": "^10.6.2",
42
+ "googleapis": "^171.4.0",
43
+ "json5": "^2.2.3"
40
44
  },
41
45
  "devDependencies": {
42
46
  "@types/node": "^25.2.3",