@memberjunction/codegen-lib 5.42.0 → 5.43.0
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.
- package/README.md +1 -1
- package/dist/Config/config.d.ts +132 -7
- package/dist/Config/config.d.ts.map +1 -1
- package/dist/Config/config.js +186 -11
- package/dist/Config/config.js.map +1 -1
- package/dist/Config/db-connection.d.ts +13 -0
- package/dist/Config/db-connection.d.ts.map +1 -1
- package/dist/Config/db-connection.js +19 -6
- package/dist/Config/db-connection.js.map +1 -1
- package/dist/Config/pg-connection.d.ts +58 -0
- package/dist/Config/pg-connection.d.ts.map +1 -0
- package/dist/Config/pg-connection.js +100 -0
- package/dist/Config/pg-connection.js.map +1 -0
- package/dist/Database/codeGenDatabaseProvider.d.ts +65 -1
- package/dist/Database/codeGenDatabaseProvider.d.ts.map +1 -1
- package/dist/Database/codeGenDatabaseProvider.js +27 -0
- package/dist/Database/codeGenDatabaseProvider.js.map +1 -1
- package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts +23 -1
- package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts.map +1 -1
- package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js +58 -4
- package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js.map +1 -1
- package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts +13 -1
- package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts.map +1 -1
- package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js +39 -3
- package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js.map +1 -1
- package/dist/Misc/remote_operations_codegen.d.ts +54 -0
- package/dist/Misc/remote_operations_codegen.d.ts.map +1 -0
- package/dist/Misc/remote_operations_codegen.js +186 -0
- package/dist/Misc/remote_operations_codegen.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/runCodeGen.d.ts +16 -26
- package/dist/runCodeGen.d.ts.map +1 -1
- package/dist/runCodeGen.js +49 -87
- package/dist/runCodeGen.js.map +1 -1
- package/package.json +20 -20
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { mkdirSync } from 'fs';
|
|
4
|
+
import { logError } from './status_logging.js';
|
|
5
|
+
/**
|
|
6
|
+
* Items imported into EVERY generated Remote Operation file that contains an AI/Default body, so an authored
|
|
7
|
+
* body can use them with no declaration — the RO analog of the Generated-Actions "System Libraries" set. The
|
|
8
|
+
* generation prompt (`remote-operation-generation.template.md`) advertises the same defaults, so the model
|
|
9
|
+
* never declares them. All are exported by `@memberjunction/core`.
|
|
10
|
+
*/
|
|
11
|
+
export const DEFAULT_REMOTE_OP_LIBRARY_ITEMS = ['RunView', 'Metadata', 'RunQuery'];
|
|
12
|
+
/**
|
|
13
|
+
* Generates the strongly-typed base class for each `MJ: Remote Operations` row — the CodeGen half of the
|
|
14
|
+
* Remote Operations primitive (the typed peer of generated entity subclasses). Each row becomes a subclass
|
|
15
|
+
* of `BaseRemotableOperation<TInput, TOutput>` whose `OperationKey`, `ExecutionMode`, `RequiredScope`,
|
|
16
|
+
* `RequiresSystemUser`, and `TInput`/`TOutput` interfaces are derived entirely from the metadata.
|
|
17
|
+
*
|
|
18
|
+
* Output shape depends on the operation's `GenerationType`:
|
|
19
|
+
* - **Manual** → a typed SHELL (no body, no `@RegisterClass`). A hand-authored server subclass extends this
|
|
20
|
+
* base, supplies `InternalExecute`, and registers under the key. The base provides the typed contract the
|
|
21
|
+
* browser imports (so it never pulls the server engine).
|
|
22
|
+
* - **AI / Default** (with `CodeApprovalStatus = 'Approved'` and non-empty `Code`) → a COMPLETE class:
|
|
23
|
+
* `@RegisterClass(BaseRemotableOperation, key)` plus an `InternalExecute` body emitted from `Code`. No
|
|
24
|
+
* hand-authored subclass is needed.
|
|
25
|
+
*
|
|
26
|
+
* Mirrors `ActionSubClassGeneratorBase` (the other "read a custom entity's rows → emit TypeScript" generator).
|
|
27
|
+
*/
|
|
28
|
+
export class RemoteOperationGeneratorBase {
|
|
29
|
+
/**
|
|
30
|
+
* Emits `remote_operations.ts` into `directory`, one typed base per Active operation.
|
|
31
|
+
* @param remoteOps All `MJ: Remote Operations` rows (any status; non-Active rows are skipped).
|
|
32
|
+
* @param directory The target output directory (resolved from the `RemoteOperations` output config).
|
|
33
|
+
*/
|
|
34
|
+
async generateRemoteOperations(remoteOps, directory) {
|
|
35
|
+
try {
|
|
36
|
+
const filePath = path.join(directory, 'remote_operations.ts');
|
|
37
|
+
// Active only, sorted by key for deterministic output (no git churn when nothing changed).
|
|
38
|
+
const active = remoteOps
|
|
39
|
+
.filter((o) => o.Status === 'Active')
|
|
40
|
+
.sort((a, b) => a.OperationKey.localeCompare(b.OperationKey));
|
|
41
|
+
const anyBody = active.some((o) => this.hasGeneratedBody(o));
|
|
42
|
+
const header = this.buildFileHeader(active, anyBody);
|
|
43
|
+
const typeDefs = this.collectTypeDefinitions(active);
|
|
44
|
+
const operations = active.map((o) => this.generateSingleOperation(o)).join('\n');
|
|
45
|
+
mkdirSync(directory, { recursive: true });
|
|
46
|
+
fs.writeFileSync(filePath, header + typeDefs + operations + '\n');
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
catch (e) {
|
|
50
|
+
logError('Error generating remote operations', e);
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/** True when the row carries an approved, generated body (so the emitted class is complete + registered). */
|
|
55
|
+
hasGeneratedBody(op) {
|
|
56
|
+
return ((op.GenerationType === 'AI' || op.GenerationType === 'Default') &&
|
|
57
|
+
op.CodeApprovalStatus === 'Approved' &&
|
|
58
|
+
!!op.Code &&
|
|
59
|
+
op.Code.trim().length > 0);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Emits every distinct Input/Output type definition ONCE (de-duped by content), as a shared block above
|
|
63
|
+
* the classes. Operations frequently share a type (e.g. the pause/resume/cancel control ops all use
|
|
64
|
+
* `ProcessRunControlInput`); emitting each op's definition inline would produce duplicate-identifier errors.
|
|
65
|
+
*/
|
|
66
|
+
collectTypeDefinitions(ops) {
|
|
67
|
+
const seen = new Set();
|
|
68
|
+
const blocks = [];
|
|
69
|
+
for (const op of ops) {
|
|
70
|
+
for (const def of [op.InputTypeDefinition, op.OutputTypeDefinition]) {
|
|
71
|
+
const trimmed = def?.trim();
|
|
72
|
+
if (trimmed && !seen.has(trimmed)) {
|
|
73
|
+
seen.add(trimmed);
|
|
74
|
+
blocks.push(trimmed);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return blocks.length ? blocks.join('\n\n') + '\n\n' : '';
|
|
79
|
+
}
|
|
80
|
+
/** Derives the TypeScript class name from the dotted key: `RecordProcess.RunNow` → `RecordProcessRunNowOperation`. */
|
|
81
|
+
operationClassName(operationKey) {
|
|
82
|
+
return (operationKey
|
|
83
|
+
.split('.')
|
|
84
|
+
.map((segment) => segment.charAt(0).toUpperCase() + segment.slice(1))
|
|
85
|
+
.join('') + 'Operation');
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* The file header: banner + the aggregated import set. A Manual-only file imports just
|
|
89
|
+
* `BaseRemotableOperation`. A file containing any AI/Default body also imports the body essentials
|
|
90
|
+
* (`IMetadataProvider`, `UserInfo`, `RegisterClass`), the {@link DEFAULT_REMOTE_OP_LIBRARY_ITEMS}, and
|
|
91
|
+
* every library each authored body declared in its `LibrariesObject` (de-duped + merged across operations).
|
|
92
|
+
*/
|
|
93
|
+
buildFileHeader(ops, anyBody) {
|
|
94
|
+
// library (package) -> set of imported items
|
|
95
|
+
const imports = new Map();
|
|
96
|
+
const add = (library, items) => {
|
|
97
|
+
if (!library)
|
|
98
|
+
return;
|
|
99
|
+
const set = imports.get(library) ?? new Set();
|
|
100
|
+
for (const item of items) {
|
|
101
|
+
if (item)
|
|
102
|
+
set.add(item);
|
|
103
|
+
}
|
|
104
|
+
imports.set(library, set);
|
|
105
|
+
};
|
|
106
|
+
add('@memberjunction/core', ['BaseRemotableOperation']);
|
|
107
|
+
if (anyBody) {
|
|
108
|
+
add('@memberjunction/core', ['IMetadataProvider', 'UserInfo', ...DEFAULT_REMOTE_OP_LIBRARY_ITEMS]);
|
|
109
|
+
add('@memberjunction/global', ['RegisterClass']);
|
|
110
|
+
for (const op of ops) {
|
|
111
|
+
if (this.hasGeneratedBody(op)) {
|
|
112
|
+
for (const lib of op.LibrariesObject ?? []) {
|
|
113
|
+
add(lib.Library, lib.ItemsUsed ?? []);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
// @memberjunction/core first, then the rest alphabetically — deterministic output across runs.
|
|
119
|
+
const importLines = [...imports.entries()]
|
|
120
|
+
.sort(([a], [b]) => (a === '@memberjunction/core' ? -1 : b === '@memberjunction/core' ? 1 : a.localeCompare(b)))
|
|
121
|
+
.map(([library, items]) => `import { ${[...items].sort().join(', ')} } from "${library}";`)
|
|
122
|
+
.join('\n');
|
|
123
|
+
return `/*************************************************
|
|
124
|
+
* GENERATED CODE - DO NOT MODIFY
|
|
125
|
+
* Generated by MemberJunction CodeGen — Remote Operation typed bases
|
|
126
|
+
*
|
|
127
|
+
* One typed base class per "MJ: Remote Operations" row (a subclass of BaseRemotableOperation),
|
|
128
|
+
* emitted from the operation's metadata: OperationKey, ExecutionMode, RequiredScope, and the raw
|
|
129
|
+
* TypeScript Input/Output type definitions. GenerationType=Manual rows emit a typed SHELL — a
|
|
130
|
+
* hand-authored server subclass (registered via @RegisterClass) supplies the InternalExecute body.
|
|
131
|
+
* GenerationType=AI/Default rows with Approved Code emit a complete, registered class whose body imports
|
|
132
|
+
* the default libraries plus whatever it declared in its Libraries metadata.
|
|
133
|
+
**************************************************/
|
|
134
|
+
${importLines}
|
|
135
|
+
|
|
136
|
+
`;
|
|
137
|
+
}
|
|
138
|
+
/** Emits one operation: its TInput/TOutput type definitions (verbatim) followed by the class. */
|
|
139
|
+
generateSingleOperation(op) {
|
|
140
|
+
const className = this.operationClassName(op.OperationKey);
|
|
141
|
+
const inputName = op.InputTypeName || 'unknown';
|
|
142
|
+
const outputName = op.OutputTypeName || 'unknown';
|
|
143
|
+
const banner = `// ============================================================\n` +
|
|
144
|
+
`// ${op.OperationKey} — ${op.Name}\n` +
|
|
145
|
+
`// ============================================================`;
|
|
146
|
+
const jsdoc = ` * ${op.Name}${op.Description ? '\n * ' + op.Description.replace(/\n/g, '\n * ') : ''}`;
|
|
147
|
+
const members = this.buildMembers(op);
|
|
148
|
+
if (this.hasGeneratedBody(op)) {
|
|
149
|
+
const body = op.Code.trim().replace(/\n/g, '\n ');
|
|
150
|
+
return `${banner}
|
|
151
|
+
/**
|
|
152
|
+
${jsdoc}
|
|
153
|
+
* GenerationType=${op.GenerationType} — body emitted from approved Code (no hand-authored subclass needed).
|
|
154
|
+
*/
|
|
155
|
+
@RegisterClass(BaseRemotableOperation, ${JSON.stringify(op.OperationKey)})
|
|
156
|
+
export class ${className} extends BaseRemotableOperation<${inputName}, ${outputName}> {
|
|
157
|
+
${members}
|
|
158
|
+
|
|
159
|
+
protected async InternalExecute(input: ${inputName}, provider: IMetadataProvider, user: UserInfo): Promise<${outputName}> {
|
|
160
|
+
${body}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
`;
|
|
164
|
+
}
|
|
165
|
+
// Manual (or not-yet-approved) → typed shell; a hand-authored subclass supplies the body + @RegisterClass.
|
|
166
|
+
return `${banner}
|
|
167
|
+
/**
|
|
168
|
+
${jsdoc}
|
|
169
|
+
* GenerationType=${op.GenerationType} — the server body is supplied by a hand-authored subclass registered
|
|
170
|
+
* under '${op.OperationKey}'. This generated base provides the typed contract only (client-safe).
|
|
171
|
+
*/
|
|
172
|
+
export class ${className} extends BaseRemotableOperation<${inputName}, ${outputName}> {
|
|
173
|
+
${members}
|
|
174
|
+
}
|
|
175
|
+
`;
|
|
176
|
+
}
|
|
177
|
+
/** The readonly members common to every operation class, derived from the metadata columns. */
|
|
178
|
+
buildMembers(op) {
|
|
179
|
+
const execMode = op.ExecutionMode === 'LongRunning' ? "'LongRunning'" : "'Sync'";
|
|
180
|
+
const scopeLine = op.RequiredScope ? `\n public readonly RequiredScope = ${JSON.stringify(op.RequiredScope)};` : '';
|
|
181
|
+
return (` public readonly OperationKey = ${JSON.stringify(op.OperationKey)};\n` +
|
|
182
|
+
` public readonly ExecutionMode = ${execMode} as const;${scopeLine}\n` +
|
|
183
|
+
` public readonly RequiresSystemUser = ${op.RequiresSystemUser ? 'true' : 'false'};`);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=remote_operations_codegen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote_operations_codegen.js","sourceRoot":"","sources":["../../src/Misc/remote_operations_codegen.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -50,6 +50,7 @@ export * from './Database/sql_codegen.js';
|
|
|
50
50
|
export * from './Database/sql.js';
|
|
51
51
|
export * from './Misc/entity_subclasses_codegen.js';
|
|
52
52
|
export * from './Misc/action_subclasses_codegen.js';
|
|
53
|
+
export * from './Misc/remote_operations_codegen.js';
|
|
53
54
|
export * from './Misc/graphql_server_codegen.js';
|
|
54
55
|
export * from './Angular/angular-codegen.js';
|
|
55
56
|
export * from './Angular/related-entity-components.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AAGtC,cAAc,oCAAoC,CAAA;AAClD,cAAc,yDAAyD,CAAA;AACvE,cAAc,2DAA2D,CAAA;AACzE,cAAc,2DAA2D,CAAA;AACzE,cAAc,6DAA6D,CAAA;AAC3E,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAG9B,cAAc,kCAAkC,CAAA;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAA;AAG7C,cAAc,2BAA2B,CAAA;AACzC,cAAc,qCAAqC,CAAC;AACpD,cAAc,qDAAqD,CAAC;AACpE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,6CAA6C,CAAC;AAG5D,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,yBAAyB,CAAA;AAGvC,cAAc,+CAA+C,CAAA;AAG7D,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,2CAA2C,CAAA;AAGzD,cAAc,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AAGtC,cAAc,oCAAoC,CAAA;AAClD,cAAc,yDAAyD,CAAA;AACvE,cAAc,2DAA2D,CAAA;AACzE,cAAc,2DAA2D,CAAA;AACzE,cAAc,6DAA6D,CAAA;AAC3E,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAG9B,cAAc,kCAAkC,CAAA;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAA;AAG7C,cAAc,2BAA2B,CAAA;AACzC,cAAc,qCAAqC,CAAC;AACpD,cAAc,qDAAqD,CAAC;AACpE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,6CAA6C,CAAC;AAG5D,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,yBAAyB,CAAA;AAGvC,cAAc,+CAA+C,CAAA;AAG7D,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,2CAA2C,CAAA;AAGzD,cAAc,cAAc,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -53,6 +53,7 @@ export * from './Database/sql.js';
|
|
|
53
53
|
// Code generation exports
|
|
54
54
|
export * from './Misc/entity_subclasses_codegen.js';
|
|
55
55
|
export * from './Misc/action_subclasses_codegen.js';
|
|
56
|
+
export * from './Misc/remote_operations_codegen.js';
|
|
56
57
|
export * from './Misc/graphql_server_codegen.js';
|
|
57
58
|
// Angular exports
|
|
58
59
|
export * from './Angular/angular-codegen.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,wBAAwB;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AAEtC,mBAAmB;AACnB,cAAc,oCAAoC,CAAA;AAClD,cAAc,yDAAyD,CAAA;AACvE,cAAc,2DAA2D,CAAA;AACzE,cAAc,2DAA2D,CAAA;AACzE,cAAc,6DAA6D,CAAA;AAC3E,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAE9B,0BAA0B;AAC1B,cAAc,kCAAkC,CAAA;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAA;AAE7C,kBAAkB;AAClB,cAAc,2BAA2B,CAAA;AACzC,cAAc,qCAAqC,CAAC;AACpD,cAAc,qDAAqD,CAAC;AACpE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,6CAA6C,CAAC;AAE5D,kBAAkB;AAClB,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,yBAAyB,CAAA;AAEvC,sBAAsB;AACtB,cAAc,+CAA+C,CAAA;AAE7D,uBAAuB;AACvB,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,2CAA2C,CAAA;AAEzD,cAAc;AACd,cAAc,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,wBAAwB;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AAEtC,mBAAmB;AACnB,cAAc,oCAAoC,CAAA;AAClD,cAAc,yDAAyD,CAAA;AACvE,cAAc,2DAA2D,CAAA;AACzE,cAAc,2DAA2D,CAAA;AACzE,cAAc,6DAA6D,CAAA;AAC3E,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAE9B,0BAA0B;AAC1B,cAAc,kCAAkC,CAAA;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAA;AAE7C,kBAAkB;AAClB,cAAc,2BAA2B,CAAA;AACzC,cAAc,qCAAqC,CAAC;AACpD,cAAc,qDAAqD,CAAC;AACpE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,6CAA6C,CAAC;AAE5D,kBAAkB;AAClB,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,yBAAyB,CAAA;AAEvC,sBAAsB;AACtB,cAAc,+CAA+C,CAAA;AAE7D,uBAAuB;AACvB,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,2CAA2C,CAAA;AAEzD,cAAc;AACd,cAAc,cAAc,CAAA"}
|
package/dist/runCodeGen.d.ts
CHANGED
|
@@ -9,24 +9,11 @@
|
|
|
9
9
|
import { CommandInfo } from './Config/config.js';
|
|
10
10
|
import * as MJ from '@memberjunction/core';
|
|
11
11
|
import { CommandExecutionResult } from './Misc/runCommand.js';
|
|
12
|
-
import { CodeGenConnection } from './Database/codeGenDatabaseProvider.js';
|
|
13
|
-
import {
|
|
12
|
+
import { CodeGenConnection, DataSourceResult as ProviderDataSourceResult } from './Database/codeGenDatabaseProvider.js';
|
|
13
|
+
import { UserInfo } from '@memberjunction/core';
|
|
14
14
|
import type { MJCLIResult } from '@memberjunction/cli-core';
|
|
15
15
|
import '@memberjunction/server-bootstrap-lite/mj-class-registrations';
|
|
16
|
-
|
|
17
|
-
* Result from setupDataSource() providing both the data provider
|
|
18
|
-
* and a CodeGenConnection for database operations.
|
|
19
|
-
*/
|
|
20
|
-
export interface DataSourceResult {
|
|
21
|
-
/** The configured data provider (SQL Server or PostgreSQL) */
|
|
22
|
-
provider: IMetadataProvider;
|
|
23
|
-
/** Database-agnostic connection for CodeGen operations */
|
|
24
|
-
connection: CodeGenConnection;
|
|
25
|
-
/** The current user loaded from the user cache */
|
|
26
|
-
currentUser: UserInfo;
|
|
27
|
-
/** Connection info string for display */
|
|
28
|
-
connectionInfo: string;
|
|
29
|
-
}
|
|
16
|
+
type DataSourceResult = ProviderDataSourceResult;
|
|
30
17
|
/**
|
|
31
18
|
* Main orchestrator class for the MemberJunction code generation process.
|
|
32
19
|
*/
|
|
@@ -43,18 +30,20 @@ export declare class RunCodeGenBase {
|
|
|
43
30
|
/** Record any failed entries from a BEFORE/AFTER command batch, paired by index. */
|
|
44
31
|
protected recordCommandFailures(phase: string, cmds: CommandInfo[], results: CommandExecutionResult[]): void;
|
|
45
32
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
33
|
+
* Acquire the per-platform data source for a CodeGen run.
|
|
34
|
+
*
|
|
35
|
+
* Dispatches via `MJGlobal.Instance.ClassFactory.CreateInstance(CodeGenDatabaseProvider, platform)`
|
|
36
|
+
* — the same factory pattern used elsewhere in CodeGen (see e.g.
|
|
37
|
+
* `manage-metadata.ts`'s `get dbProvider()`). The actual pool / provider /
|
|
38
|
+
* user-loading lives on the resolved subclass's `SetupDataSource()`
|
|
39
|
+
* method, so adding a new platform means registering a new provider, not
|
|
40
|
+
* touching the orchestrator.
|
|
41
|
+
*
|
|
42
|
+
* Throws when no provider is registered for `configInfo.dbPlatform` —
|
|
43
|
+
* `ClassFactory.CreateInstance` returns the abstract base on a missed
|
|
44
|
+
* lookup, so we disambiguate by constructor identity.
|
|
48
45
|
*/
|
|
49
46
|
setupDataSource(): Promise<DataSourceResult>;
|
|
50
|
-
/**
|
|
51
|
-
* Sets up SQL Server data source (original behavior).
|
|
52
|
-
*/
|
|
53
|
-
protected setupSQLServerDataSource(): Promise<DataSourceResult>;
|
|
54
|
-
/**
|
|
55
|
-
* Sets up PostgreSQL data source.
|
|
56
|
-
*/
|
|
57
|
-
protected setupPostgreSQLDataSource(): Promise<DataSourceResult>;
|
|
58
47
|
/**
|
|
59
48
|
* Main entry point for the complete code generation process.
|
|
60
49
|
*/
|
|
@@ -98,4 +87,5 @@ export declare function runMemberJunctionCodeGeneration(skipDatabaseGeneration?:
|
|
|
98
87
|
* (e.g. `--format=json`) before the CLI exits.
|
|
99
88
|
*/
|
|
100
89
|
export declare function runMemberJunctionCodeGenerationWithResult(skipDatabaseGeneration?: boolean, skipFileGeneration?: boolean): Promise<MJCLIResult>;
|
|
90
|
+
export {};
|
|
101
91
|
//# sourceMappingURL=runCodeGen.d.ts.map
|
package/dist/runCodeGen.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runCodeGen.d.ts","sourceRoot":"","sources":["../src/runCodeGen.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"runCodeGen.d.ts","sourceRoot":"","sources":["../src/runCodeGen.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,EAA4G,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGxJ,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAmB,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAS5E,OAAO,EAAE,iBAAiB,EAA2B,gBAAgB,IAAI,wBAAwB,EAAkC,MAAM,oCAAoC,CAAC;AAI9K,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,8DAA8D,CAAC;AAStE,KAAK,gBAAgB,GAAG,wBAAwB,CAAC;AAEjD;;GAEG;AACH,qBAAa,cAAc;IACzB;;;;OAIG;IACH,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAM;IAE5E,oFAAoF;IACpF,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,GAAG,IAAI;IAc5G;;;;;;;;;;;;;OAaG;IACU,eAAe,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAIzD;;OAEG;IACH;;;;OAIG;IACU,YAAY,CAAC,UAAU,EAAE,gBAAgB,EAAE,sBAAsB,GAAE,OAAe,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,kBAAkB,GAAE,OAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAoBrK,GAAG,CAAC,sBAAsB,GAAE,OAAe,EAAE,kBAAkB,GAAE,OAAe;IAQ7F;;;;OAIG;IACU,aAAa,CAAC,sBAAsB,GAAE,OAAe,EAAE,kBAAkB,GAAE,OAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAgD9H;;;OAGG;cACa,sBAAsB,CAAC,UAAU,EAAE,gBAAgB,EAAE,sBAAsB,GAAE,OAAe,EAAE,kBAAkB,GAAE,OAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAmRpK;;;;;;;;OAQG;cACa,sBAAsB,CACpC,IAAI,EAAE,iBAAiB,EACvB,WAAW,EAAE,QAAQ,EACrB,EAAE,EAAE,EAAE,CAAC,QAAQ,EACf,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,OAAO,CAAC;CAiMpB;AAED;;GAEG;AACH,wBAAsB,+BAA+B,CAAC,sBAAsB,GAAE,OAAe,EAAE,kBAAkB,GAAE,OAAe,iBAGjI;AAED;;;;;GAKG;AACH,wBAAsB,yCAAyC,CAC7D,sBAAsB,GAAE,OAAe,EACvC,kBAAkB,GAAE,OAAe,GAClC,OAAO,CAAC,WAAW,CAAC,CAGtB"}
|
package/dist/runCodeGen.js
CHANGED
|
@@ -9,29 +9,23 @@
|
|
|
9
9
|
import { GraphQLServerGeneratorBase } from './Misc/graphql_server_codegen.js';
|
|
10
10
|
import { SQLCodeGenBase } from './Database/sql_codegen.js';
|
|
11
11
|
import { EntitySubClassGeneratorBase } from './Misc/entity_subclasses_codegen.js';
|
|
12
|
-
import { UserCache, setupSQLServerClient } from '@memberjunction/sqlserver-dataprovider';
|
|
13
|
-
import { MSSQLConnection, getSqlConfig } from './Config/db-connection.js';
|
|
14
12
|
import { ManageMetadataBase } from './Database/manage-metadata.js';
|
|
15
|
-
import { outputDir, commands,
|
|
13
|
+
import { outputDir, commands, configInfo, getSettingValue, dbPlatform, getExternalEntitySchemas, initializeConfig } from './Config/config.js';
|
|
16
14
|
import { logError, logStatus, logWarning, startSpinner, updateSpinner, succeedSpinner, failSpinner, warnSpinner } from './Misc/status_logging.js';
|
|
17
15
|
import { CodeGenReporter } from './Misc/codegen-reporter.js';
|
|
18
16
|
import * as MJ from '@memberjunction/core';
|
|
19
17
|
import { RunCommandsBase } from './Misc/runCommand.js';
|
|
20
18
|
import { DBSchemaGeneratorBase } from './Database/dbSchema.js';
|
|
21
19
|
import { AngularClientGeneratorBase } from './Angular/angular-codegen.js';
|
|
22
|
-
import { SQLServerProviderConfigData } from '@memberjunction/sqlserver-dataprovider';
|
|
23
20
|
import { CreateNewUserBase } from './Misc/createNewUser.js';
|
|
24
|
-
import { MJGlobal
|
|
21
|
+
import { MJGlobal } from '@memberjunction/global';
|
|
25
22
|
import { ActionSubClassGeneratorBase } from './Misc/action_subclasses_codegen.js';
|
|
23
|
+
import { RemoteOperationGeneratorBase } from './Misc/remote_operations_codegen.js';
|
|
26
24
|
import { SQLLogging } from './Misc/sql_logging.js';
|
|
27
|
-
import {
|
|
28
|
-
import { PostgreSQLCodeGenConnection } from './Database/providers/postgresql/PostgreSQLCodeGenConnection.js';
|
|
29
|
-
import { PostgreSQLDataProvider, PostgreSQLProviderConfigData } from '@memberjunction/postgresql-dataprovider';
|
|
30
|
-
import pg from 'pg';
|
|
25
|
+
import { resolveCodeGenDatabaseProvider } from './Database/codeGenDatabaseProvider.js';
|
|
31
26
|
import { SystemIntegrityBase } from './Misc/system_integrity.js';
|
|
32
27
|
import { ActionEngineBase } from '@memberjunction/actions-base';
|
|
33
28
|
import { AIEngine } from '@memberjunction/aiengine';
|
|
34
|
-
import { SetProvider, UserInfo } from '@memberjunction/core';
|
|
35
29
|
// Import pre-built MJ class registrations manifest (covers all @memberjunction/* packages)
|
|
36
30
|
import '@memberjunction/server-bootstrap-lite/mj-class-registrations';
|
|
37
31
|
/** Extract core schema name from configuration */
|
|
@@ -63,85 +57,21 @@ export class RunCodeGenBase {
|
|
|
63
57
|
});
|
|
64
58
|
}
|
|
65
59
|
/**
|
|
66
|
-
*
|
|
67
|
-
*
|
|
60
|
+
* Acquire the per-platform data source for a CodeGen run.
|
|
61
|
+
*
|
|
62
|
+
* Dispatches via `MJGlobal.Instance.ClassFactory.CreateInstance(CodeGenDatabaseProvider, platform)`
|
|
63
|
+
* — the same factory pattern used elsewhere in CodeGen (see e.g.
|
|
64
|
+
* `manage-metadata.ts`'s `get dbProvider()`). The actual pool / provider /
|
|
65
|
+
* user-loading lives on the resolved subclass's `SetupDataSource()`
|
|
66
|
+
* method, so adding a new platform means registering a new provider, not
|
|
67
|
+
* touching the orchestrator.
|
|
68
|
+
*
|
|
69
|
+
* Throws when no provider is registered for `configInfo.dbPlatform` —
|
|
70
|
+
* `ClassFactory.CreateInstance` returns the abstract base on a missed
|
|
71
|
+
* lookup, so we disambiguate by constructor identity.
|
|
68
72
|
*/
|
|
69
73
|
async setupDataSource() {
|
|
70
|
-
|
|
71
|
-
const platform = dbPlatform();
|
|
72
|
-
if (platform === 'postgresql') {
|
|
73
|
-
return this.setupPostgreSQLDataSource();
|
|
74
|
-
}
|
|
75
|
-
return this.setupSQLServerDataSource();
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Sets up SQL Server data source (original behavior).
|
|
79
|
-
*/
|
|
80
|
-
async setupSQLServerDataSource() {
|
|
81
|
-
const pool = await MSSQLConnection();
|
|
82
|
-
const config = new SQLServerProviderConfigData(pool, mj_core_schema());
|
|
83
|
-
const provider = await setupSQLServerClient(config);
|
|
84
|
-
const conn = new SQLServerCodeGenConnection(pool);
|
|
85
|
-
// `getSqlConfig()` returns the config that was built lazily by
|
|
86
|
-
// MSSQLConnection() above. The non-null assertion is safe because the
|
|
87
|
-
// call to MSSQLConnection on the line above is what guarantees the
|
|
88
|
-
// accessor has a value to return.
|
|
89
|
-
const cfg = getSqlConfig();
|
|
90
|
-
let connectionInfo = cfg.server;
|
|
91
|
-
if (cfg.port)
|
|
92
|
-
connectionInfo += ':' + cfg.port;
|
|
93
|
-
if (cfg.options?.instanceName)
|
|
94
|
-
connectionInfo += '\\' + cfg.options.instanceName;
|
|
95
|
-
connectionInfo += '/' + cfg.database;
|
|
96
|
-
await UserCache.Instance.Refresh(pool);
|
|
97
|
-
const userMatch = UserCache.Users.find((u) => u?.Type?.trim().toLowerCase() === 'owner');
|
|
98
|
-
const currentUser = userMatch ? userMatch : UserCache.Users[0];
|
|
99
|
-
succeedSpinner('SQL Server connection initialized: ' + connectionInfo);
|
|
100
|
-
return { provider, connection: conn, currentUser, connectionInfo };
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Sets up PostgreSQL data source.
|
|
104
|
-
*/
|
|
105
|
-
async setupPostgreSQLDataSource() {
|
|
106
|
-
const pgHost = process.env.PG_HOST ?? configInfo.dbHost;
|
|
107
|
-
const pgPort = parseInt(process.env.PG_PORT ?? String(configInfo.dbPort), 10) || 5432;
|
|
108
|
-
const pgDatabase = process.env.PG_DATABASE ?? configInfo.dbDatabase;
|
|
109
|
-
const pgUser = process.env.PG_USERNAME ?? configInfo.codeGenLogin;
|
|
110
|
-
const pgPassword = process.env.PG_PASSWORD ?? configInfo.codeGenPassword;
|
|
111
|
-
const coreSchema = mj_core_schema();
|
|
112
|
-
const pool = new pg.Pool({
|
|
113
|
-
host: pgHost,
|
|
114
|
-
port: pgPort,
|
|
115
|
-
database: pgDatabase,
|
|
116
|
-
user: pgUser,
|
|
117
|
-
password: pgPassword,
|
|
118
|
-
max: 20,
|
|
119
|
-
});
|
|
120
|
-
// Test connection
|
|
121
|
-
const client = await pool.connect();
|
|
122
|
-
client.release();
|
|
123
|
-
// Configure the PostgreSQL data provider
|
|
124
|
-
const pgConfig = new PostgreSQLProviderConfigData({ Host: pgHost, Port: pgPort, Database: pgDatabase, User: pgUser, Password: pgPassword }, coreSchema, 1 // checkRefreshIntervalSeconds: must be > 0 to trigger initial metadata load
|
|
125
|
-
);
|
|
126
|
-
const provider = new PostgreSQLDataProvider();
|
|
127
|
-
await provider.Config(pgConfig);
|
|
128
|
-
SetProvider(provider);
|
|
129
|
-
const conn = new PostgreSQLCodeGenConnection(pool);
|
|
130
|
-
// Load users (PostgreSQL version - query views directly)
|
|
131
|
-
const usersResult = await conn.query('SELECT * FROM "' + coreSchema + '"."vwUsers"');
|
|
132
|
-
const rolesResult = await conn.query('SELECT * FROM "' + coreSchema + '"."vwUserRoles"');
|
|
133
|
-
const userInfos = usersResult.recordset.map((user) => {
|
|
134
|
-
user.UserRoles = rolesResult.recordset.filter((role) => UUIDsEqual(role.UserID, user.ID));
|
|
135
|
-
return new UserInfo(provider, user);
|
|
136
|
-
});
|
|
137
|
-
const userMatch = userInfos.find((u) => u?.Type?.trim().toLowerCase() === 'owner');
|
|
138
|
-
const currentUser = userMatch ?? userInfos[0];
|
|
139
|
-
if (!currentUser) {
|
|
140
|
-
throw new Error('No users found in PostgreSQL. Ensure vwUsers has at least one user.');
|
|
141
|
-
}
|
|
142
|
-
const connectionInfo = pgHost + ':' + pgPort + '/' + pgDatabase;
|
|
143
|
-
succeedSpinner('PostgreSQL connection initialized: ' + connectionInfo);
|
|
144
|
-
return { provider, connection: conn, currentUser, connectionInfo };
|
|
74
|
+
return resolveCodeGenDatabaseProvider(dbPlatform()).SetupDataSource();
|
|
145
75
|
}
|
|
146
76
|
/**
|
|
147
77
|
* Main entry point for the complete code generation process.
|
|
@@ -669,6 +599,38 @@ export class RunCodeGenBase {
|
|
|
669
599
|
}
|
|
670
600
|
else if (isVerbose)
|
|
671
601
|
warnSpinner('Actions output directory NOT found in config file, skipping...');
|
|
602
|
+
// Remote Operations — emit the typed BaseRemotableOperation subclass for each MJ: Remote Operations row.
|
|
603
|
+
// Two output targets, parallel to the entity-subclass split: `CoreRemoteOperations` (MJ core ops, shipped
|
|
604
|
+
// in @memberjunction/core-entities) and `RemoteOperations` (downstream/user ops, their GeneratedEntities).
|
|
605
|
+
// NOTE: ops have no SchemaName, so there is no automatic core/non-core PARTITION (the entity split keys on
|
|
606
|
+
// SchemaName === mjCoreSchema). Each configured target therefore receives the full op set; in practice a
|
|
607
|
+
// repo configures exactly one (this repo: CoreRemoteOperations only). A per-op core/non-core marker — the
|
|
608
|
+
// SchemaName-equivalent — is the open decision needed to let a single DB route ops to both targets.
|
|
609
|
+
const coreRemoteOpsDir = outputDir('CoreRemoteOperations', false);
|
|
610
|
+
const nonCoreRemoteOpsDir = outputDir('RemoteOperations', false);
|
|
611
|
+
if (coreRemoteOpsDir || nonCoreRemoteOpsDir) {
|
|
612
|
+
const remoteOpsResult = await new MJ.RunView().RunView({ EntityName: 'MJ: Remote Operations', ResultType: 'entity_object' }, currentUser);
|
|
613
|
+
const remoteOps = remoteOpsResult.Results ?? [];
|
|
614
|
+
const remoteOpsGenerator = MJGlobal.Instance.ClassFactory.CreateInstance(RemoteOperationGeneratorBase);
|
|
615
|
+
for (const target of [
|
|
616
|
+
{ dir: coreRemoteOpsDir, label: 'CORE Remote Operation', phase: 'generateRemoteOperationsCore' },
|
|
617
|
+
{ dir: nonCoreRemoteOpsDir, label: 'Remote Operation', phase: 'generateRemoteOperations' },
|
|
618
|
+
]) {
|
|
619
|
+
if (!target.dir)
|
|
620
|
+
continue;
|
|
621
|
+
if (isVerbose)
|
|
622
|
+
startSpinner(`Generating ${target.label} typed bases...`);
|
|
623
|
+
const ok = await reporter.phase(target.phase, () => remoteOpsGenerator.generateRemoteOperations(remoteOps, target.dir));
|
|
624
|
+
if (!ok) {
|
|
625
|
+
failSpinner(`Error generating ${target.label} code`);
|
|
626
|
+
return false;
|
|
627
|
+
}
|
|
628
|
+
else if (isVerbose)
|
|
629
|
+
succeedSpinner(`${target.label} typed bases generated`);
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
else if (isVerbose)
|
|
633
|
+
warnSpinner('Remote Operations output directory NOT found in config file, skipping...');
|
|
672
634
|
SQLLogging.finishSQLLogging();
|
|
673
635
|
if (!isVerbose)
|
|
674
636
|
succeedSpinner('TypeScript code generation completed');
|
package/dist/runCodeGen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runCodeGen.js","sourceRoot":"","sources":["../src/runCodeGen.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runCodeGen.js","sourceRoot":"","sources":["../src/runCodeGen.ts"],"names":[],"mappings":"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"}
|