@carbonorm/carbonnode 4.0.0 → 5.0.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.
Files changed (158) hide show
  1. package/README.md +246 -507
  2. package/dist/api/executors/SqlExecutor.d.ts +6 -0
  3. package/dist/api/handlers/ExpressHandler.d.ts +2 -1
  4. package/dist/api/orm/builders/ConditionBuilder.d.ts +2 -0
  5. package/dist/api/types/ormInterfaces.d.ts +12 -0
  6. package/dist/api/utils/sqlAllowList.d.ts +2 -0
  7. package/dist/index.cjs.js +279 -20
  8. package/dist/index.cjs.js.map +1 -1
  9. package/dist/index.d.ts +1 -0
  10. package/dist/index.esm.js +278 -21
  11. package/dist/index.esm.js.map +1 -1
  12. package/package.json +1 -1
  13. package/scripts/assets/handlebars/C6.test.ts.handlebars +578 -32
  14. package/scripts/generateRestBindings.cjs +5 -5
  15. package/scripts/generateRestBindings.ts +5 -5
  16. package/src/__tests__/fixtures/createTestServer.ts +11 -3
  17. package/src/__tests__/fixtures/sqlResponses/actor.get.json +13 -0
  18. package/src/__tests__/fixtures/sqlResponses/sqlAllowList.blocked.json +3 -0
  19. package/src/__tests__/fixtures/sqlResponses/sqlAllowList.json +3 -0
  20. package/src/__tests__/sakila-db/C6.js +1 -1
  21. package/src/__tests__/sakila-db/C6.mysql.cnf +6 -0
  22. package/src/__tests__/sakila-db/C6.mysqldump.json +1 -0
  23. package/src/__tests__/sakila-db/C6.mysqldump.sql +720 -0
  24. package/src/__tests__/sakila-db/C6.sqlAllowList.json +94 -0
  25. package/src/__tests__/sakila-db/C6.test.ts +578 -32
  26. package/src/__tests__/sakila-db/C6.ts +1 -1
  27. package/src/__tests__/sakila-db/sqlResponses/C6.actor.delete.json +10 -0
  28. package/src/__tests__/sakila-db/sqlResponses/C6.actor.delete.lookup.json +9 -0
  29. package/src/__tests__/sakila-db/sqlResponses/C6.actor.get.json +14 -0
  30. package/src/__tests__/sakila-db/sqlResponses/C6.actor.join.json +15 -0
  31. package/src/__tests__/sakila-db/sqlResponses/C6.actor.post.json +12 -0
  32. package/src/__tests__/sakila-db/sqlResponses/C6.actor.post.latest.json +14 -0
  33. package/src/__tests__/sakila-db/sqlResponses/C6.actor.put.json +11 -0
  34. package/src/__tests__/sakila-db/sqlResponses/C6.actor.put.lookup.json +16 -0
  35. package/src/__tests__/sakila-db/sqlResponses/C6.actor.seed.json +14 -0
  36. package/src/__tests__/sakila-db/sqlResponses/C6.address.delete.json +10 -0
  37. package/src/__tests__/sakila-db/sqlResponses/C6.address.delete.lookup.json +9 -0
  38. package/src/__tests__/sakila-db/sqlResponses/C6.address.fk.current.json +358 -0
  39. package/src/__tests__/sakila-db/sqlResponses/C6.address.fk.referenced.json +158 -0
  40. package/src/__tests__/sakila-db/sqlResponses/C6.address.get.json +22 -0
  41. package/src/__tests__/sakila-db/sqlResponses/C6.address.join.json +24 -0
  42. package/src/__tests__/sakila-db/sqlResponses/C6.address.post.json +16 -0
  43. package/src/__tests__/sakila-db/sqlResponses/C6.address.post.latest.json +22 -0
  44. package/src/__tests__/sakila-db/sqlResponses/C6.address.put.json +11 -0
  45. package/src/__tests__/sakila-db/sqlResponses/C6.address.put.lookup.json +24 -0
  46. package/src/__tests__/sakila-db/sqlResponses/C6.address.seed.json +22 -0
  47. package/src/__tests__/sakila-db/sqlResponses/C6.category.delete.json +10 -0
  48. package/src/__tests__/sakila-db/sqlResponses/C6.category.delete.lookup.json +9 -0
  49. package/src/__tests__/sakila-db/sqlResponses/C6.category.get.json +13 -0
  50. package/src/__tests__/sakila-db/sqlResponses/C6.category.join.json +14 -0
  51. package/src/__tests__/sakila-db/sqlResponses/C6.category.post.json +11 -0
  52. package/src/__tests__/sakila-db/sqlResponses/C6.category.post.latest.json +13 -0
  53. package/src/__tests__/sakila-db/sqlResponses/C6.category.put.json +11 -0
  54. package/src/__tests__/sakila-db/sqlResponses/C6.category.put.lookup.json +15 -0
  55. package/src/__tests__/sakila-db/sqlResponses/C6.category.seed.json +13 -0
  56. package/src/__tests__/sakila-db/sqlResponses/C6.city.delete.json +10 -0
  57. package/src/__tests__/sakila-db/sqlResponses/C6.city.delete.lookup.json +9 -0
  58. package/src/__tests__/sakila-db/sqlResponses/C6.city.fk.current.json +158 -0
  59. package/src/__tests__/sakila-db/sqlResponses/C6.city.fk.referenced.json +133 -0
  60. package/src/__tests__/sakila-db/sqlResponses/C6.city.get.json +14 -0
  61. package/src/__tests__/sakila-db/sqlResponses/C6.city.join.json +15 -0
  62. package/src/__tests__/sakila-db/sqlResponses/C6.city.post.json +12 -0
  63. package/src/__tests__/sakila-db/sqlResponses/C6.city.post.latest.json +14 -0
  64. package/src/__tests__/sakila-db/sqlResponses/C6.city.put.json +11 -0
  65. package/src/__tests__/sakila-db/sqlResponses/C6.city.put.lookup.json +16 -0
  66. package/src/__tests__/sakila-db/sqlResponses/C6.city.seed.json +14 -0
  67. package/src/__tests__/sakila-db/sqlResponses/C6.country.delete.json +10 -0
  68. package/src/__tests__/sakila-db/sqlResponses/C6.country.delete.lookup.json +9 -0
  69. package/src/__tests__/sakila-db/sqlResponses/C6.country.get.json +13 -0
  70. package/src/__tests__/sakila-db/sqlResponses/C6.country.join.json +15 -0
  71. package/src/__tests__/sakila-db/sqlResponses/C6.country.post.json +11 -0
  72. package/src/__tests__/sakila-db/sqlResponses/C6.country.post.latest.json +13 -0
  73. package/src/__tests__/sakila-db/sqlResponses/C6.country.put.json +11 -0
  74. package/src/__tests__/sakila-db/sqlResponses/C6.country.put.lookup.json +15 -0
  75. package/src/__tests__/sakila-db/sqlResponses/C6.country.seed.json +13 -0
  76. package/src/__tests__/sakila-db/sqlResponses/C6.customer.delete.json +10 -0
  77. package/src/__tests__/sakila-db/sqlResponses/C6.customer.delete.lookup.json +9 -0
  78. package/src/__tests__/sakila-db/sqlResponses/C6.customer.fk.current.json +283 -0
  79. package/src/__tests__/sakila-db/sqlResponses/C6.customer.fk.referenced.json +358 -0
  80. package/src/__tests__/sakila-db/sqlResponses/C6.customer.get.json +19 -0
  81. package/src/__tests__/sakila-db/sqlResponses/C6.customer.join.json +29 -0
  82. package/src/__tests__/sakila-db/sqlResponses/C6.customer.post.json +17 -0
  83. package/src/__tests__/sakila-db/sqlResponses/C6.customer.post.latest.json +19 -0
  84. package/src/__tests__/sakila-db/sqlResponses/C6.customer.put.json +11 -0
  85. package/src/__tests__/sakila-db/sqlResponses/C6.customer.put.lookup.json +21 -0
  86. package/src/__tests__/sakila-db/sqlResponses/C6.customer.seed.json +19 -0
  87. package/src/__tests__/sakila-db/sqlResponses/C6.film.delete.json +10 -0
  88. package/src/__tests__/sakila-db/sqlResponses/C6.film.delete.lookup.json +9 -0
  89. package/src/__tests__/sakila-db/sqlResponses/C6.film.fk.current.json +383 -0
  90. package/src/__tests__/sakila-db/sqlResponses/C6.film.fk.referenced.json +38 -0
  91. package/src/__tests__/sakila-db/sqlResponses/C6.film.get.json +23 -0
  92. package/src/__tests__/sakila-db/sqlResponses/C6.film.join.json +24 -0
  93. package/src/__tests__/sakila-db/sqlResponses/C6.film.post.json +20 -0
  94. package/src/__tests__/sakila-db/sqlResponses/C6.film.post.latest.json +23 -0
  95. package/src/__tests__/sakila-db/sqlResponses/C6.film.put.json +11 -0
  96. package/src/__tests__/sakila-db/sqlResponses/C6.film.put.lookup.json +25 -0
  97. package/src/__tests__/sakila-db/sqlResponses/C6.film.seed.json +23 -0
  98. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.delete.json +10 -0
  99. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.delete.lookup.json +9 -0
  100. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.fk.current.json +158 -0
  101. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.fk.referenced.json +20 -0
  102. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.get.json +14 -0
  103. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.join.json +25 -0
  104. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.post.json +12 -0
  105. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.post.latest.json +14 -0
  106. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.put.json +11 -0
  107. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.put.lookup.json +16 -0
  108. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.seed.json +14 -0
  109. package/src/__tests__/sakila-db/sqlResponses/C6.language.delete.json +10 -0
  110. package/src/__tests__/sakila-db/sqlResponses/C6.language.delete.lookup.json +9 -0
  111. package/src/__tests__/sakila-db/sqlResponses/C6.language.get.json +13 -0
  112. package/src/__tests__/sakila-db/sqlResponses/C6.language.join.json +24 -0
  113. package/src/__tests__/sakila-db/sqlResponses/C6.language.post.json +11 -0
  114. package/src/__tests__/sakila-db/sqlResponses/C6.language.post.latest.json +13 -0
  115. package/src/__tests__/sakila-db/sqlResponses/C6.language.put.json +11 -0
  116. package/src/__tests__/sakila-db/sqlResponses/C6.language.put.lookup.json +15 -0
  117. package/src/__tests__/sakila-db/sqlResponses/C6.language.seed.json +13 -0
  118. package/src/__tests__/sakila-db/sqlResponses/C6.payment.delete.json +10 -0
  119. package/src/__tests__/sakila-db/sqlResponses/C6.payment.delete.lookup.json +9 -0
  120. package/src/__tests__/sakila-db/sqlResponses/C6.payment.fk.current.json +233 -0
  121. package/src/__tests__/sakila-db/sqlResponses/C6.payment.fk.referenced.json +233 -0
  122. package/src/__tests__/sakila-db/sqlResponses/C6.payment.get.json +17 -0
  123. package/src/__tests__/sakila-db/sqlResponses/C6.payment.join.json +24 -0
  124. package/src/__tests__/sakila-db/sqlResponses/C6.payment.post.json +15 -0
  125. package/src/__tests__/sakila-db/sqlResponses/C6.payment.post.latest.json +17 -0
  126. package/src/__tests__/sakila-db/sqlResponses/C6.payment.put.json +11 -0
  127. package/src/__tests__/sakila-db/sqlResponses/C6.payment.put.lookup.json +19 -0
  128. package/src/__tests__/sakila-db/sqlResponses/C6.payment.seed.json +17 -0
  129. package/src/__tests__/sakila-db/sqlResponses/C6.rental.delete.json +10 -0
  130. package/src/__tests__/sakila-db/sqlResponses/C6.rental.delete.lookup.json +9 -0
  131. package/src/__tests__/sakila-db/sqlResponses/C6.rental.fk.current.json +233 -0
  132. package/src/__tests__/sakila-db/sqlResponses/C6.rental.fk.referenced.json +34 -0
  133. package/src/__tests__/sakila-db/sqlResponses/C6.rental.get.json +17 -0
  134. package/src/__tests__/sakila-db/sqlResponses/C6.rental.join.json +24 -0
  135. package/src/__tests__/sakila-db/sqlResponses/C6.rental.post.json +15 -0
  136. package/src/__tests__/sakila-db/sqlResponses/C6.rental.post.latest.json +17 -0
  137. package/src/__tests__/sakila-db/sqlResponses/C6.rental.put.json +11 -0
  138. package/src/__tests__/sakila-db/sqlResponses/C6.rental.put.lookup.json +19 -0
  139. package/src/__tests__/sakila-db/sqlResponses/C6.rental.seed.json +17 -0
  140. package/src/__tests__/sakila-db/sqlResponses/C6.staff.fk.current.json +34 -0
  141. package/src/__tests__/sakila-db/sqlResponses/C6.staff.fk.referenced.json +20 -0
  142. package/src/__tests__/sakila-db/sqlResponses/C6.staff.get.json +21 -0
  143. package/src/__tests__/sakila-db/sqlResponses/C6.staff.join.json +31 -0
  144. package/src/__tests__/sakila-db/sqlResponses/C6.staff.seed.json +21 -0
  145. package/src/__tests__/sakila-db/sqlResponses/C6.store.fk.current.json +20 -0
  146. package/src/__tests__/sakila-db/sqlResponses/C6.store.fk.referenced.json +34 -0
  147. package/src/__tests__/sakila-db/sqlResponses/C6.store.get.json +14 -0
  148. package/src/__tests__/sakila-db/sqlResponses/C6.store.join.json +24 -0
  149. package/src/__tests__/sakila-db/sqlResponses/C6.store.seed.json +14 -0
  150. package/src/__tests__/sakila.generated.test.ts +31 -0
  151. package/src/__tests__/sqlAllowList.test.ts +135 -0
  152. package/src/__tests__/sqlBuilders.test.ts +17 -0
  153. package/src/api/executors/SqlExecutor.ts +156 -0
  154. package/src/api/handlers/ExpressHandler.ts +10 -1
  155. package/src/api/orm/builders/ConditionBuilder.ts +27 -7
  156. package/src/api/types/ormInterfaces.ts +15 -0
  157. package/src/api/utils/sqlAllowList.ts +54 -0
  158. package/src/index.ts +1 -0
@@ -0,0 +1,94 @@
1
+ [
2
+ "DELETE `actor` FROM `actor` WHERE (actor.actor_id) = ?",
3
+ "DELETE `address` FROM `address` WHERE (address.address_id) = ?",
4
+ "DELETE `category` FROM `category` WHERE (category.category_id) = ?",
5
+ "DELETE `city` FROM `city` WHERE (city.city_id) = ?",
6
+ "DELETE `country` FROM `country` WHERE (country.country_id) = ?",
7
+ "DELETE `customer` FROM `customer` WHERE (customer.customer_id) = ?",
8
+ "DELETE `film` FROM `film` WHERE (film.film_id) = ?",
9
+ "DELETE `inventory` FROM `inventory` WHERE (inventory.inventory_id) = ?",
10
+ "DELETE `language` FROM `language` WHERE (language.language_id) = ?",
11
+ "DELETE `payment` FROM `payment` WHERE (payment.payment_id) = ?",
12
+ "DELETE `rental` FROM `rental` WHERE (rental.rental_id) = ?",
13
+ "INSERT INTO `actor` ( `first_name`, `last_name`, `last_update` ) VALUES ( ?, ?, ? )",
14
+ "INSERT INTO `address` ( `address`, `address2`, `district`, `city_id`, `postal_code`, `phone`, `location`, `last_update` ) VALUES ( ?, ?, ?, ?, ?, ?, ST_GeomFromText('POINT(0 0)'), ? )",
15
+ "INSERT INTO `category` ( `name`, `last_update` ) VALUES ( ?, ? )",
16
+ "INSERT INTO `city` ( `city`, `country_id`, `last_update` ) VALUES ( ?, ?, ? )",
17
+ "INSERT INTO `country` ( `country`, `last_update` ) VALUES ( ?, ? )",
18
+ "INSERT INTO `customer` ( `store_id`, `first_name`, `last_name`, `email`, `address_id`, `active`, `create_date`, `last_update` ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ? )",
19
+ "INSERT INTO `film` ( `title`, `release_year`, `language_id`, `original_language_id`, `rental_duration`, `rental_rate`, `length`, `replacement_cost`, `rating`, `special_features`, `last_update` ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )",
20
+ "INSERT INTO `inventory` ( `film_id`, `store_id`, `last_update` ) VALUES ( ?, ?, ? )",
21
+ "INSERT INTO `language` ( `name`, `last_update` ) VALUES ( ?, ? )",
22
+ "INSERT INTO `payment` ( `customer_id`, `staff_id`, `rental_id`, `amount`, `payment_date`, `last_update` ) VALUES ( ?, ?, ?, ?, ?, ? )",
23
+ "INSERT INTO `rental` ( `rental_date`, `inventory_id`, `customer_id`, `return_date`, `staff_id`, `last_update` ) VALUES ( ?, ?, ?, ?, ?, ? )",
24
+ "SELECT * FROM `actor` INNER JOIN `film_actor` AS `film_actor_ref` ON ((film_actor_ref.actor_id) = actor.actor_id) LIMIT 1",
25
+ "SELECT * FROM `actor` LIMIT 1",
26
+ "SELECT * FROM `actor` ORDER BY actor.actor_id DESC LIMIT 1",
27
+ "SELECT * FROM `actor` WHERE (actor.actor_id) = ? LIMIT 100",
28
+ "SELECT * FROM `address` INNER JOIN `city` AS `city_ref` ON ((city_ref.city_id) = address.city_id) LIMIT 1",
29
+ "SELECT * FROM `address` LIMIT 1",
30
+ "SELECT * FROM `address` LIMIT 25",
31
+ "SELECT * FROM `address` ORDER BY address.address_id DESC LIMIT 1",
32
+ "SELECT * FROM `address` WHERE (address.address_id) = ? LIMIT 100",
33
+ "SELECT * FROM `category` INNER JOIN `film_category` AS `film_category_ref` ON ((film_category_ref.category_id) = category.category_id) LIMIT 1",
34
+ "SELECT * FROM `category` LIMIT 1",
35
+ "SELECT * FROM `category` ORDER BY category.category_id DESC LIMIT 1",
36
+ "SELECT * FROM `category` WHERE (category.category_id) = ? LIMIT 100",
37
+ "SELECT * FROM `city` INNER JOIN `country` AS `country_ref` ON ((country_ref.country_id) = city.country_id) LIMIT 1",
38
+ "SELECT * FROM `city` LIMIT 1",
39
+ "SELECT * FROM `city` LIMIT 25",
40
+ "SELECT * FROM `city` ORDER BY city.city_id DESC LIMIT 1",
41
+ "SELECT * FROM `city` WHERE (city.city_id) = ? LIMIT 100",
42
+ "SELECT * FROM `country` INNER JOIN `city` AS `city_ref` ON ((city_ref.country_id) = country.country_id) LIMIT 1",
43
+ "SELECT * FROM `country` LIMIT 1",
44
+ "SELECT * FROM `country` LIMIT 25",
45
+ "SELECT * FROM `country` ORDER BY country.country_id DESC LIMIT 1",
46
+ "SELECT * FROM `country` WHERE (country.country_id) = ? LIMIT 100",
47
+ "SELECT * FROM `customer` INNER JOIN `address` AS `address_ref` ON ((address_ref.address_id) = customer.address_id) LIMIT 1",
48
+ "SELECT * FROM `customer` LIMIT 1",
49
+ "SELECT * FROM `customer` LIMIT 25",
50
+ "SELECT * FROM `customer` ORDER BY customer.customer_id DESC LIMIT 1",
51
+ "SELECT * FROM `customer` WHERE (customer.customer_id) = ? LIMIT 100",
52
+ "SELECT * FROM `film` INNER JOIN `language` AS `language_ref` ON ((language_ref.language_id) = film.language_id) LIMIT 1",
53
+ "SELECT * FROM `film` LIMIT 1",
54
+ "SELECT * FROM `film` LIMIT 25",
55
+ "SELECT * FROM `film` ORDER BY film.film_id DESC LIMIT 1",
56
+ "SELECT * FROM `film` WHERE (film.film_id) = ? LIMIT 100",
57
+ "SELECT * FROM `inventory` INNER JOIN `film` AS `film_ref` ON ((film_ref.film_id) = inventory.film_id) LIMIT 1",
58
+ "SELECT * FROM `inventory` LIMIT 1",
59
+ "SELECT * FROM `inventory` LIMIT 25",
60
+ "SELECT * FROM `inventory` ORDER BY inventory.inventory_id DESC LIMIT 1",
61
+ "SELECT * FROM `inventory` WHERE (inventory.inventory_id) = ? LIMIT 100",
62
+ "SELECT * FROM `language` INNER JOIN `film` AS `film_ref` ON ((film_ref.language_id) = language.language_id) LIMIT 1",
63
+ "SELECT * FROM `language` LIMIT 1",
64
+ "SELECT * FROM `language` LIMIT 25",
65
+ "SELECT * FROM `language` ORDER BY language.language_id DESC LIMIT 1",
66
+ "SELECT * FROM `language` WHERE (language.language_id) = ? LIMIT 100",
67
+ "SELECT * FROM `payment` INNER JOIN `customer` AS `customer_ref` ON ((customer_ref.customer_id) = payment.customer_id) LIMIT 1",
68
+ "SELECT * FROM `payment` LIMIT 1",
69
+ "SELECT * FROM `payment` LIMIT 25",
70
+ "SELECT * FROM `payment` ORDER BY payment.payment_id DESC LIMIT 1",
71
+ "SELECT * FROM `payment` WHERE (payment.payment_id) = ? LIMIT 100",
72
+ "SELECT * FROM `rental` INNER JOIN `customer` AS `customer_ref` ON ((customer_ref.customer_id) = rental.customer_id) LIMIT 1",
73
+ "SELECT * FROM `rental` LIMIT 1",
74
+ "SELECT * FROM `rental` LIMIT 25",
75
+ "SELECT * FROM `rental` ORDER BY rental.rental_id DESC LIMIT 1",
76
+ "SELECT * FROM `rental` WHERE (rental.rental_id) = ? LIMIT 100",
77
+ "SELECT * FROM `staff` INNER JOIN `address` AS `address_ref` ON ((address_ref.address_id) = staff.address_id) LIMIT 1",
78
+ "SELECT * FROM `staff` LIMIT 1",
79
+ "SELECT * FROM `staff` LIMIT 25",
80
+ "SELECT * FROM `store` INNER JOIN `address` AS `address_ref` ON ((address_ref.address_id) = store.address_id) LIMIT 1",
81
+ "SELECT * FROM `store` LIMIT 1",
82
+ "SELECT * FROM `store` LIMIT 25",
83
+ "UPDATE `actor` SET `first_name` = ? WHERE (actor.actor_id) = ?",
84
+ "UPDATE `address` SET `address` = ? WHERE (address.address_id) = ?",
85
+ "UPDATE `category` SET `name` = ? WHERE (category.category_id) = ?",
86
+ "UPDATE `city` SET `city` = ? WHERE (city.city_id) = ?",
87
+ "UPDATE `country` SET `country` = ? WHERE (country.country_id) = ?",
88
+ "UPDATE `customer` SET `first_name` = ? WHERE (customer.customer_id) = ?",
89
+ "UPDATE `film` SET `title` = ? WHERE (film.film_id) = ?",
90
+ "UPDATE `inventory` SET `last_update` = ? WHERE (inventory.inventory_id) = ?",
91
+ "UPDATE `language` SET `name` = ? WHERE (language.language_id) = ?",
92
+ "UPDATE `payment` SET `amount` = ? WHERE (payment.payment_id) = ?",
93
+ "UPDATE `rental` SET `rental_date` = ? WHERE (rental.rental_id) = ?"
94
+ ]