npm package diff
Package: @forge/sql
Versions: 2.2.3 - 2.3.0-next.0
File: package/out/sql.js
Index: package/out/sql.js
===================================================================
--- package/out/sql.js
+++ package/out/sql.js
@@ -1,11 +1,15 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
-exports.sql = exports.SqlClient = void 0;
+exports.sql = exports.SqlClient = exports.SQL_API_ENDPOINTS = void 0;
const api_1 = require("@forge/api");
const sql_statement_1 = require("./sql-statement");
const error_handling_1 = require("./utils/error-handling");
const errors_1 = require("./errors");
+exports.SQL_API_ENDPOINTS = {
+ EXECUTE: '/api/v1/execute',
+ EXECUTE_DDL: '/api/v1/execute/ddl'
+};
class SqlClient {
async sendRequest(path, options) {
const response = await (0, api_1.__fetchProduct)({ provider: 'app', remote: 'sql' })(path, {
...options,
@@ -16,10 +20,10 @@
}
});
return response;
}
- async storageApi(query, params = [], method = 'all') {
- const response = await this.sendRequest('api/v1/execute', {
+ async storageApi(query, params = [], method = 'all', endpoint = exports.SQL_API_ENDPOINTS.EXECUTE) {
+ const response = await this.sendRequest(endpoint, {
method: 'POST',
body: JSON.stringify({ query, params, method })
});
await (0, error_handling_1.checkResponseError)(response);
@@ -30,19 +34,27 @@
catch (error) {
throw new errors_1.ForgeSQLError(`Unexpected error. Response was not valid JSON: ${responseText}`);
}
}
- prepare(query) {
- return new sql_statement_1.SqlStatement(query, this.storageApi.bind(this));
+ async storageApiWithOptions(query, options = {}) {
+ const { endpoint = exports.SQL_API_ENDPOINTS.EXECUTE, params = [], method = 'all' } = options;
+ return await this.storageApi(query, params, method, endpoint);
}
+ prepare(query, endpoint = exports.SQL_API_ENDPOINTS.EXECUTE) {
+ const remoteSqlApi = (query, params, method) => this.storageApiWithOptions(query, { endpoint, params, method });
+ return new sql_statement_1.SqlStatement(query, remoteSqlApi);
+ }
async executeRaw(query) {
- return await this.prepare(query).execute();
+ return await this.prepare(query, exports.SQL_API_ENDPOINTS.EXECUTE).execute();
}
async _provision() {
const response = await this.sendRequest('/api/v1/provision', {
method: 'POST'
});
await (0, error_handling_1.checkResponseError)(response, 'Unexpected error in provision request');
}
+ async executeDDL(query) {
+ return await this.prepare(query, exports.SQL_API_ENDPOINTS.EXECUTE_DDL).execute();
+ }
}
exports.SqlClient = SqlClient;
exports.sql = new SqlClient();