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();