@teamkeel/functions-runtime 0.225.1 → 0.227.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/index.d.ts +3 -6
- package/dist/index.js +36 -99
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -57,12 +57,9 @@ declare module '@teamkeel/functions-runtime/db/query' {
|
|
|
57
57
|
declare module '@teamkeel/functions-runtime/db/resolver' {
|
|
58
58
|
import { SqlQueryParts } from "@teamkeel/functions-runtime/db/query";
|
|
59
59
|
export interface QueryResolver {
|
|
60
|
-
runQuery(query: SqlQueryParts): Promise<
|
|
60
|
+
runQuery(query: SqlQueryParts): Promise<QueryResultRow[]>;
|
|
61
61
|
runRawQuery(query: string): Promise<QueryResultRow[]>;
|
|
62
62
|
}
|
|
63
|
-
export interface QueryResult {
|
|
64
|
-
rows: QueryResultRow[];
|
|
65
|
-
}
|
|
66
63
|
export interface QueryResultRow {
|
|
67
64
|
[column: string]: any;
|
|
68
65
|
}
|
|
@@ -73,7 +70,7 @@ declare module '@teamkeel/functions-runtime/db/resolver' {
|
|
|
73
70
|
connectionString: string;
|
|
74
71
|
});
|
|
75
72
|
runRawQuery(query: string): Promise<QueryResultRow[]>;
|
|
76
|
-
runQuery(query: SqlQueryParts): Promise<
|
|
73
|
+
runQuery(query: SqlQueryParts): Promise<QueryResultRow[]>;
|
|
77
74
|
private toQuery;
|
|
78
75
|
}
|
|
79
76
|
export class AwsRdsDataClientQueryResolver implements QueryResolver {
|
|
@@ -88,7 +85,7 @@ declare module '@teamkeel/functions-runtime/db/resolver' {
|
|
|
88
85
|
dbName: string;
|
|
89
86
|
});
|
|
90
87
|
runRawQuery(sql: string): Promise<QueryResultRow[]>;
|
|
91
|
-
runQuery(query: SqlQueryParts): Promise<
|
|
88
|
+
runQuery(query: SqlQueryParts): Promise<QueryResultRow[]>;
|
|
92
89
|
private toQuery;
|
|
93
90
|
private toDataApiFormat;
|
|
94
91
|
}
|
package/dist/index.js
CHANGED
|
@@ -25970,6 +25970,10 @@ var dateParam = (d) => {
|
|
|
25970
25970
|
return d;
|
|
25971
25971
|
};
|
|
25972
25972
|
|
|
25973
|
+
// src/util/camelCaser.ts
|
|
25974
|
+
var import_change_case2 = __toESM(require_dist15());
|
|
25975
|
+
var camelCaser_default = (input) => (0, import_change_case2.camelCase)(input);
|
|
25976
|
+
|
|
25973
25977
|
// src/query.ts
|
|
25974
25978
|
var ChainableQuery = class {
|
|
25975
25979
|
constructor({
|
|
@@ -25988,9 +25992,9 @@ var ChainableQuery = class {
|
|
|
25988
25992
|
this.conditions,
|
|
25989
25993
|
this.orderClauses
|
|
25990
25994
|
);
|
|
25991
|
-
const
|
|
25995
|
+
const rows = await this.execute(sql);
|
|
25992
25996
|
return {
|
|
25993
|
-
collection:
|
|
25997
|
+
collection: rows
|
|
25994
25998
|
};
|
|
25995
25999
|
};
|
|
25996
26000
|
this.findOne = async () => {
|
|
@@ -26000,9 +26004,9 @@ var ChainableQuery = class {
|
|
|
26000
26004
|
void 0,
|
|
26001
26005
|
1
|
|
26002
26006
|
);
|
|
26003
|
-
const
|
|
26007
|
+
const rows = await this.execute(sql);
|
|
26004
26008
|
return {
|
|
26005
|
-
object:
|
|
26009
|
+
object: rows[0],
|
|
26006
26010
|
errors: []
|
|
26007
26011
|
};
|
|
26008
26012
|
};
|
|
@@ -26011,7 +26015,7 @@ var ChainableQuery = class {
|
|
|
26011
26015
|
return this;
|
|
26012
26016
|
};
|
|
26013
26017
|
this.execute = async (query) => {
|
|
26014
|
-
return this.queryResolver.runQuery(query);
|
|
26018
|
+
return this.queryResolver.runQuery(query).then(rowsWithObjectKeysCamelCased);
|
|
26015
26019
|
};
|
|
26016
26020
|
this.tableName = tableName;
|
|
26017
26021
|
this.conditions = conditions;
|
|
@@ -26034,11 +26038,11 @@ var Query = class {
|
|
|
26034
26038
|
};
|
|
26035
26039
|
const values = { ...inputs, ...builtIns };
|
|
26036
26040
|
const query = buildCreateStatement(this.tableName, values);
|
|
26037
|
-
const
|
|
26041
|
+
const rows = await this.execute(query);
|
|
26038
26042
|
return {
|
|
26039
26043
|
object: {
|
|
26040
26044
|
...inputs,
|
|
26041
|
-
id:
|
|
26045
|
+
id: rows[0].id
|
|
26042
26046
|
},
|
|
26043
26047
|
errors: []
|
|
26044
26048
|
};
|
|
@@ -26056,16 +26060,16 @@ var Query = class {
|
|
|
26056
26060
|
};
|
|
26057
26061
|
this.delete = async (id) => {
|
|
26058
26062
|
const query = buildDeleteStatement(this.tableName, id);
|
|
26059
|
-
const
|
|
26063
|
+
const rows = await this.execute(query);
|
|
26060
26064
|
return {
|
|
26061
|
-
success:
|
|
26065
|
+
success: rows.length === 1
|
|
26062
26066
|
};
|
|
26063
26067
|
};
|
|
26064
26068
|
this.findOne = async (conditions) => {
|
|
26065
26069
|
const query = buildSelectStatement(this.tableName, [conditions]);
|
|
26066
|
-
const
|
|
26070
|
+
const rows = await this.execute(query);
|
|
26067
26071
|
return {
|
|
26068
|
-
object:
|
|
26072
|
+
object: rows[0],
|
|
26069
26073
|
errors: []
|
|
26070
26074
|
};
|
|
26071
26075
|
};
|
|
@@ -26082,13 +26086,13 @@ var Query = class {
|
|
|
26082
26086
|
};
|
|
26083
26087
|
this.all = async () => {
|
|
26084
26088
|
const sql = buildSelectStatement(this.tableName, this.conditions);
|
|
26085
|
-
const
|
|
26089
|
+
const rows = await this.execute(sql);
|
|
26086
26090
|
return {
|
|
26087
|
-
collection:
|
|
26091
|
+
collection: rows
|
|
26088
26092
|
};
|
|
26089
26093
|
};
|
|
26090
26094
|
this.execute = async (query) => {
|
|
26091
|
-
return this.queryResolver.runQuery(query);
|
|
26095
|
+
return this.queryResolver.runQuery(query).then(rowsWithObjectKeysCamelCased);
|
|
26092
26096
|
};
|
|
26093
26097
|
this.tableName = tableName;
|
|
26094
26098
|
this.conditions = [];
|
|
@@ -26096,6 +26100,19 @@ var Query = class {
|
|
|
26096
26100
|
this.logger = logger;
|
|
26097
26101
|
}
|
|
26098
26102
|
};
|
|
26103
|
+
var rowsWithObjectKeysCamelCased = (rows) => {
|
|
26104
|
+
return rows.map((row) => {
|
|
26105
|
+
if (row && typeof row === "object") {
|
|
26106
|
+
const camelCasedKeysObject = {};
|
|
26107
|
+
for (let key of Object.keys(row)) {
|
|
26108
|
+
camelCasedKeysObject[camelCaser_default(key)] = row[key];
|
|
26109
|
+
}
|
|
26110
|
+
return camelCasedKeysObject;
|
|
26111
|
+
} else {
|
|
26112
|
+
return row;
|
|
26113
|
+
}
|
|
26114
|
+
});
|
|
26115
|
+
};
|
|
26099
26116
|
|
|
26100
26117
|
// src/constraints.ts
|
|
26101
26118
|
var constraints_exports = {};
|
|
@@ -26199,12 +26216,6 @@ var customFunctions_default = handler;
|
|
|
26199
26216
|
// src/db/resolver.ts
|
|
26200
26217
|
var import_pg = __toESM(require_lib2());
|
|
26201
26218
|
var import_client_rds_data = __toESM(require_dist_cjs47());
|
|
26202
|
-
|
|
26203
|
-
// src/util/camelCaser.ts
|
|
26204
|
-
var import_change_case2 = __toESM(require_dist15());
|
|
26205
|
-
var camelCaser_default = (input) => (0, import_change_case2.camelCase)(input);
|
|
26206
|
-
|
|
26207
|
-
// src/db/resolver.ts
|
|
26208
26219
|
function queryResolverFromEnv(env) {
|
|
26209
26220
|
const dbConnType = env["DB_CONN_TYPE"];
|
|
26210
26221
|
switch (dbConnType) {
|
|
@@ -26246,25 +26257,11 @@ var PgQueryResolver = class {
|
|
|
26246
26257
|
this.pool = new import_pg.default.Pool({ connectionString: config.connectionString });
|
|
26247
26258
|
}
|
|
26248
26259
|
async runRawQuery(query) {
|
|
26249
|
-
|
|
26250
|
-
return result.rows;
|
|
26260
|
+
return this.runQuery([rawSql(query)]);
|
|
26251
26261
|
}
|
|
26252
26262
|
async runQuery(query) {
|
|
26253
26263
|
const result = await this.pool.query(this.toQuery(query));
|
|
26254
|
-
|
|
26255
|
-
result.rows = result.rows.map((row) => {
|
|
26256
|
-
if (row && typeof row === "object") {
|
|
26257
|
-
const camelCasedKeysObject = {};
|
|
26258
|
-
for (let key of Object.keys(row)) {
|
|
26259
|
-
camelCasedKeysObject[camelCaser_default(key)] = row[key];
|
|
26260
|
-
}
|
|
26261
|
-
return camelCasedKeysObject;
|
|
26262
|
-
} else {
|
|
26263
|
-
return row;
|
|
26264
|
-
}
|
|
26265
|
-
});
|
|
26266
|
-
}
|
|
26267
|
-
return result;
|
|
26264
|
+
return result.rows;
|
|
26268
26265
|
}
|
|
26269
26266
|
toQuery(query) {
|
|
26270
26267
|
let nextInterpolationIndex = 1;
|
|
@@ -26289,56 +26286,7 @@ var AwsRdsDataClientQueryResolver = class {
|
|
|
26289
26286
|
this.dbName = config.dbName;
|
|
26290
26287
|
}
|
|
26291
26288
|
async runRawQuery(sql) {
|
|
26292
|
-
|
|
26293
|
-
resourceArn: this.dbClusterResourceArn,
|
|
26294
|
-
secretArn: this.dbCredentialsSecretArn,
|
|
26295
|
-
database: this.dbName,
|
|
26296
|
-
sql,
|
|
26297
|
-
includeResultMetadata: true
|
|
26298
|
-
};
|
|
26299
|
-
const command = new import_client_rds_data.ExecuteStatementCommand(input);
|
|
26300
|
-
const data = await this.client.send(command);
|
|
26301
|
-
const rows = data.records.map((fieldArray) => {
|
|
26302
|
-
const row = {};
|
|
26303
|
-
for (let i = 0; i < fieldArray.length; i++) {
|
|
26304
|
-
const field = fieldArray[i];
|
|
26305
|
-
const column = data.columnMetadata[i].name;
|
|
26306
|
-
const typeName = data.columnMetadata[i].typeName;
|
|
26307
|
-
const value = import_client_rds_data.Field.visit(field, {
|
|
26308
|
-
isNull: function(value2) {
|
|
26309
|
-
return null;
|
|
26310
|
-
},
|
|
26311
|
-
booleanValue: function(value2) {
|
|
26312
|
-
return value2;
|
|
26313
|
-
},
|
|
26314
|
-
longValue: function(value2) {
|
|
26315
|
-
return value2;
|
|
26316
|
-
},
|
|
26317
|
-
doubleValue: function(value2) {
|
|
26318
|
-
return value2;
|
|
26319
|
-
},
|
|
26320
|
-
stringValue: function(value2) {
|
|
26321
|
-
if (typeName === "timestamp") {
|
|
26322
|
-
return new Date(value2);
|
|
26323
|
-
} else {
|
|
26324
|
-
return value2;
|
|
26325
|
-
}
|
|
26326
|
-
},
|
|
26327
|
-
blobValue: function(value2) {
|
|
26328
|
-
return value2;
|
|
26329
|
-
},
|
|
26330
|
-
arrayValue: function(value2) {
|
|
26331
|
-
return value2;
|
|
26332
|
-
},
|
|
26333
|
-
_: function(name, value2) {
|
|
26334
|
-
return value2;
|
|
26335
|
-
}
|
|
26336
|
-
});
|
|
26337
|
-
row[column] = value;
|
|
26338
|
-
}
|
|
26339
|
-
return row;
|
|
26340
|
-
});
|
|
26341
|
-
return rows;
|
|
26289
|
+
return this.runQuery([rawSql(sql)]);
|
|
26342
26290
|
}
|
|
26343
26291
|
async runQuery(query) {
|
|
26344
26292
|
const { sql, params } = this.toQuery(query);
|
|
@@ -26353,7 +26301,7 @@ var AwsRdsDataClientQueryResolver = class {
|
|
|
26353
26301
|
const command = new import_client_rds_data.ExecuteStatementCommand(input);
|
|
26354
26302
|
const data = await this.client.send(command);
|
|
26355
26303
|
if (!data.records) {
|
|
26356
|
-
return
|
|
26304
|
+
return [];
|
|
26357
26305
|
}
|
|
26358
26306
|
const rows = data.records.map((fieldArray) => {
|
|
26359
26307
|
const row = {};
|
|
@@ -26395,18 +26343,7 @@ var AwsRdsDataClientQueryResolver = class {
|
|
|
26395
26343
|
}
|
|
26396
26344
|
return row;
|
|
26397
26345
|
});
|
|
26398
|
-
|
|
26399
|
-
if (row && typeof row === "object") {
|
|
26400
|
-
const camelCasedKeysObject = {};
|
|
26401
|
-
for (let key of Object.keys(row)) {
|
|
26402
|
-
camelCasedKeysObject[camelCaser_default(key)] = row[key];
|
|
26403
|
-
}
|
|
26404
|
-
return camelCasedKeysObject;
|
|
26405
|
-
} else {
|
|
26406
|
-
return row;
|
|
26407
|
-
}
|
|
26408
|
-
});
|
|
26409
|
-
return { rows: rowsWithObjectKeysCamelCased };
|
|
26346
|
+
return rows;
|
|
26410
26347
|
}
|
|
26411
26348
|
toQuery(query) {
|
|
26412
26349
|
let nextInterpolationIndex = 1;
|