quidproquo-dev-server 0.0.229 → 0.0.231
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/lib/commonjs/actionProcessor/graphDatabaseOverride/getGraphDatabaseExecuteOpenCypherQueryActionProcessor.d.ts +2 -0
- package/lib/commonjs/actionProcessor/graphDatabaseOverride/getGraphDatabaseExecuteOpenCypherQueryActionProcessor.js +34 -0
- package/lib/commonjs/actionProcessor/graphDatabaseOverride/index.d.ts +2 -0
- package/lib/commonjs/actionProcessor/graphDatabaseOverride/index.js +17 -0
- package/lib/commonjs/actionProcessor/index.d.ts +1 -0
- package/lib/commonjs/actionProcessor/index.js +17 -0
- package/lib/commonjs/config/index.d.ts +1 -0
- package/lib/commonjs/config/index.js +17 -0
- package/lib/commonjs/config/settings/defineDevServerConfig.d.ts +6 -0
- package/lib/commonjs/config/settings/defineDevServerConfig.js +22 -0
- package/lib/commonjs/config/settings/index.d.ts +1 -0
- package/lib/commonjs/config/settings/index.js +17 -0
- package/lib/commonjs/entry/serviceFunction/runCypherQuery.d.ts +3 -0
- package/lib/commonjs/entry/serviceFunction/runCypherQuery.js +9 -0
- package/lib/commonjs/{entry → implementations}/route.js +3 -1
- package/lib/commonjs/index.d.ts +1 -0
- package/lib/commonjs/index.js +1 -0
- package/lib/commonjs/main.js +2 -2
- package/lib/esm/actionProcessor/graphDatabaseOverride/getGraphDatabaseExecuteOpenCypherQueryActionProcessor.d.ts +2 -0
- package/lib/esm/actionProcessor/graphDatabaseOverride/getGraphDatabaseExecuteOpenCypherQueryActionProcessor.js +19 -0
- package/lib/esm/actionProcessor/graphDatabaseOverride/index.d.ts +2 -0
- package/lib/esm/actionProcessor/graphDatabaseOverride/index.js +4 -0
- package/lib/esm/actionProcessor/index.d.ts +1 -0
- package/lib/esm/actionProcessor/index.js +1 -0
- package/lib/esm/config/index.d.ts +1 -0
- package/lib/esm/config/index.js +1 -0
- package/lib/esm/config/settings/defineDevServerConfig.d.ts +6 -0
- package/lib/esm/config/settings/defineDevServerConfig.js +14 -0
- package/lib/esm/config/settings/index.d.ts +1 -0
- package/lib/esm/config/settings/index.js +1 -0
- package/lib/esm/entry/serviceFunction/runCypherQuery.d.ts +3 -0
- package/lib/esm/entry/serviceFunction/runCypherQuery.js +5 -0
- package/lib/esm/{entry → implementations}/route.js +5 -0
- package/lib/esm/index.d.ts +1 -0
- package/lib/esm/index.js +1 -0
- package/lib/esm/main.js +1 -1
- package/package.json +6 -4
- /package/lib/commonjs/{entry → implementations}/index.d.ts +0 -0
- /package/lib/commonjs/{entry → implementations}/index.js +0 -0
- /package/lib/commonjs/{entry → implementations}/route.d.ts +0 -0
- /package/lib/esm/{entry → implementations}/index.d.ts +0 -0
- /package/lib/esm/{entry → implementations}/index.js +0 -0
- /package/lib/esm/{entry → implementations}/route.d.ts +0 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.getGraphDatabaseExecuteOpenCypherQueryActionProcessor = void 0;
|
|
13
|
+
const quidproquo_core_1 = require("quidproquo-core");
|
|
14
|
+
const quidproquo_webserver_1 = require("quidproquo-webserver");
|
|
15
|
+
const crypto_1 = require("crypto");
|
|
16
|
+
const getGraphDatabaseExecuteOpenCypherStory = (qpqConfig) => {
|
|
17
|
+
return function* askRunNeptuneOpenCypherQuery(graphDatabaseExecuteOpenCypherQueryActionPayload) {
|
|
18
|
+
const serviceName = quidproquo_core_1.qpqCoreUtils.getApplicationModuleName(qpqConfig);
|
|
19
|
+
const graphDatabaseConfig = quidproquo_core_1.qpqCoreUtils
|
|
20
|
+
.getOwnedGraphDatabases(qpqConfig)
|
|
21
|
+
.find((graphDatabaseConfig) => graphDatabaseConfig.name === graphDatabaseExecuteOpenCypherQueryActionPayload.graphDatabaseName);
|
|
22
|
+
if (!graphDatabaseConfig) {
|
|
23
|
+
return yield* (0, quidproquo_core_1.askThrowError)(quidproquo_core_1.ErrorTypeEnum.GenericError, `Invalid graph config for [${graphDatabaseExecuteOpenCypherQueryActionPayload.graphDatabaseName}]`);
|
|
24
|
+
}
|
|
25
|
+
const functionName = `graphQuery${graphDatabaseConfig.virualNetworkName}`;
|
|
26
|
+
return yield* (0, quidproquo_webserver_1.askServiceFunctionExecute)(serviceName, functionName, graphDatabaseExecuteOpenCypherQueryActionPayload);
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
const getGraphDatabaseExecuteOpenCypherQueryActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
|
|
30
|
+
return ({
|
|
31
|
+
[quidproquo_core_1.GraphDatabaseActionType.ExecuteOpenCypherQuery]: (0, quidproquo_core_1.getProcessCustomImplementation)(qpqConfig, getGraphDatabaseExecuteOpenCypherStory(qpqConfig), 'Neptune Cypher Query - dev server', null, () => new Date().toISOString(), crypto_1.randomUUID),
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
exports.getGraphDatabaseExecuteOpenCypherQueryActionProcessor = getGraphDatabaseExecuteOpenCypherQueryActionProcessor;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.getGraphDatabaseActionProcessor = void 0;
|
|
13
|
+
const getGraphDatabaseExecuteOpenCypherQueryActionProcessor_1 = require("./getGraphDatabaseExecuteOpenCypherQueryActionProcessor");
|
|
14
|
+
const getGraphDatabaseActionProcessor = (qpqConfig, dynamicModuleLoader) => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
|
+
return (Object.assign({}, (yield (0, getGraphDatabaseExecuteOpenCypherQueryActionProcessor_1.getGraphDatabaseExecuteOpenCypherQueryActionProcessor)(qpqConfig, dynamicModuleLoader))));
|
|
16
|
+
});
|
|
17
|
+
exports.getGraphDatabaseActionProcessor = getGraphDatabaseActionProcessor;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './graphDatabaseOverride';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./graphDatabaseOverride"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './settings';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./settings"), exports);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { QPQConfig, QPQConfigAdvancedSettings } from 'quidproquo-core';
|
|
2
|
+
export interface QPQConfigAdvancedDevServerSettings extends QPQConfigAdvancedSettings {
|
|
3
|
+
onlyDeploySafe?: boolean;
|
|
4
|
+
vpcList?: string[];
|
|
5
|
+
}
|
|
6
|
+
export declare const defineDevServerConfig: (buildPath: string, advancedSettings?: QPQConfigAdvancedDevServerSettings) => QPQConfig;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.defineDevServerConfig = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const quidproquo_webserver_1 = require("quidproquo-webserver");
|
|
9
|
+
const defineDevServerConfig = (buildPath, advancedSettings) => {
|
|
10
|
+
var _a;
|
|
11
|
+
const onlyDeploySafe = (_a = advancedSettings === null || advancedSettings === void 0 ? void 0 : advancedSettings.onlyDeploySafe) !== null && _a !== void 0 ? _a : true;
|
|
12
|
+
const vpcList = (advancedSettings === null || advancedSettings === void 0 ? void 0 : advancedSettings.vpcList) || [];
|
|
13
|
+
const pathToRuntime = path_1.default.join(__dirname, '../../entry/serviceFunction/runCypherQuery');
|
|
14
|
+
const graphAccessConfigs = vpcList.map((vpcName) => (0, quidproquo_webserver_1.defineServiceFunction)(buildPath, `full@${pathToRuntime}::runCypherQuery`, {
|
|
15
|
+
virtualNetworkName: vpcName,
|
|
16
|
+
functionName: `graphQuery${vpcName}`,
|
|
17
|
+
}));
|
|
18
|
+
const alwaysSafeConfigs = [...graphAccessConfigs];
|
|
19
|
+
const notSafeConfigs = [];
|
|
20
|
+
return [...(!onlyDeploySafe ? notSafeConfigs : []), ...alwaysSafeConfigs];
|
|
21
|
+
};
|
|
22
|
+
exports.defineDevServerConfig = defineDevServerConfig;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './defineDevServerConfig';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./defineDevServerConfig"), exports);
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { AskResponse, GraphCypherResponse, GraphDatabaseExecuteOpenCypherQueryActionPayload } from 'quidproquo-core';
|
|
2
|
+
import { ExecuteServiceFunctionEvent } from 'quidproquo-webserver';
|
|
3
|
+
export declare function runCypherQuery(event: ExecuteServiceFunctionEvent<GraphDatabaseExecuteOpenCypherQueryActionPayload>): AskResponse<GraphCypherResponse>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runCypherQuery = void 0;
|
|
4
|
+
const quidproquo_core_1 = require("quidproquo-core");
|
|
5
|
+
function* runCypherQuery(event) {
|
|
6
|
+
const queryResponse = yield* (0, quidproquo_core_1.askGraphDatabaseExecuteOpenCypherQuery)(event.payload.graphDatabaseName, event.payload.instance, event.payload.openCypherQuery, event.payload.params);
|
|
7
|
+
return queryResponse;
|
|
8
|
+
}
|
|
9
|
+
exports.runCypherQuery = runCypherQuery;
|
|
@@ -13,7 +13,9 @@ exports.route = void 0;
|
|
|
13
13
|
const crypto_1 = require("crypto");
|
|
14
14
|
const quidproquo_1 = require("quidproquo");
|
|
15
15
|
const quidproquo_actionprocessor_awslambda_1 = require("quidproquo-actionprocessor-awslambda");
|
|
16
|
+
const quidproquo_actionprocessor_node_1 = require("quidproquo-actionprocessor-node");
|
|
16
17
|
const getActionProcessor_1 = require("../getActionProcessor");
|
|
18
|
+
const actionProcessor_1 = require("../actionProcessor");
|
|
17
19
|
// TODO: Make this a util or something based on server time or something..
|
|
18
20
|
const getDateNow = () => new Date().toISOString();
|
|
19
21
|
const ErrorTypeHttpResponseMap = {
|
|
@@ -38,7 +40,7 @@ const route = (expressEvent, qpqConfig, dynamicModuleLoader) => __awaiter(void 0
|
|
|
38
40
|
accessToken: quidproquo_1.qpqWebServerUtils.getAccessTokenFromHeaders(expressEvent.headers),
|
|
39
41
|
context: {},
|
|
40
42
|
}, () => __awaiter(void 0, void 0, void 0, function* () {
|
|
41
|
-
return (Object.assign(Object.assign({}, (yield (0, quidproquo_actionprocessor_awslambda_1.getAwsActionProcessors)(qpqConfig, dynamicModuleLoader))), (yield (0, getActionProcessor_1.getExpressApiEventEventProcessor)(qpqConfig, dynamicModuleLoader))));
|
|
43
|
+
return (Object.assign(Object.assign(Object.assign(Object.assign({}, (yield (0, quidproquo_actionprocessor_awslambda_1.getAwsActionProcessors)(qpqConfig, dynamicModuleLoader))), (yield (0, getActionProcessor_1.getExpressApiEventEventProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, actionProcessor_1.getGraphDatabaseActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, quidproquo_actionprocessor_node_1.getCustomActionActionProcessor)(qpqConfig, dynamicModuleLoader))));
|
|
42
44
|
}), getDateNow, (0, quidproquo_actionprocessor_awslambda_1.getLogger)(qpqConfig), `${serviceName}::${(0, crypto_1.randomUUID)()}`, quidproquo_1.QpqRuntimeType.API, dynamicModuleLoader, []);
|
|
43
45
|
const result = yield resolveStory(quidproquo_1.askProcessEvent, [expressEvent]);
|
|
44
46
|
// Run the callback
|
package/lib/commonjs/index.d.ts
CHANGED
package/lib/commonjs/index.js
CHANGED
package/lib/commonjs/main.js
CHANGED
|
@@ -20,7 +20,7 @@ const express_1 = __importDefault(require("express"));
|
|
|
20
20
|
const multer_1 = __importDefault(require("multer"));
|
|
21
21
|
const path_1 = __importDefault(require("path"));
|
|
22
22
|
const quidproquo_1 = require("quidproquo");
|
|
23
|
-
const
|
|
23
|
+
const implementations_1 = require("./implementations");
|
|
24
24
|
const allServiceConfig_1 = require("./allServiceConfig");
|
|
25
25
|
const getServiceBaseDomain = (qpqConfig, devServerConfig) => quidproquo_1.qpqWebServerUtils.getDomainRoot(`${devServerConfig.serverDomain}:${devServerConfig.serverPort}`, quidproquo_1.qpqCoreUtils.getApplicationModuleEnvironment(qpqConfig), quidproquo_1.qpqCoreUtils.getApplicationModuleFeature(qpqConfig));
|
|
26
26
|
const getApiDomainsFromConfig = (qpqConfig, devServerConfig) => {
|
|
@@ -118,7 +118,7 @@ const startDevServer = (devServerConfig) => __awaiter(void 0, void 0, void 0, fu
|
|
|
118
118
|
mimetype: file.mimetype,
|
|
119
119
|
}));
|
|
120
120
|
}
|
|
121
|
-
const response = yield (0,
|
|
121
|
+
const response = yield (0, implementations_1.route)(event, apiConfig.qpqConfig, getDynamicModuleLoader(apiConfig.qpqConfig, devServerConfig));
|
|
122
122
|
for (const [header, value] of Object.entries(response.headers)) {
|
|
123
123
|
res.set(header, value);
|
|
124
124
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ErrorTypeEnum, GraphDatabaseActionType, askThrowError, getProcessCustomImplementation, qpqCoreUtils, } from 'quidproquo-core';
|
|
2
|
+
import { askServiceFunctionExecute } from 'quidproquo-webserver';
|
|
3
|
+
import { randomUUID } from 'crypto';
|
|
4
|
+
const getGraphDatabaseExecuteOpenCypherStory = (qpqConfig) => {
|
|
5
|
+
return function* askRunNeptuneOpenCypherQuery(graphDatabaseExecuteOpenCypherQueryActionPayload) {
|
|
6
|
+
const serviceName = qpqCoreUtils.getApplicationModuleName(qpqConfig);
|
|
7
|
+
const graphDatabaseConfig = qpqCoreUtils
|
|
8
|
+
.getOwnedGraphDatabases(qpqConfig)
|
|
9
|
+
.find((graphDatabaseConfig) => graphDatabaseConfig.name === graphDatabaseExecuteOpenCypherQueryActionPayload.graphDatabaseName);
|
|
10
|
+
if (!graphDatabaseConfig) {
|
|
11
|
+
return yield* askThrowError(ErrorTypeEnum.GenericError, `Invalid graph config for [${graphDatabaseExecuteOpenCypherQueryActionPayload.graphDatabaseName}]`);
|
|
12
|
+
}
|
|
13
|
+
const functionName = `graphQuery${graphDatabaseConfig.virualNetworkName}`;
|
|
14
|
+
return yield* askServiceFunctionExecute(serviceName, functionName, graphDatabaseExecuteOpenCypherQueryActionPayload);
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export const getGraphDatabaseExecuteOpenCypherQueryActionProcessor = async (qpqConfig) => ({
|
|
18
|
+
[GraphDatabaseActionType.ExecuteOpenCypherQuery]: getProcessCustomImplementation(qpqConfig, getGraphDatabaseExecuteOpenCypherStory(qpqConfig), 'Neptune Cypher Query - dev server', null, () => new Date().toISOString(), randomUUID),
|
|
19
|
+
});
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { getGraphDatabaseExecuteOpenCypherQueryActionProcessor } from './getGraphDatabaseExecuteOpenCypherQueryActionProcessor';
|
|
2
|
+
export const getGraphDatabaseActionProcessor = async (qpqConfig, dynamicModuleLoader) => ({
|
|
3
|
+
...(await getGraphDatabaseExecuteOpenCypherQueryActionProcessor(qpqConfig, dynamicModuleLoader)),
|
|
4
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './graphDatabaseOverride';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './graphDatabaseOverride';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './settings';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './settings';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { QPQConfig, QPQConfigAdvancedSettings } from 'quidproquo-core';
|
|
2
|
+
export interface QPQConfigAdvancedDevServerSettings extends QPQConfigAdvancedSettings {
|
|
3
|
+
onlyDeploySafe?: boolean;
|
|
4
|
+
vpcList?: string[];
|
|
5
|
+
}
|
|
6
|
+
export declare const defineDevServerConfig: (buildPath: string, advancedSettings?: QPQConfigAdvancedDevServerSettings) => QPQConfig;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { defineServiceFunction } from 'quidproquo-webserver';
|
|
3
|
+
export const defineDevServerConfig = (buildPath, advancedSettings) => {
|
|
4
|
+
const onlyDeploySafe = advancedSettings?.onlyDeploySafe ?? true;
|
|
5
|
+
const vpcList = advancedSettings?.vpcList || [];
|
|
6
|
+
const pathToRuntime = path.join(__dirname, '../../entry/serviceFunction/runCypherQuery');
|
|
7
|
+
const graphAccessConfigs = vpcList.map((vpcName) => defineServiceFunction(buildPath, `full@${pathToRuntime}::runCypherQuery`, {
|
|
8
|
+
virtualNetworkName: vpcName,
|
|
9
|
+
functionName: `graphQuery${vpcName}`,
|
|
10
|
+
}));
|
|
11
|
+
const alwaysSafeConfigs = [...graphAccessConfigs];
|
|
12
|
+
const notSafeConfigs = [];
|
|
13
|
+
return [...(!onlyDeploySafe ? notSafeConfigs : []), ...alwaysSafeConfigs];
|
|
14
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './defineDevServerConfig';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './defineDevServerConfig';
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { AskResponse, GraphCypherResponse, GraphDatabaseExecuteOpenCypherQueryActionPayload } from 'quidproquo-core';
|
|
2
|
+
import { ExecuteServiceFunctionEvent } from 'quidproquo-webserver';
|
|
3
|
+
export declare function runCypherQuery(event: ExecuteServiceFunctionEvent<GraphDatabaseExecuteOpenCypherQueryActionPayload>): AskResponse<GraphCypherResponse>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { askGraphDatabaseExecuteOpenCypherQuery, } from 'quidproquo-core';
|
|
2
|
+
export function* runCypherQuery(event) {
|
|
3
|
+
const queryResponse = yield* askGraphDatabaseExecuteOpenCypherQuery(event.payload.graphDatabaseName, event.payload.instance, event.payload.openCypherQuery, event.payload.params);
|
|
4
|
+
return queryResponse;
|
|
5
|
+
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { randomUUID } from 'crypto';
|
|
2
2
|
import { askProcessEvent, createRuntime, ErrorTypeEnum, qpqCoreUtils, QpqRuntimeType, qpqWebServerUtils, } from 'quidproquo';
|
|
3
3
|
import { getAwsActionProcessors, getLogger } from 'quidproquo-actionprocessor-awslambda';
|
|
4
|
+
import { getCustomActionActionProcessor } from 'quidproquo-actionprocessor-node';
|
|
4
5
|
import { getExpressApiEventEventProcessor } from '../getActionProcessor';
|
|
6
|
+
import { getGraphDatabaseActionProcessor } from '../actionProcessor';
|
|
5
7
|
// TODO: Make this a util or something based on server time or something..
|
|
6
8
|
const getDateNow = () => new Date().toISOString();
|
|
7
9
|
const ErrorTypeHttpResponseMap = {
|
|
@@ -28,6 +30,9 @@ export const route = async (expressEvent, qpqConfig, dynamicModuleLoader) => {
|
|
|
28
30
|
}, async () => ({
|
|
29
31
|
...(await getAwsActionProcessors(qpqConfig, dynamicModuleLoader)),
|
|
30
32
|
...(await getExpressApiEventEventProcessor(qpqConfig, dynamicModuleLoader)),
|
|
33
|
+
...(await getGraphDatabaseActionProcessor(qpqConfig, dynamicModuleLoader)),
|
|
34
|
+
// Always done last, so they can ovveride the default ones if the user wants.
|
|
35
|
+
...(await getCustomActionActionProcessor(qpqConfig, dynamicModuleLoader)),
|
|
31
36
|
}), getDateNow, getLogger(qpqConfig), `${serviceName}::${randomUUID()}`, QpqRuntimeType.API, dynamicModuleLoader, []);
|
|
32
37
|
const result = await resolveStory(askProcessEvent, [expressEvent]);
|
|
33
38
|
// Run the callback
|
package/lib/esm/index.d.ts
CHANGED
package/lib/esm/index.js
CHANGED
package/lib/esm/main.js
CHANGED
|
@@ -5,7 +5,7 @@ import express from 'express';
|
|
|
5
5
|
import multer from 'multer';
|
|
6
6
|
import path from 'path';
|
|
7
7
|
import { askProcessEvent, qpqCoreUtils, qpqExecuteLog, QpqRuntimeType, qpqWebServerUtils, } from 'quidproquo';
|
|
8
|
-
import { route } from './
|
|
8
|
+
import { route } from './implementations';
|
|
9
9
|
import { getAllServiceConfigs } from './allServiceConfig';
|
|
10
10
|
const getServiceBaseDomain = (qpqConfig, devServerConfig) => qpqWebServerUtils.getDomainRoot(`${devServerConfig.serverDomain}:${devServerConfig.serverPort}`, qpqCoreUtils.getApplicationModuleEnvironment(qpqConfig), qpqCoreUtils.getApplicationModuleFeature(qpqConfig));
|
|
11
11
|
const getApiDomainsFromConfig = (qpqConfig, devServerConfig) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "quidproquo-dev-server",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.231",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./lib/commonjs/index.js",
|
|
6
6
|
"module": "./lib/esm/index.js",
|
|
@@ -30,12 +30,14 @@
|
|
|
30
30
|
"homepage": "https://github.com/joe-coady/quidproquo#readme",
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"multer": "^1.4.5-lts.1",
|
|
33
|
-
"quidproquo-core": "0.0.
|
|
34
|
-
"quidproquo-webserver": "0.0.
|
|
33
|
+
"quidproquo-core": "0.0.231",
|
|
34
|
+
"quidproquo-webserver": "0.0.231",
|
|
35
|
+
"quidproquo-actionprocessor-awslambda": "0.0.231",
|
|
36
|
+
"quidproquo-actionprocessor-node": "0.0.231"
|
|
35
37
|
},
|
|
36
38
|
"devDependencies": {
|
|
37
39
|
"@types/multer": "^1.4.12",
|
|
38
|
-
"quidproquo-tsconfig": "0.0.
|
|
40
|
+
"quidproquo-tsconfig": "0.0.231",
|
|
39
41
|
"typescript": "^4.9.3"
|
|
40
42
|
}
|
|
41
43
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|