n8n-nodes-base 1.114.0 → 1.115.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/dist/credentials/MongoDb.credentials.d.ts.map +1 -1
- package/dist/credentials/MongoDb.credentials.js +3 -0
- package/dist/credentials/MongoDb.credentials.js.map +1 -1
- package/dist/credentials/OracleDBApi.credentials.d.ts +8 -0
- package/dist/credentials/OracleDBApi.credentials.d.ts.map +1 -0
- package/dist/credentials/OracleDBApi.credentials.js +205 -0
- package/dist/credentials/OracleDBApi.credentials.js.map +1 -0
- package/dist/credentials/SentryIoApi.credentials.d.ts +3 -1
- package/dist/credentials/SentryIoApi.credentials.d.ts.map +1 -1
- package/dist/credentials/SentryIoApi.credentials.js +15 -0
- package/dist/credentials/SentryIoApi.credentials.js.map +1 -1
- package/dist/credentials/SentryIoServerApi.credentials.d.ts +3 -1
- package/dist/credentials/SentryIoServerApi.credentials.d.ts.map +1 -1
- package/dist/credentials/SentryIoServerApi.credentials.js +15 -0
- package/dist/credentials/SentryIoServerApi.credentials.js.map +1 -1
- package/dist/known/credentials.json +7 -0
- package/dist/known/nodes.json +4 -0
- package/dist/methods/defined.json +4 -0
- package/dist/methods/referenced.json +4 -0
- package/dist/nodes/Code/PythonTaskRunnerSandbox.d.ts.map +1 -1
- package/dist/nodes/Code/PythonTaskRunnerSandbox.js +11 -3
- package/dist/nodes/Code/PythonTaskRunnerSandbox.js.map +1 -1
- package/dist/nodes/Form/utils/formCompletionUtils.d.ts.map +1 -1
- package/dist/nodes/Form/utils/formCompletionUtils.js +5 -4
- package/dist/nodes/Form/utils/formCompletionUtils.js.map +1 -1
- package/dist/nodes/Google/Gmail/GmailTrigger.node.d.ts.map +1 -1
- package/dist/nodes/Google/Gmail/GmailTrigger.node.js +12 -12
- package/dist/nodes/Google/Gmail/GmailTrigger.node.js.map +1 -1
- package/dist/nodes/HttpRequest/GenericFunctions.d.ts +3 -0
- package/dist/nodes/HttpRequest/GenericFunctions.d.ts.map +1 -1
- package/dist/nodes/HttpRequest/GenericFunctions.js +20 -1
- package/dist/nodes/HttpRequest/GenericFunctions.js.map +1 -1
- package/dist/nodes/HttpRequest/HttpRequest.node.d.ts.map +1 -1
- package/dist/nodes/HttpRequest/HttpRequest.node.js +2 -1
- package/dist/nodes/HttpRequest/HttpRequest.node.js.map +1 -1
- package/dist/nodes/HttpRequest/V3/HttpRequestV3.node.d.ts.map +1 -1
- package/dist/nodes/HttpRequest/V3/HttpRequestV3.node.js +3 -2
- package/dist/nodes/HttpRequest/V3/HttpRequestV3.node.js.map +1 -1
- package/dist/nodes/JotForm/JotFormTrigger.node.d.ts.map +1 -1
- package/dist/nodes/JotForm/JotFormTrigger.node.js +4 -5
- package/dist/nodes/JotForm/JotFormTrigger.node.js.map +1 -1
- package/dist/nodes/JotForm/jotform.dark.svg +13 -0
- package/dist/nodes/JotForm/jotform.svg +1 -0
- package/dist/nodes/Notion/shared/descriptions/DatabasePageDescription.js +1 -1
- package/dist/nodes/Notion/shared/descriptions/DatabasePageDescription.js.map +1 -1
- package/dist/nodes/Oracle/Sql/OracleSql.node.d.ts +14 -0
- package/dist/nodes/Oracle/Sql/OracleSql.node.d.ts.map +1 -0
- package/dist/nodes/Oracle/Sql/OracleSql.node.js +22 -0
- package/dist/nodes/Oracle/Sql/OracleSql.node.js.map +1 -0
- package/dist/nodes/Oracle/Sql/actions/common.descriptions.d.ts +8 -0
- package/dist/nodes/Oracle/Sql/actions/common.descriptions.d.ts.map +1 -0
- package/dist/nodes/Oracle/Sql/actions/common.descriptions.js +531 -0
- package/dist/nodes/Oracle/Sql/actions/common.descriptions.js.map +1 -0
- package/dist/nodes/Oracle/Sql/actions/database/Database.resource.d.ts +10 -0
- package/dist/nodes/Oracle/Sql/actions/database/Database.resource.d.ts.map +1 -0
- package/dist/nodes/Oracle/Sql/actions/database/Database.resource.js +112 -0
- package/dist/nodes/Oracle/Sql/actions/database/Database.resource.js.map +1 -0
- package/dist/nodes/Oracle/Sql/actions/database/deleteTable.operation.d.ts +30 -0
- package/dist/nodes/Oracle/Sql/actions/database/deleteTable.operation.d.ts.map +1 -0
- package/dist/nodes/Oracle/Sql/actions/database/deleteTable.operation.js +138 -0
- package/dist/nodes/Oracle/Sql/actions/database/deleteTable.operation.js.map +1 -0
- package/dist/nodes/Oracle/Sql/actions/database/executeQuery.operation.d.ts +40 -0
- package/dist/nodes/Oracle/Sql/actions/database/executeQuery.operation.d.ts.map +1 -0
- package/dist/nodes/Oracle/Sql/actions/database/executeQuery.operation.js +66 -0
- package/dist/nodes/Oracle/Sql/actions/database/executeQuery.operation.js.map +1 -0
- package/dist/nodes/Oracle/Sql/actions/database/insert.operation.d.ts +30 -0
- package/dist/nodes/Oracle/Sql/actions/database/insert.operation.d.ts.map +1 -0
- package/dist/nodes/Oracle/Sql/actions/database/insert.operation.js +146 -0
- package/dist/nodes/Oracle/Sql/actions/database/insert.operation.js.map +1 -0
- package/dist/nodes/Oracle/Sql/actions/database/select.operation.d.ts +30 -0
- package/dist/nodes/Oracle/Sql/actions/database/select.operation.d.ts.map +1 -0
- package/dist/nodes/Oracle/Sql/actions/database/select.operation.js +90 -0
- package/dist/nodes/Oracle/Sql/actions/database/select.operation.js.map +1 -0
- package/dist/nodes/Oracle/Sql/actions/database/update.operation.d.ts +30 -0
- package/dist/nodes/Oracle/Sql/actions/database/update.operation.d.ts.map +1 -0
- package/dist/nodes/Oracle/Sql/actions/database/update.operation.js +147 -0
- package/dist/nodes/Oracle/Sql/actions/database/update.operation.js.map +1 -0
- package/dist/nodes/Oracle/Sql/actions/database/upsert.operation.d.ts +30 -0
- package/dist/nodes/Oracle/Sql/actions/database/upsert.operation.d.ts.map +1 -0
- package/dist/nodes/Oracle/Sql/actions/database/upsert.operation.js +150 -0
- package/dist/nodes/Oracle/Sql/actions/database/upsert.operation.js.map +1 -0
- package/dist/nodes/Oracle/Sql/actions/node.type.d.ts +9 -0
- package/dist/nodes/Oracle/Sql/actions/node.type.d.ts.map +1 -0
- package/dist/nodes/Oracle/Sql/actions/node.type.js +7 -0
- package/dist/nodes/Oracle/Sql/actions/node.type.js.map +1 -0
- package/dist/nodes/Oracle/Sql/actions/router.d.ts +3 -0
- package/dist/nodes/Oracle/Sql/actions/router.d.ts.map +1 -0
- package/dist/nodes/Oracle/Sql/actions/router.js +77 -0
- package/dist/nodes/Oracle/Sql/actions/router.js.map +1 -0
- package/dist/nodes/Oracle/Sql/actions/versionDescription.d.ts +3 -0
- package/dist/nodes/Oracle/Sql/actions/versionDescription.d.ts.map +1 -0
- package/dist/nodes/Oracle/Sql/actions/versionDescription.js +78 -0
- package/dist/nodes/Oracle/Sql/actions/versionDescription.js.map +1 -0
- package/dist/nodes/Oracle/Sql/helpers/interfaces.d.ts +118 -0
- package/dist/nodes/Oracle/Sql/helpers/interfaces.d.ts.map +1 -0
- package/dist/nodes/Oracle/Sql/helpers/interfaces.js +3 -0
- package/dist/nodes/Oracle/Sql/helpers/interfaces.js.map +1 -0
- package/dist/nodes/Oracle/Sql/helpers/utils.d.ts +38 -0
- package/dist/nodes/Oracle/Sql/helpers/utils.d.ts.map +1 -0
- package/dist/nodes/Oracle/Sql/helpers/utils.js +859 -0
- package/dist/nodes/Oracle/Sql/helpers/utils.js.map +1 -0
- package/dist/nodes/Oracle/Sql/methods/credentialTest.d.ts +3 -0
- package/dist/nodes/Oracle/Sql/methods/credentialTest.d.ts.map +1 -0
- package/dist/nodes/Oracle/Sql/methods/credentialTest.js +25 -0
- package/dist/nodes/Oracle/Sql/methods/credentialTest.js.map +1 -0
- package/dist/nodes/Oracle/Sql/methods/index.d.ts +5 -0
- package/dist/nodes/Oracle/Sql/methods/index.d.ts.map +1 -0
- package/dist/nodes/Oracle/Sql/methods/index.js +41 -0
- package/dist/nodes/Oracle/Sql/methods/index.js.map +1 -0
- package/dist/nodes/Oracle/Sql/methods/listSearch.d.ts +4 -0
- package/dist/nodes/Oracle/Sql/methods/listSearch.d.ts.map +1 -0
- package/dist/nodes/Oracle/Sql/methods/listSearch.js +100 -0
- package/dist/nodes/Oracle/Sql/methods/listSearch.js.map +1 -0
- package/dist/nodes/Oracle/Sql/methods/loadOptions.d.ts +4 -0
- package/dist/nodes/Oracle/Sql/methods/loadOptions.d.ts.map +1 -0
- package/dist/nodes/Oracle/Sql/methods/loadOptions.js +29 -0
- package/dist/nodes/Oracle/Sql/methods/loadOptions.js.map +1 -0
- package/dist/nodes/Oracle/Sql/methods/resourceMapping.d.ts +3 -0
- package/dist/nodes/Oracle/Sql/methods/resourceMapping.d.ts.map +1 -0
- package/dist/nodes/Oracle/Sql/methods/resourceMapping.js +32 -0
- package/dist/nodes/Oracle/Sql/methods/resourceMapping.js.map +1 -0
- package/dist/nodes/Oracle/Sql/oracle.svg +4 -0
- package/dist/nodes/Oracle/Sql/transport/index.d.ts +5 -0
- package/dist/nodes/Oracle/Sql/transport/index.d.ts.map +1 -0
- package/dist/nodes/Oracle/Sql/transport/index.js +53 -0
- package/dist/nodes/Oracle/Sql/transport/index.js.map +1 -0
- package/dist/nodes/SentryIo/GenericFunctions.d.ts.map +1 -1
- package/dist/nodes/SentryIo/GenericFunctions.js +13 -16
- package/dist/nodes/SentryIo/GenericFunctions.js.map +1 -1
- package/dist/nodes/SentryIo/SentryIo.node.d.ts.map +1 -1
- package/dist/nodes/SentryIo/SentryIo.node.js +5 -42
- package/dist/nodes/SentryIo/SentryIo.node.js.map +1 -1
- package/dist/nodes/Slack/V2/SlackV2.node.js +2 -2
- package/dist/nodes/Slack/V2/SlackV2.node.js.map +1 -1
- package/dist/nodes/SpreadsheetFile/v2/fromFile.operation.d.ts.map +1 -1
- package/dist/nodes/SpreadsheetFile/v2/fromFile.operation.js +18 -15
- package/dist/nodes/SpreadsheetFile/v2/fromFile.operation.js.map +1 -1
- package/dist/typecheck.tsbuildinfo +1 -1
- package/dist/types/credentials.json +5 -4
- package/dist/types/nodes.json +10 -9
- package/package.json +9 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Database.resource.js","sourceRoot":"","sources":["../../../../../../nodes/Oracle/Sql/actions/database/Database.resource.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,qEAAuD;AAQ9C,kCAAW;AAPpB,kEAAoD;AAO9B,0BAAO;AAN7B,2DAA6C;AAMd,wBAAM;AALrC,2DAA6C;AAKN,wBAAM;AAJ7C,2DAA6C;AAIE,wBAAM;AAHrD,2DAA6C;AAGU,wBAAM;AAF7D,gEAA6D;AAIhD,QAAA,WAAW,GAAsB;IAC7C;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,gBAAgB,EAAE,IAAI;QACtB,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,2CAA2C;gBACxD,MAAM,EAAE,sBAAsB;aAC9B;YACD;gBACC,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,gBAAgB;gBAC7B,MAAM,EAAE,aAAa;aACrB;YACD;gBACC,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,wBAAwB;gBACrC,MAAM,EAAE,wBAAwB;aAChC;YACD;gBACC,kFAAkF;gBAClF,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,QAAQ;gBACf,kFAAkF;gBAClF,WAAW,EAAE,kCAAkC;gBAC/C,MAAM,EAAE,kCAAkC;aAC1C;YACD;gBACC,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,0BAA0B;gBACvC,MAAM,EAAE,0BAA0B;aAClC;YACD;gBACC,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,wBAAwB;gBACrC,MAAM,EAAE,wBAAwB;aAChC;SACD;QACD,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,UAAU,CAAC;aACtB;SACD;QACD,OAAO,EAAE,QAAQ;KACjB;IACD,EAAE,GAAG,+BAAS,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE;IACtE,EAAE,GAAG,8BAAQ,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE;IACrE,GAAG,WAAW,CAAC,WAAW;IAC1B,GAAG,OAAO,CAAC,WAAW;IACtB,GAAG,MAAM,CAAC,WAAW;IACrB,GAAG,MAAM,CAAC,WAAW;IACrB,GAAG,MAAM,CAAC,WAAW;IACrB,GAAG,MAAM,CAAC,WAAW;CACrB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { IExecuteFunctions, INodeExecutionData, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
import type * as oracleDBTypes from 'oracledb';
|
|
3
|
+
import type { OracleDBNodeOptions, QueriesRunner } from '../../helpers/interfaces';
|
|
4
|
+
export declare const description: {
|
|
5
|
+
displayOptions: import("n8n-workflow").IDisplayOptions;
|
|
6
|
+
displayName: string;
|
|
7
|
+
name: string;
|
|
8
|
+
type: import("n8n-workflow").NodePropertyTypes;
|
|
9
|
+
typeOptions?: import("n8n-workflow").INodePropertyTypeOptions;
|
|
10
|
+
default: import("n8n-workflow").NodeParameterValueType;
|
|
11
|
+
description?: string;
|
|
12
|
+
hint?: string;
|
|
13
|
+
disabledOptions?: import("n8n-workflow").IDisplayOptions;
|
|
14
|
+
options?: Array<import("n8n-workflow").INodePropertyOptions | INodeProperties | import("n8n-workflow").INodePropertyCollection>;
|
|
15
|
+
placeholder?: string;
|
|
16
|
+
isNodeSetting?: boolean;
|
|
17
|
+
noDataExpression?: boolean;
|
|
18
|
+
required?: boolean;
|
|
19
|
+
routing?: import("n8n-workflow").INodePropertyRouting;
|
|
20
|
+
credentialTypes?: Array<"extends:oAuth2Api" | "extends:oAuth1Api" | "has:authenticate" | "has:genericAuth">;
|
|
21
|
+
extractValue?: import("n8n-workflow").INodePropertyValueExtractor;
|
|
22
|
+
modes?: import("n8n-workflow").INodePropertyMode[];
|
|
23
|
+
requiresDataPath?: "single" | "multiple";
|
|
24
|
+
doNotInherit?: boolean;
|
|
25
|
+
validateType?: import("n8n-workflow").FieldType;
|
|
26
|
+
ignoreValidationDuringExecution?: boolean;
|
|
27
|
+
allowArbitraryValues?: boolean;
|
|
28
|
+
}[];
|
|
29
|
+
export declare function execute(this: IExecuteFunctions, runQueries: QueriesRunner, items: INodeExecutionData[], nodeOptions: OracleDBNodeOptions, pool: oracleDBTypes.Pool): Promise<INodeExecutionData[]>;
|
|
30
|
+
//# sourceMappingURL=deleteTable.operation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deleteTable.operation.d.ts","sourceRoot":"","sources":["../../../../../../nodes/Oracle/Sql/actions/database/deleteTable.operation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,KAAK,aAAa,MAAM,UAAU,CAAC;AAI/C,OAAO,KAAK,EACX,mBAAmB,EACnB,aAAa,EAGb,MAAM,0BAA0B,CAAC;AAoElC,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;GAAmD,CAAC;AAE5E,wBAAsB,OAAO,CAC5B,IAAI,EAAE,iBAAiB,EACvB,UAAU,EAAE,aAAa,EACzB,KAAK,EAAE,kBAAkB,EAAE,EAC3B,WAAW,EAAE,mBAAmB,EAChC,IAAI,EAAE,aAAa,CAAC,IAAI,GACtB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA8G/B"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.description = void 0;
|
|
4
|
+
exports.execute = execute;
|
|
5
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
6
|
+
const utilities_1 = require("../../../../../utils/utilities");
|
|
7
|
+
const utils_1 = require("../../helpers/utils");
|
|
8
|
+
const common_descriptions_1 = require("../common.descriptions");
|
|
9
|
+
const properties = [
|
|
10
|
+
{
|
|
11
|
+
displayName: 'Command',
|
|
12
|
+
name: 'deleteCommand',
|
|
13
|
+
type: 'options',
|
|
14
|
+
default: 'truncate',
|
|
15
|
+
options: [
|
|
16
|
+
{
|
|
17
|
+
name: 'Truncate',
|
|
18
|
+
value: 'truncate',
|
|
19
|
+
description: "Only removes the table's data and preserves the table's structure",
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Delete',
|
|
23
|
+
value: 'delete',
|
|
24
|
+
description: "Delete the rows that match the 'Select Rows' conditions below. If no selection is made, all rows in the table are deleted.",
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: 'Drop',
|
|
28
|
+
value: 'drop',
|
|
29
|
+
description: "Deletes the table's data and also the table's structure permanently",
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
...common_descriptions_1.whereFixedCollection,
|
|
35
|
+
displayOptions: {
|
|
36
|
+
show: {
|
|
37
|
+
deleteCommand: ['delete'],
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
...common_descriptions_1.combineConditionsCollection,
|
|
43
|
+
displayOptions: {
|
|
44
|
+
show: {
|
|
45
|
+
deleteCommand: ['delete'],
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
...common_descriptions_1.optionsCollection,
|
|
50
|
+
];
|
|
51
|
+
const displayOptions = {
|
|
52
|
+
show: {
|
|
53
|
+
resource: ['database'],
|
|
54
|
+
operation: ['deleteTable'],
|
|
55
|
+
},
|
|
56
|
+
hide: {
|
|
57
|
+
table: [''],
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
exports.description = (0, utilities_1.updateDisplayOptions)(displayOptions, properties);
|
|
61
|
+
async function execute(runQueries, items, nodeOptions, pool) {
|
|
62
|
+
const queries = [];
|
|
63
|
+
const stmtBatching = nodeOptions.stmtBatching ?? 'independently';
|
|
64
|
+
if (stmtBatching !== 'single') {
|
|
65
|
+
for (let i = 0; i < items.length; i++) {
|
|
66
|
+
const schema = this.getNodeParameter('schema', i, undefined, {
|
|
67
|
+
extractValue: true,
|
|
68
|
+
});
|
|
69
|
+
const table = this.getNodeParameter('table', i, undefined, {
|
|
70
|
+
extractValue: true,
|
|
71
|
+
});
|
|
72
|
+
const deleteCommand = this.getNodeParameter('deleteCommand', i);
|
|
73
|
+
let query = '';
|
|
74
|
+
let values = [];
|
|
75
|
+
const quotedTableName = (0, utils_1.quoteSqlIdentifier)(schema) + '.' + (0, utils_1.quoteSqlIdentifier)(table);
|
|
76
|
+
if (deleteCommand === 'drop') {
|
|
77
|
+
query = `DECLARE
|
|
78
|
+
e_table_missing EXCEPTION;
|
|
79
|
+
PRAGMA EXCEPTION_INIT(e_table_missing, -942);
|
|
80
|
+
BEGIN
|
|
81
|
+
EXECUTE IMMEDIATE ('DROP TABLE ${quotedTableName} PURGE');
|
|
82
|
+
EXCEPTION
|
|
83
|
+
WHEN e_table_missing THEN NULL;
|
|
84
|
+
END;`;
|
|
85
|
+
}
|
|
86
|
+
else if (deleteCommand === 'truncate') {
|
|
87
|
+
query = `TRUNCATE TABLE ${quotedTableName}`;
|
|
88
|
+
}
|
|
89
|
+
else if (deleteCommand === 'delete') {
|
|
90
|
+
const whereClauses = this.getNodeParameter('where', i, []).values || [];
|
|
91
|
+
const combineConditions = this.getNodeParameter('combineConditions', i, 'AND');
|
|
92
|
+
const tableSchema = await (0, utils_1.getColumnMetaData)(this.getNode(), pool, schema, table, i);
|
|
93
|
+
const columnMetaDataObject = (0, utils_1.getColumnMap)(tableSchema);
|
|
94
|
+
[query, values] = (0, utils_1.addWhereClauses)(`DELETE FROM ${quotedTableName}`, whereClauses, combineConditions, columnMetaDataObject);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Invalid delete command, only drop, delete and truncate are supported ', { itemIndex: i });
|
|
98
|
+
}
|
|
99
|
+
const queryWithValues = { query, values };
|
|
100
|
+
queries.push(queryWithValues);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
const deleteCommand = this.getNodeParameter('deleteCommand', 0);
|
|
105
|
+
if (deleteCommand !== 'delete') {
|
|
106
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Invalid command for single-mode batching: only DELETE statements are supported.', { itemIndex: 0 });
|
|
107
|
+
}
|
|
108
|
+
const schema = this.getNodeParameter('schema', 0, undefined, {
|
|
109
|
+
extractValue: true,
|
|
110
|
+
});
|
|
111
|
+
const table = this.getNodeParameter('table', 0, undefined, {
|
|
112
|
+
extractValue: true,
|
|
113
|
+
});
|
|
114
|
+
let query = '';
|
|
115
|
+
let bindDefs = [];
|
|
116
|
+
const quotedTableName = (0, utils_1.quoteSqlIdentifier)(schema) + '.' + (0, utils_1.quoteSqlIdentifier)(table);
|
|
117
|
+
const whereClauses = this.getNodeParameter('where', 0, []).values || [];
|
|
118
|
+
const combineConditions = this.getNodeParameter('combineConditions', 0, 'AND');
|
|
119
|
+
const tableSchema = await (0, utils_1.getColumnMetaData)(this.getNode(), pool, schema, table);
|
|
120
|
+
const columnMetaDataObject = (0, utils_1.getColumnMap)(tableSchema);
|
|
121
|
+
[query, bindDefs] = (0, utils_1.addWhereClauses)(`DELETE FROM ${quotedTableName}`, whereClauses, combineConditions, columnMetaDataObject, true);
|
|
122
|
+
const executeManyValues = [];
|
|
123
|
+
for (let i = 0; i < items.length; i++) {
|
|
124
|
+
const result = [];
|
|
125
|
+
const whereClauses = this.getNodeParameter('where', i, []).values || [];
|
|
126
|
+
for (const clause of whereClauses) {
|
|
127
|
+
const type = columnMetaDataObject[clause.column].type;
|
|
128
|
+
const value = (0, utils_1.getCompatibleValue)(type, clause.value);
|
|
129
|
+
result.push(value);
|
|
130
|
+
}
|
|
131
|
+
executeManyValues.push(result);
|
|
132
|
+
}
|
|
133
|
+
nodeOptions.bindDefs = bindDefs;
|
|
134
|
+
queries.push({ query, executeManyValues });
|
|
135
|
+
}
|
|
136
|
+
return await runQueries(queries, items, nodeOptions);
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=deleteTable.operation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deleteTable.operation.js","sourceRoot":"","sources":["../../../../../../nodes/Oracle/Sql/actions/database/deleteTable.operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { IExecuteFunctions, INodeExecutionData, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
import type oracledb from 'oracledb';
|
|
3
|
+
import type { OracleDBNodeOptions, QueriesRunner } from '../../helpers/interfaces';
|
|
4
|
+
export declare const description: {
|
|
5
|
+
displayOptions: import("n8n-workflow").IDisplayOptions;
|
|
6
|
+
displayName: string;
|
|
7
|
+
name: string;
|
|
8
|
+
type: import("n8n-workflow").NodePropertyTypes;
|
|
9
|
+
typeOptions?: import("n8n-workflow").INodePropertyTypeOptions;
|
|
10
|
+
default: import("n8n-workflow").NodeParameterValueType;
|
|
11
|
+
description?: string;
|
|
12
|
+
hint?: string;
|
|
13
|
+
disabledOptions?: import("n8n-workflow").IDisplayOptions;
|
|
14
|
+
options?: Array<import("n8n-workflow").INodePropertyOptions | INodeProperties | import("n8n-workflow").INodePropertyCollection>;
|
|
15
|
+
placeholder?: string;
|
|
16
|
+
isNodeSetting?: boolean;
|
|
17
|
+
noDataExpression?: boolean;
|
|
18
|
+
required?: boolean;
|
|
19
|
+
routing?: import("n8n-workflow").INodePropertyRouting;
|
|
20
|
+
credentialTypes?: Array<"extends:oAuth2Api" | "extends:oAuth1Api" | "has:authenticate" | "has:genericAuth">;
|
|
21
|
+
extractValue?: import("n8n-workflow").INodePropertyValueExtractor;
|
|
22
|
+
modes?: import("n8n-workflow").INodePropertyMode[];
|
|
23
|
+
requiresDataPath?: "single" | "multiple";
|
|
24
|
+
doNotInherit?: boolean;
|
|
25
|
+
validateType?: import("n8n-workflow").FieldType;
|
|
26
|
+
ignoreValidationDuringExecution?: boolean;
|
|
27
|
+
allowArbitraryValues?: boolean;
|
|
28
|
+
}[];
|
|
29
|
+
/**
|
|
30
|
+
* Query execution function for this node.
|
|
31
|
+
*
|
|
32
|
+
* This method is called once for every execution of the node during a workflow run.
|
|
33
|
+
* It receives input data from the previous node(s) and returns output data to the next node(s).
|
|
34
|
+
*
|
|
35
|
+
*
|
|
36
|
+
* Returns:
|
|
37
|
+
* - An array of `INodeExecutionData` objects containing JSON data and optionally binary data, PairedItem,...
|
|
38
|
+
*/
|
|
39
|
+
export declare function execute(this: IExecuteFunctions, runQueries: QueriesRunner, items: INodeExecutionData[], nodeOptions: OracleDBNodeOptions, _pool?: oracledb.Pool): Promise<INodeExecutionData[]>;
|
|
40
|
+
//# sourceMappingURL=executeQuery.operation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executeQuery.operation.d.ts","sourceRoot":"","sources":["../../../../../../nodes/Oracle/Sql/actions/database/executeQuery.operation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAIrC,OAAO,KAAK,EAEX,mBAAmB,EACnB,aAAa,EAEb,MAAM,0BAA0B,CAAC;AA+BlC,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;GAAmD,CAAC;AAE5E;;;;;;;;;GASG;AACH,wBAAsB,OAAO,CAC5B,IAAI,EAAE,iBAAiB,EACvB,UAAU,EAAE,aAAa,EACzB,KAAK,EAAE,kBAAkB,EAAE,EAC3B,WAAW,EAAE,mBAAmB,EAChC,KAAK,CAAC,EAAE,QAAQ,CAAC,IAAI,GACnB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA6B/B"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.description = void 0;
|
|
4
|
+
exports.execute = execute;
|
|
5
|
+
const utilities_1 = require("../../../../../utils/utilities");
|
|
6
|
+
const utils_1 = require("../../helpers/utils");
|
|
7
|
+
const common_descriptions_1 = require("../common.descriptions");
|
|
8
|
+
const properties = [
|
|
9
|
+
{
|
|
10
|
+
displayName: 'Statement',
|
|
11
|
+
name: 'query',
|
|
12
|
+
type: 'string',
|
|
13
|
+
default: '',
|
|
14
|
+
placeholder: 'e.g. SELECT id, name FROM product WHERE quantity > :1 AND price <= :2',
|
|
15
|
+
noDataExpression: true,
|
|
16
|
+
required: true,
|
|
17
|
+
description: "The SQL statement to execute. You can use n8n expressions and positional parameters like :1, :2, :3, or named parameters like :name, :ID, etc to refer to the 'Bind Variable Placeholder Values' set in options below.",
|
|
18
|
+
typeOptions: {
|
|
19
|
+
editor: 'sqlEditor',
|
|
20
|
+
sqlDialect: 'OracleDB',
|
|
21
|
+
},
|
|
22
|
+
hint: 'Consider using bind parameters to prevent SQL injection attacks. Add them in the options below',
|
|
23
|
+
},
|
|
24
|
+
...common_descriptions_1.optionsCollection,
|
|
25
|
+
];
|
|
26
|
+
const displayOptions = {
|
|
27
|
+
show: {
|
|
28
|
+
resource: ['database'],
|
|
29
|
+
operation: ['execute'],
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
exports.description = (0, utilities_1.updateDisplayOptions)(displayOptions, properties);
|
|
33
|
+
/**
|
|
34
|
+
* Query execution function for this node.
|
|
35
|
+
*
|
|
36
|
+
* This method is called once for every execution of the node during a workflow run.
|
|
37
|
+
* It receives input data from the previous node(s) and returns output data to the next node(s).
|
|
38
|
+
*
|
|
39
|
+
*
|
|
40
|
+
* Returns:
|
|
41
|
+
* - An array of `INodeExecutionData` objects containing JSON data and optionally binary data, PairedItem,...
|
|
42
|
+
*/
|
|
43
|
+
async function execute(runQueries, items, nodeOptions, _pool) {
|
|
44
|
+
const queries = [];
|
|
45
|
+
for (let index = 0; index < items.length; index++) {
|
|
46
|
+
let query = this.getNodeParameter('query', index);
|
|
47
|
+
// Dynamically replaces placeholders ({{...}}) in SQL queries.
|
|
48
|
+
// Ex: SELECT * FROM users WHERE name = '{{ $json["name"] }}'
|
|
49
|
+
// to SELECT * FROM users WHERE name = 'Alice'
|
|
50
|
+
for (const resolvable of (0, utilities_1.getResolvables)(query)) {
|
|
51
|
+
query = query.replace(resolvable, this.evaluateExpression(resolvable, index));
|
|
52
|
+
}
|
|
53
|
+
let values = [];
|
|
54
|
+
// get list of param objects entered by user
|
|
55
|
+
const parameterIDataObjectList = this.getNodeParameter('options.params', index, {})
|
|
56
|
+
.values || [];
|
|
57
|
+
if (parameterIDataObjectList.length) {
|
|
58
|
+
const { updatedQuery, bindParameters } = (0, utils_1.getBindParameters)(query, parameterIDataObjectList);
|
|
59
|
+
query = updatedQuery;
|
|
60
|
+
values = bindParameters;
|
|
61
|
+
}
|
|
62
|
+
queries.push({ query, values });
|
|
63
|
+
}
|
|
64
|
+
return await runQueries(queries, items, nodeOptions);
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=executeQuery.operation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executeQuery.operation.js","sourceRoot":"","sources":["../../../../../../nodes/Oracle/Sql/actions/database/executeQuery.operation.ts"],"names":[],"mappings":";;;AA0DA,0BAmCC;AArFD,gDAAwE;AAQxE,+CAAwD;AACxD,gEAA2D;AAE3D,MAAM,UAAU,GAAsB;IACrC;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,uEAAuE;QACpF,gBAAgB,EAAE,IAAI;QACtB,QAAQ,EAAE,IAAI;QACd,WAAW,EACV,wNAAwN;QACzN,WAAW,EAAE;YACZ,MAAM,EAAE,WAAW;YACnB,UAAU,EAAE,UAAU;SACtB;QACD,IAAI,EAAE,gGAAgG;KACtG;IACD,GAAG,uCAAiB;CACpB,CAAC;AAEF,MAAM,cAAc,GAAG;IACtB,IAAI,EAAE;QACL,QAAQ,EAAE,CAAC,UAAU,CAAC;QACtB,SAAS,EAAE,CAAC,SAAS,CAAC;KACtB;CACD,CAAC;AAEW,QAAA,WAAW,GAAG,IAAA,gCAAoB,EAAC,cAAc,EAAE,UAAU,CAAC,CAAC;AAE5E;;;;;;;;;GASG;AACI,KAAK,UAAU,OAAO,CAE5B,UAAyB,EACzB,KAA2B,EAC3B,WAAgC,EAChC,KAAqB;IAErB,MAAM,OAAO,GAAsB,EAAE,CAAC;IAEtC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACnD,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAW,CAAC;QAE5D,8DAA8D;QAC9D,6DAA6D;QAC7D,8CAA8C;QAC9C,KAAK,MAAM,UAAU,IAAI,IAAA,0BAAc,EAAC,KAAK,CAAC,EAAE,CAAC;YAChD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAW,CAAC,CAAC;QACzF,CAAC;QAED,IAAI,MAAM,GAAQ,EAAE,CAAC;QAErB,4CAA4C;QAC5C,MAAM,wBAAwB,GAC3B,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,EAAE,EAAE,CAAiB;aAClE,MAA+B,IAAI,EAAE,CAAC;QACzC,IAAI,wBAAwB,CAAC,MAAM,EAAE,CAAC;YACrC,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,IAAA,yBAAiB,EAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;YAC5F,KAAK,GAAG,YAAY,CAAC;YACrB,MAAM,GAAG,cAAc,CAAC;QACzB,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,MAAM,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { IExecuteFunctions, INodeExecutionData, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
import type * as oracleDBTypes from 'oracledb';
|
|
3
|
+
import type { QueriesRunner, OracleDBNodeOptions } from '../../helpers/interfaces';
|
|
4
|
+
export declare const description: {
|
|
5
|
+
displayOptions: import("n8n-workflow").IDisplayOptions;
|
|
6
|
+
displayName: string;
|
|
7
|
+
name: string;
|
|
8
|
+
type: import("n8n-workflow").NodePropertyTypes;
|
|
9
|
+
typeOptions?: import("n8n-workflow").INodePropertyTypeOptions;
|
|
10
|
+
default: import("n8n-workflow").NodeParameterValueType;
|
|
11
|
+
description?: string;
|
|
12
|
+
hint?: string;
|
|
13
|
+
disabledOptions?: import("n8n-workflow").IDisplayOptions;
|
|
14
|
+
options?: Array<import("n8n-workflow").INodePropertyOptions | INodeProperties | import("n8n-workflow").INodePropertyCollection>;
|
|
15
|
+
placeholder?: string;
|
|
16
|
+
isNodeSetting?: boolean;
|
|
17
|
+
noDataExpression?: boolean;
|
|
18
|
+
required?: boolean;
|
|
19
|
+
routing?: import("n8n-workflow").INodePropertyRouting;
|
|
20
|
+
credentialTypes?: Array<"extends:oAuth2Api" | "extends:oAuth1Api" | "has:authenticate" | "has:genericAuth">;
|
|
21
|
+
extractValue?: import("n8n-workflow").INodePropertyValueExtractor;
|
|
22
|
+
modes?: import("n8n-workflow").INodePropertyMode[];
|
|
23
|
+
requiresDataPath?: "single" | "multiple";
|
|
24
|
+
doNotInherit?: boolean;
|
|
25
|
+
validateType?: import("n8n-workflow").FieldType;
|
|
26
|
+
ignoreValidationDuringExecution?: boolean;
|
|
27
|
+
allowArbitraryValues?: boolean;
|
|
28
|
+
}[];
|
|
29
|
+
export declare function execute(this: IExecuteFunctions, runQueries: QueriesRunner, items: INodeExecutionData[], nodeOptions: OracleDBNodeOptions, pool: oracleDBTypes.Pool): Promise<INodeExecutionData[]>;
|
|
30
|
+
//# sourceMappingURL=insert.operation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insert.operation.d.ts","sourceRoot":"","sources":["../../../../../../nodes/Oracle/Sql/actions/database/insert.operation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EAEf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,KAAK,aAAa,MAAM,UAAU,CAAC;AAI/C,OAAO,KAAK,EAEX,aAAa,EACb,mBAAmB,EAGnB,MAAM,0BAA0B,CAAC;AAoDlC,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;GAAmD,CAAC;AAgD5E,wBAAsB,OAAO,CAC5B,IAAI,EAAE,iBAAiB,EACvB,UAAU,EAAE,aAAa,EACzB,KAAK,EAAE,kBAAkB,EAAE,EAC3B,WAAW,EAAE,mBAAmB,EAChC,IAAI,EAAE,aAAa,CAAC,IAAI,GACtB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA8G/B"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.description = void 0;
|
|
4
|
+
exports.execute = execute;
|
|
5
|
+
const utilities_1 = require("../../../../../utils/utilities");
|
|
6
|
+
const utils_1 = require("../../helpers/utils");
|
|
7
|
+
const common_descriptions_1 = require("../common.descriptions");
|
|
8
|
+
const properties = [
|
|
9
|
+
{
|
|
10
|
+
displayName: 'Columns',
|
|
11
|
+
name: 'columns',
|
|
12
|
+
type: 'resourceMapper',
|
|
13
|
+
default: {
|
|
14
|
+
mappingMode: 'defineBelow',
|
|
15
|
+
value: null,
|
|
16
|
+
},
|
|
17
|
+
noDataExpression: true,
|
|
18
|
+
required: true,
|
|
19
|
+
typeOptions: {
|
|
20
|
+
loadOptionsDependsOn: ['table.value', 'operation'],
|
|
21
|
+
resourceMapper: {
|
|
22
|
+
resourceMapperMethod: 'getMappingColumns',
|
|
23
|
+
mode: 'add',
|
|
24
|
+
fieldWords: {
|
|
25
|
+
singular: 'column',
|
|
26
|
+
plural: 'columns',
|
|
27
|
+
},
|
|
28
|
+
addAllFields: true,
|
|
29
|
+
multiKeyMatch: true,
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
...common_descriptions_1.optionsCollection,
|
|
34
|
+
];
|
|
35
|
+
const displayOptions = {
|
|
36
|
+
show: {
|
|
37
|
+
resource: ['database'],
|
|
38
|
+
operation: ['insert'],
|
|
39
|
+
},
|
|
40
|
+
hide: {
|
|
41
|
+
table: [''],
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
exports.description = (0, utilities_1.updateDisplayOptions)(displayOptions, properties);
|
|
45
|
+
function getQueryBindParameters(node, query, values, columnMetaDataObject, inputColumns, outputColumns, item, index) {
|
|
46
|
+
(0, utils_1.checkItemAgainstSchema)(node, inputColumns, columnMetaDataObject, item, index);
|
|
47
|
+
const [quotedColsArray, replacements, posIndex] = (0, utils_1.getInBindParametersForExecute)(inputColumns, columnMetaDataObject, item, 'insert', values);
|
|
48
|
+
const quotedCols = quotedColsArray.join(',');
|
|
49
|
+
query = `${query} (${quotedCols}) VALUES (${replacements})`;
|
|
50
|
+
if (outputColumns.length > 0) {
|
|
51
|
+
const updatedQuery = (0, utils_1.getOutBindDefsForExecute)(query, columnMetaDataObject, outputColumns, values, posIndex);
|
|
52
|
+
query = updatedQuery;
|
|
53
|
+
}
|
|
54
|
+
return query;
|
|
55
|
+
}
|
|
56
|
+
/*
|
|
57
|
+
* Executes the Node.
|
|
58
|
+
*
|
|
59
|
+
* @param this Function context (accesses params, helpers).
|
|
60
|
+
* @param runQueries Helper function that executes an array of queries.
|
|
61
|
+
* @param items Array of input data items.
|
|
62
|
+
* @param nodeOptions Node configuration (version, execute options).
|
|
63
|
+
* @param pool Database pool object to get Connections to execute.
|
|
64
|
+
* @returns Promise which has INodeExecutionData array capturing results.
|
|
65
|
+
*/
|
|
66
|
+
async function execute(runQueries, items, nodeOptions, pool) {
|
|
67
|
+
let schema = this.getNodeParameter('schema', 0, undefined, {
|
|
68
|
+
extractValue: true,
|
|
69
|
+
});
|
|
70
|
+
let table = this.getNodeParameter('table', 0, undefined, {
|
|
71
|
+
extractValue: true,
|
|
72
|
+
});
|
|
73
|
+
let tableSchema = await (0, utils_1.getColumnMetaData)(this.getNode(), pool, schema, table);
|
|
74
|
+
const queries = [];
|
|
75
|
+
const stmtBatching = nodeOptions.stmtBatching || 'single';
|
|
76
|
+
if (stmtBatching === 'single') {
|
|
77
|
+
// We assume that the items passed have uniform keys.
|
|
78
|
+
// Ex:
|
|
79
|
+
// { "id": 1, "name": "Alice" }
|
|
80
|
+
// { "id": 2, "name": "Bob" }
|
|
81
|
+
// but not
|
|
82
|
+
// { "id": 1, "name": "Alice" }
|
|
83
|
+
// { "id": 2, "age": 25 }
|
|
84
|
+
//
|
|
85
|
+
// Also the schema and table are not changing in each item.
|
|
86
|
+
const dataMode = this.getNodeParameter('columns.mappingMode', 0);
|
|
87
|
+
let item = {};
|
|
88
|
+
if (dataMode === 'autoMapInputData') {
|
|
89
|
+
item = items[0].json;
|
|
90
|
+
}
|
|
91
|
+
else if (dataMode === 'defineBelow') {
|
|
92
|
+
item = this.getNodeParameter('columns.value', 0);
|
|
93
|
+
}
|
|
94
|
+
const columnMetaDataObject = (0, utils_1.getColumnMap)(tableSchema);
|
|
95
|
+
const inputColumns = Object.keys(item);
|
|
96
|
+
let query = `INSERT INTO ${(0, utils_1.quoteSqlIdentifier)(schema)}.${(0, utils_1.quoteSqlIdentifier)(table)}`;
|
|
97
|
+
let outputColumns = this.getNodeParameter('options.outputColumns', 0, []);
|
|
98
|
+
if (outputColumns.includes('*'))
|
|
99
|
+
outputColumns = Object.keys(columnMetaDataObject);
|
|
100
|
+
query = (0, utils_1.getBindDefsForExecuteMany)(this.getNode(), query, columnMetaDataObject, inputColumns, outputColumns, item, nodeOptions);
|
|
101
|
+
const executeManyValues = [];
|
|
102
|
+
for (let i = 0; i < items.length; i++) {
|
|
103
|
+
if (dataMode === 'autoMapInputData') {
|
|
104
|
+
item = items[i].json;
|
|
105
|
+
}
|
|
106
|
+
if (dataMode === 'defineBelow') {
|
|
107
|
+
item = this.getNodeParameter('columns.value', i);
|
|
108
|
+
}
|
|
109
|
+
const newItem = (0, utils_1.formatItemValues)(item, columnMetaDataObject);
|
|
110
|
+
executeManyValues.push(newItem);
|
|
111
|
+
}
|
|
112
|
+
queries.push({ query, executeManyValues, outputColumns });
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
const updateTableSchema = (0, utils_1.configureTableSchemaUpdater)(this.getNode(), schema, table);
|
|
116
|
+
for (let i = 0; i < items.length; i++) {
|
|
117
|
+
schema = this.getNodeParameter('schema', i, undefined, {
|
|
118
|
+
extractValue: true,
|
|
119
|
+
});
|
|
120
|
+
table = this.getNodeParameter('table', i, undefined, {
|
|
121
|
+
extractValue: true,
|
|
122
|
+
});
|
|
123
|
+
const dataMode = this.getNodeParameter('columns.mappingMode', i);
|
|
124
|
+
let item = {};
|
|
125
|
+
if (dataMode === 'autoMapInputData') {
|
|
126
|
+
item = items[i].json;
|
|
127
|
+
// Column refresh is needed only for 'autoMapInputData'
|
|
128
|
+
tableSchema = await updateTableSchema(pool, tableSchema, schema, table, i);
|
|
129
|
+
}
|
|
130
|
+
else if (dataMode === 'defineBelow') {
|
|
131
|
+
item = this.getNodeParameter('columns.value', i);
|
|
132
|
+
}
|
|
133
|
+
const columnMetaDataObject = (0, utils_1.getColumnMap)(tableSchema);
|
|
134
|
+
const inputColumns = Object.keys(item);
|
|
135
|
+
let query = `INSERT INTO ${(0, utils_1.quoteSqlIdentifier)(schema)}.${(0, utils_1.quoteSqlIdentifier)(table)}`;
|
|
136
|
+
let outputColumns = this.getNodeParameter('options.outputColumns', i, []);
|
|
137
|
+
const bindParams = [];
|
|
138
|
+
if (outputColumns.includes('*'))
|
|
139
|
+
outputColumns = Object.keys(columnMetaDataObject);
|
|
140
|
+
query = getQueryBindParameters(this.getNode(), query, bindParams, columnMetaDataObject, inputColumns, outputColumns, item, i);
|
|
141
|
+
queries.push({ query, values: bindParams, outputColumns });
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return await runQueries(queries, items, nodeOptions);
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=insert.operation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insert.operation.js","sourceRoot":"","sources":["../../../../../../nodes/Oracle/Sql/actions/database/insert.operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { IExecuteFunctions, INodeExecutionData, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
import type * as oracleDBTypes from 'oracledb';
|
|
3
|
+
import type { OracleDBNodeOptions, QueriesRunner } from '../../helpers/interfaces';
|
|
4
|
+
export declare const description: {
|
|
5
|
+
displayOptions: import("n8n-workflow").IDisplayOptions;
|
|
6
|
+
displayName: string;
|
|
7
|
+
name: string;
|
|
8
|
+
type: import("n8n-workflow").NodePropertyTypes;
|
|
9
|
+
typeOptions?: import("n8n-workflow").INodePropertyTypeOptions;
|
|
10
|
+
default: import("n8n-workflow").NodeParameterValueType;
|
|
11
|
+
description?: string;
|
|
12
|
+
hint?: string;
|
|
13
|
+
disabledOptions?: import("n8n-workflow").IDisplayOptions;
|
|
14
|
+
options?: Array<import("n8n-workflow").INodePropertyOptions | INodeProperties | import("n8n-workflow").INodePropertyCollection>;
|
|
15
|
+
placeholder?: string;
|
|
16
|
+
isNodeSetting?: boolean;
|
|
17
|
+
noDataExpression?: boolean;
|
|
18
|
+
required?: boolean;
|
|
19
|
+
routing?: import("n8n-workflow").INodePropertyRouting;
|
|
20
|
+
credentialTypes?: Array<"extends:oAuth2Api" | "extends:oAuth1Api" | "has:authenticate" | "has:genericAuth">;
|
|
21
|
+
extractValue?: import("n8n-workflow").INodePropertyValueExtractor;
|
|
22
|
+
modes?: import("n8n-workflow").INodePropertyMode[];
|
|
23
|
+
requiresDataPath?: "single" | "multiple";
|
|
24
|
+
doNotInherit?: boolean;
|
|
25
|
+
validateType?: import("n8n-workflow").FieldType;
|
|
26
|
+
ignoreValidationDuringExecution?: boolean;
|
|
27
|
+
allowArbitraryValues?: boolean;
|
|
28
|
+
}[];
|
|
29
|
+
export declare function execute(this: IExecuteFunctions, runQueries: QueriesRunner, items: INodeExecutionData[], nodeOptions: OracleDBNodeOptions, pool: oracleDBTypes.Pool): Promise<INodeExecutionData[]>;
|
|
30
|
+
//# sourceMappingURL=select.operation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.operation.d.ts","sourceRoot":"","sources":["../../../../../../nodes/Oracle/Sql/actions/database/select.operation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,KAAK,aAAa,MAAM,UAAU,CAAC;AAI/C,OAAO,KAAK,EACX,mBAAmB,EACnB,aAAa,EAIb,MAAM,0BAA0B,CAAC;AA8DlC,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;GAAmD,CAAC;AAE5E,wBAAsB,OAAO,CAC5B,IAAI,EAAE,iBAAiB,EACvB,UAAU,EAAE,aAAa,EACzB,KAAK,EAAE,kBAAkB,EAAE,EAC3B,WAAW,EAAE,mBAAmB,EAChC,IAAI,EAAE,aAAa,CAAC,IAAI,GACtB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA6C/B"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.description = void 0;
|
|
4
|
+
exports.execute = execute;
|
|
5
|
+
const utilities_1 = require("../../../../../utils/utilities");
|
|
6
|
+
const utils_1 = require("../../helpers/utils");
|
|
7
|
+
const common_descriptions_1 = require("../common.descriptions");
|
|
8
|
+
const properties = [
|
|
9
|
+
{
|
|
10
|
+
displayName: 'Return All',
|
|
11
|
+
name: 'returnAll',
|
|
12
|
+
type: 'boolean',
|
|
13
|
+
default: false,
|
|
14
|
+
description: 'Whether to return all results or only up to a given limit',
|
|
15
|
+
displayOptions: {
|
|
16
|
+
show: {
|
|
17
|
+
resource: ['database'],
|
|
18
|
+
operation: ['select'],
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
displayName: 'Limit',
|
|
24
|
+
name: 'limit',
|
|
25
|
+
type: 'number',
|
|
26
|
+
default: 50,
|
|
27
|
+
description: 'Max number of results to return',
|
|
28
|
+
typeOptions: {
|
|
29
|
+
minValue: 1,
|
|
30
|
+
},
|
|
31
|
+
displayOptions: {
|
|
32
|
+
show: {
|
|
33
|
+
resource: ['database'],
|
|
34
|
+
operation: ['select'],
|
|
35
|
+
returnAll: [false],
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
common_descriptions_1.whereFixedCollection,
|
|
40
|
+
common_descriptions_1.combineConditionsCollection,
|
|
41
|
+
common_descriptions_1.sortFixedCollection,
|
|
42
|
+
...common_descriptions_1.optionsCollection,
|
|
43
|
+
];
|
|
44
|
+
const displayOptions = {
|
|
45
|
+
show: {
|
|
46
|
+
resource: ['database'],
|
|
47
|
+
operation: ['select'],
|
|
48
|
+
},
|
|
49
|
+
hide: {
|
|
50
|
+
table: [''],
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
exports.description = (0, utilities_1.updateDisplayOptions)(displayOptions, properties);
|
|
54
|
+
async function execute(runQueries, items, nodeOptions, pool) {
|
|
55
|
+
const queries = [];
|
|
56
|
+
for (let i = 0; i < items.length; i++) {
|
|
57
|
+
const schema = this.getNodeParameter('schema', i, undefined, {
|
|
58
|
+
extractValue: true,
|
|
59
|
+
});
|
|
60
|
+
const table = this.getNodeParameter('table', i, undefined, {
|
|
61
|
+
extractValue: true,
|
|
62
|
+
});
|
|
63
|
+
const tableSchema = await (0, utils_1.getColumnMetaData)(this.getNode(), pool, schema, table, i);
|
|
64
|
+
const columnMetaDataObject = (0, utils_1.getColumnMap)(tableSchema);
|
|
65
|
+
let values = [];
|
|
66
|
+
const outputColumns = this.getNodeParameter('options.outputColumns', i, ['*']);
|
|
67
|
+
let query = '';
|
|
68
|
+
if (outputColumns.includes('*')) {
|
|
69
|
+
query = `SELECT * FROM ${(0, utils_1.quoteSqlIdentifier)(schema)}.${(0, utils_1.quoteSqlIdentifier)(table)}`;
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
const quotedColumns = outputColumns.map(utils_1.quoteSqlIdentifier).join(',');
|
|
73
|
+
query = `SELECT ${quotedColumns} FROM ${(0, utils_1.quoteSqlIdentifier)(schema)}.${(0, utils_1.quoteSqlIdentifier)(table)}`;
|
|
74
|
+
}
|
|
75
|
+
const whereClauses = this.getNodeParameter('where', i, []).values || [];
|
|
76
|
+
const combineConditions = this.getNodeParameter('combineConditions', i, 'AND');
|
|
77
|
+
[query, values] = (0, utils_1.addWhereClauses)(query, whereClauses, combineConditions, columnMetaDataObject);
|
|
78
|
+
const sortRules = this.getNodeParameter('sort', i, []).values || [];
|
|
79
|
+
query = (0, utils_1.addSortRules)(query, sortRules);
|
|
80
|
+
const returnAll = this.getNodeParameter('returnAll', i, false);
|
|
81
|
+
if (!returnAll) {
|
|
82
|
+
const limit = this.getNodeParameter('limit', i, 50);
|
|
83
|
+
query += ` FETCH FIRST ${limit} ROWS ONLY`;
|
|
84
|
+
}
|
|
85
|
+
const queryWithValues = { query, values };
|
|
86
|
+
queries.push(queryWithValues);
|
|
87
|
+
}
|
|
88
|
+
return await runQueries(queries, items, nodeOptions);
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=select.operation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.operation.js","sourceRoot":"","sources":["../../../../../../nodes/Oracle/Sql/actions/database/select.operation.ts"],"names":[],"mappings":"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"}
|