forge-sql-orm 2.1.18 → 2.1.22

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.
Files changed (76) hide show
  1. package/README.md +9 -8
  2. package/dist/async/index.d.ts +2 -0
  3. package/dist/async/index.d.ts.map +1 -0
  4. package/dist/async/index.js +18 -0
  5. package/dist/async/index.js.map +1 -0
  6. package/dist/core/ForgeSQLORM.d.ts +7 -7
  7. package/dist/core/ForgeSQLORM.d.ts.map +1 -1
  8. package/dist/core/ForgeSQLORM.js +2 -2
  9. package/dist/core/ForgeSQLORM.js.map +1 -1
  10. package/dist/core/ForgeSQLQueryBuilder.d.ts +55 -2
  11. package/dist/core/ForgeSQLQueryBuilder.d.ts.map +1 -1
  12. package/dist/core/ForgeSQLQueryBuilder.js.map +1 -1
  13. package/dist/core/Rovo.d.ts +104 -50
  14. package/dist/core/Rovo.d.ts.map +1 -1
  15. package/dist/core/Rovo.js +174 -59
  16. package/dist/core/Rovo.js.map +1 -1
  17. package/dist/core/index.d.ts +5 -0
  18. package/dist/core/index.d.ts.map +1 -0
  19. package/dist/core/index.js +21 -0
  20. package/dist/core/index.js.map +1 -0
  21. package/dist/index.d.ts +4 -8
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +4 -8
  24. package/dist/index.js.map +1 -1
  25. package/dist/lib/index.d.ts +2 -0
  26. package/dist/lib/index.d.ts.map +1 -0
  27. package/dist/lib/index.js +18 -0
  28. package/dist/lib/index.js.map +1 -0
  29. package/dist/utils/cacheContextUtils.js +1 -1
  30. package/dist/utils/cacheContextUtils.js.map +1 -1
  31. package/dist/utils/cacheUtils.d.ts.map +1 -1
  32. package/dist/utils/cacheUtils.js +1 -1
  33. package/dist/utils/cacheUtils.js.map +1 -1
  34. package/dist/utils/forgeDriver.js +2 -2
  35. package/dist/utils/forgeDriver.js.map +1 -1
  36. package/dist/utils/index.d.ts +3 -0
  37. package/dist/utils/index.d.ts.map +1 -0
  38. package/dist/utils/index.js +19 -0
  39. package/dist/utils/index.js.map +1 -0
  40. package/dist/utils/sqlUtils.d.ts +11 -2
  41. package/dist/utils/sqlUtils.d.ts.map +1 -1
  42. package/dist/utils/sqlUtils.js +30 -9
  43. package/dist/utils/sqlUtils.js.map +1 -1
  44. package/dist/webtriggers/clearCacheSchedulerTrigger.d.ts +2 -0
  45. package/dist/webtriggers/clearCacheSchedulerTrigger.d.ts.map +1 -1
  46. package/dist/webtriggers/clearCacheSchedulerTrigger.js +2 -0
  47. package/dist/webtriggers/clearCacheSchedulerTrigger.js.map +1 -1
  48. package/dist/webtriggers/dropMigrationWebTrigger.d.ts +3 -1
  49. package/dist/webtriggers/dropMigrationWebTrigger.d.ts.map +1 -1
  50. package/dist/webtriggers/dropMigrationWebTrigger.js +9 -3
  51. package/dist/webtriggers/dropMigrationWebTrigger.js.map +1 -1
  52. package/dist/webtriggers/dropTablesMigrationWebTrigger.d.ts +3 -1
  53. package/dist/webtriggers/dropTablesMigrationWebTrigger.d.ts.map +1 -1
  54. package/dist/webtriggers/dropTablesMigrationWebTrigger.js +7 -1
  55. package/dist/webtriggers/dropTablesMigrationWebTrigger.js.map +1 -1
  56. package/dist/webtriggers/fetchSchemaWebTrigger.d.ts +3 -1
  57. package/dist/webtriggers/fetchSchemaWebTrigger.d.ts.map +1 -1
  58. package/dist/webtriggers/fetchSchemaWebTrigger.js +8 -1
  59. package/dist/webtriggers/fetchSchemaWebTrigger.js.map +1 -1
  60. package/package.json +12 -11
  61. package/src/async/index.ts +1 -0
  62. package/src/core/ForgeSQLORM.ts +1 -1
  63. package/src/core/ForgeSQLQueryBuilder.ts +59 -2
  64. package/src/core/Rovo.ts +181 -59
  65. package/src/core/index.ts +4 -0
  66. package/src/index.ts +8 -8
  67. package/src/lib/index.ts +1 -0
  68. package/src/utils/cacheContextUtils.ts +1 -1
  69. package/src/utils/cacheUtils.ts +1 -3
  70. package/src/utils/forgeDriver.ts +2 -2
  71. package/src/utils/index.ts +2 -0
  72. package/src/utils/sqlUtils.ts +23 -4
  73. package/src/webtriggers/clearCacheSchedulerTrigger.ts +2 -0
  74. package/src/webtriggers/dropMigrationWebTrigger.ts +12 -3
  75. package/src/webtriggers/dropTablesMigrationWebTrigger.ts +11 -2
  76. package/src/webtriggers/fetchSchemaWebTrigger.ts +8 -1
@@ -1,5 +1,8 @@
1
1
  import { sql } from "@forge/sql";
2
- import { generateDropTableStatements as generateStatements } from "../utils/sqlUtils";
2
+ import {
3
+ checkProductionEnvironment,
4
+ generateDropTableStatements as generateStatements,
5
+ } from "../utils/sqlUtils";
3
6
  import { getHttpResponse, TriggerResponse } from "./index";
4
7
  import { getTables } from "../core/SystemTables";
5
8
 
@@ -15,9 +18,11 @@ import { getTables } from "../core/SystemTables";
15
18
  * - It may affect application functionality
16
19
  * - It could lead to data loss and system instability
17
20
  *
21
+ * @note This function is automatically disabled in production environments and will return a 500 error if called.
22
+ *
18
23
  * @returns {Promise<TriggerResponse<string>>} A response containing:
19
24
  * - On success: 200 status with warning message about permanent deletion
20
- * - On failure: 500 status with error message
25
+ * - On failure: 500 status with error message (including when called in production)
21
26
  *
22
27
  * @example
23
28
  * ```typescript
@@ -27,6 +32,10 @@ import { getTables } from "../core/SystemTables";
27
32
  * ```
28
33
  */
29
34
  export async function dropTableSchemaMigrations(): Promise<TriggerResponse<string>> {
35
+ const productionCheck = checkProductionEnvironment("dropTableSchemaMigrations");
36
+ if (productionCheck) {
37
+ return productionCheck;
38
+ }
30
39
  try {
31
40
  const tables = await getTables();
32
41
  // Generate drop statements
@@ -2,6 +2,7 @@ import { sql } from "@forge/sql";
2
2
  import { getHttpResponse, TriggerResponse } from "./index";
3
3
  import { forgeSystemTables, getTables } from "../core/SystemTables";
4
4
  import { getTableName } from "drizzle-orm/table";
5
+ import { checkProductionEnvironment } from "../utils/sqlUtils";
5
6
 
6
7
  interface CreateTableRow {
7
8
  Table: string;
@@ -20,9 +21,11 @@ interface CreateTableRow {
20
21
  * - Generates SQL that could potentially be used maliciously
21
22
  * - May expose sensitive table names and structures
22
23
  *
24
+ * @note This function is automatically disabled in production environments and will return a 500 error if called.
25
+ *
23
26
  * @returns {Promise<TriggerResponse<string>>} A response containing SQL statements to recreate the database schema
24
27
  * - On success: Returns 200 status with SQL statements
25
- * - On failure: Returns 500 status with error message
28
+ * - On failure: Returns 500 status with error message (including when called in production)
26
29
  *
27
30
  * @example
28
31
  * ```typescript
@@ -34,6 +37,10 @@ interface CreateTableRow {
34
37
  * ```
35
38
  */
36
39
  export async function fetchSchemaWebTrigger(): Promise<TriggerResponse<string>> {
40
+ const productionCheck = checkProductionEnvironment("fetchSchemaWebTrigger");
41
+ if (productionCheck) {
42
+ return productionCheck;
43
+ }
37
44
  try {
38
45
  const tables = await getTables();
39
46
  const createTableStatements = await generateCreateTableStatements(tables);