drizzle-orm 0.10.29 → 0.10.32

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 (363) hide show
  1. package/{dist/index.js → index.js} +0 -0
  2. package/package.json +7 -5
  3. package/.eslintrc +0 -28
  4. package/.tslintignore +0 -1
  5. package/CHANGELOG.md +0 -202
  6. package/README.md +0 -439
  7. package/dist/builders/aggregators/abstractAggregator.d.ts +0 -11
  8. package/dist/builders/aggregators/abstractAggregator.js +0 -35
  9. package/dist/builders/aggregators/deleteAggregator.d.ts +0 -16
  10. package/dist/builders/aggregators/deleteAggregator.js +0 -42
  11. package/dist/builders/aggregators/insertAggregator.d.ts +0 -22
  12. package/dist/builders/aggregators/insertAggregator.js +0 -106
  13. package/dist/builders/aggregators/selectAggregator.d.ts +0 -39
  14. package/dist/builders/aggregators/selectAggregator.js +0 -143
  15. package/dist/builders/aggregators/updateAggregator.d.ts +0 -19
  16. package/dist/builders/aggregators/updateAggregator.js +0 -50
  17. package/dist/builders/highLvlBuilders/abstractRequestBuilder.d.ts +0 -27
  18. package/dist/builders/highLvlBuilders/abstractRequestBuilder.js +0 -32
  19. package/dist/builders/highLvlBuilders/deleteRequestBuilder.d.ts +0 -19
  20. package/dist/builders/highLvlBuilders/deleteRequestBuilder.js +0 -61
  21. package/dist/builders/highLvlBuilders/insertRequestBuilder.d.ts +0 -20
  22. package/dist/builders/highLvlBuilders/insertRequestBuilder.js +0 -73
  23. package/dist/builders/highLvlBuilders/order.d.ts +0 -5
  24. package/dist/builders/highLvlBuilders/order.js +0 -8
  25. package/dist/builders/highLvlBuilders/selectRequestBuilder.d.ts +0 -47
  26. package/dist/builders/highLvlBuilders/selectRequestBuilder.js +0 -128
  27. package/dist/builders/highLvlBuilders/updateRequestBuilder.d.ts +0 -22
  28. package/dist/builders/highLvlBuilders/updateRequestBuilder.js +0 -80
  29. package/dist/builders/index.d.ts +0 -18
  30. package/dist/builders/index.js +0 -54
  31. package/dist/builders/joinBuilders/builders/abstractJoinBuilder.d.ts +0 -40
  32. package/dist/builders/joinBuilders/builders/abstractJoinBuilder.js +0 -78
  33. package/dist/builders/joinBuilders/builders/selectWithFiveJoins.d.ts +0 -35
  34. package/dist/builders/joinBuilders/builders/selectWithFiveJoins.js +0 -45
  35. package/dist/builders/joinBuilders/builders/selectWithFourJoins.d.ts +0 -55
  36. package/dist/builders/joinBuilders/builders/selectWithFourJoins.js +0 -78
  37. package/dist/builders/joinBuilders/builders/selectWithJoin.d.ts +0 -49
  38. package/dist/builders/joinBuilders/builders/selectWithJoin.js +0 -64
  39. package/dist/builders/joinBuilders/builders/selectWithThreeJoins.d.ts +0 -53
  40. package/dist/builders/joinBuilders/builders/selectWithThreeJoins.js +0 -73
  41. package/dist/builders/joinBuilders/builders/selectWithTwoJoins.d.ts +0 -51
  42. package/dist/builders/joinBuilders/builders/selectWithTwoJoins.js +0 -68
  43. package/dist/builders/joinBuilders/join.d.ts +0 -23
  44. package/dist/builders/joinBuilders/join.js +0 -28
  45. package/dist/builders/joinBuilders/joinWith.d.ts +0 -14
  46. package/dist/builders/joinBuilders/joinWith.js +0 -14
  47. package/dist/builders/joinBuilders/responses/selectResponseFiveJoins.d.ts +0 -20
  48. package/dist/builders/joinBuilders/responses/selectResponseFiveJoins.js +0 -35
  49. package/dist/builders/joinBuilders/responses/selectResponseFourJoins.d.ts +0 -19
  50. package/dist/builders/joinBuilders/responses/selectResponseFourJoins.js +0 -34
  51. package/dist/builders/joinBuilders/responses/selectResponseThreeJoins.d.ts +0 -18
  52. package/dist/builders/joinBuilders/responses/selectResponseThreeJoins.js +0 -33
  53. package/dist/builders/joinBuilders/responses/selectResponseTwoJoins.d.ts +0 -17
  54. package/dist/builders/joinBuilders/responses/selectResponseTwoJoins.js +0 -32
  55. package/dist/builders/joinBuilders/responses/selectResponseWithJoin.d.ts +0 -16
  56. package/dist/builders/joinBuilders/responses/selectResponseWithJoin.js +0 -31
  57. package/dist/builders/joinBuilders/static.d.ts +0 -5
  58. package/dist/builders/joinBuilders/static.js +0 -9
  59. package/dist/builders/lowLvlBuilders/alter.d.ts +0 -0
  60. package/dist/builders/lowLvlBuilders/alter.js +0 -1
  61. package/dist/builders/lowLvlBuilders/create.d.ts +0 -12
  62. package/dist/builders/lowLvlBuilders/create.js +0 -100
  63. package/dist/builders/lowLvlBuilders/delets/delete.d.ts +0 -5
  64. package/dist/builders/lowLvlBuilders/delets/delete.js +0 -15
  65. package/dist/builders/lowLvlBuilders/delets/deleteFilter.d.ts +0 -11
  66. package/dist/builders/lowLvlBuilders/delets/deleteFilter.js +0 -13
  67. package/dist/builders/lowLvlBuilders/delets/deleteFrom.d.ts +0 -12
  68. package/dist/builders/lowLvlBuilders/delets/deleteFrom.js +0 -14
  69. package/dist/builders/lowLvlBuilders/inserts/insert.d.ts +0 -5
  70. package/dist/builders/lowLvlBuilders/inserts/insert.js +0 -15
  71. package/dist/builders/lowLvlBuilders/inserts/insertInto.d.ts +0 -13
  72. package/dist/builders/lowLvlBuilders/inserts/insertInto.js +0 -16
  73. package/dist/builders/lowLvlBuilders/inserts/onConflictInsert.d.ts +0 -12
  74. package/dist/builders/lowLvlBuilders/inserts/onConflictInsert.js +0 -13
  75. package/dist/builders/lowLvlBuilders/inserts/valuesInsert.d.ts +0 -16
  76. package/dist/builders/lowLvlBuilders/inserts/valuesInsert.js +0 -19
  77. package/dist/builders/lowLvlBuilders/selects/select.d.ts +0 -9
  78. package/dist/builders/lowLvlBuilders/selects/select.js +0 -16
  79. package/dist/builders/lowLvlBuilders/selects/selectFrom.d.ts +0 -28
  80. package/dist/builders/lowLvlBuilders/selects/selectFrom.js +0 -34
  81. package/dist/builders/lowLvlBuilders/selects/selectJoined.d.ts +0 -26
  82. package/dist/builders/lowLvlBuilders/selects/selectJoined.js +0 -30
  83. package/dist/builders/lowLvlBuilders/selects/whereSelect.d.ts +0 -17
  84. package/dist/builders/lowLvlBuilders/selects/whereSelect.js +0 -25
  85. package/dist/builders/lowLvlBuilders/updates/update.d.ts +0 -5
  86. package/dist/builders/lowLvlBuilders/updates/update.js +0 -15
  87. package/dist/builders/lowLvlBuilders/updates/updateIn.d.ts +0 -13
  88. package/dist/builders/lowLvlBuilders/updates/updateIn.js +0 -15
  89. package/dist/builders/lowLvlBuilders/updates/whereSelect.d.ts +0 -11
  90. package/dist/builders/lowLvlBuilders/updates/whereSelect.js +0 -13
  91. package/dist/builders/lowLvlBuilders/updates/whereSet.d.ts +0 -14
  92. package/dist/builders/lowLvlBuilders/updates/whereSet.js +0 -18
  93. package/dist/builders/requestBuilders/updates/combine.d.ts +0 -9
  94. package/dist/builders/requestBuilders/updates/combine.js +0 -26
  95. package/dist/builders/requestBuilders/updates/increment.d.ts +0 -13
  96. package/dist/builders/requestBuilders/updates/increment.js +0 -18
  97. package/dist/builders/requestBuilders/updates/setObjects.d.ts +0 -12
  98. package/dist/builders/requestBuilders/updates/setObjects.js +0 -19
  99. package/dist/builders/requestBuilders/updates/static.d.ts +0 -7
  100. package/dist/builders/requestBuilders/updates/static.js +0 -15
  101. package/dist/builders/requestBuilders/updates/updates.d.ts +0 -9
  102. package/dist/builders/requestBuilders/updates/updates.js +0 -10
  103. package/dist/builders/requestBuilders/where/and.d.ts +0 -11
  104. package/dist/builders/requestBuilders/where/and.js +0 -31
  105. package/dist/builders/requestBuilders/where/const.d.ts +0 -9
  106. package/dist/builders/requestBuilders/where/const.js +0 -25
  107. package/dist/builders/requestBuilders/where/constArray.d.ts +0 -9
  108. package/dist/builders/requestBuilders/where/constArray.js +0 -39
  109. package/dist/builders/requestBuilders/where/eqWhere.d.ts +0 -12
  110. package/dist/builders/requestBuilders/where/eqWhere.js +0 -20
  111. package/dist/builders/requestBuilders/where/greater.d.ts +0 -15
  112. package/dist/builders/requestBuilders/where/greater.js +0 -20
  113. package/dist/builders/requestBuilders/where/greaterEq.d.ts +0 -15
  114. package/dist/builders/requestBuilders/where/greaterEq.js +0 -20
  115. package/dist/builders/requestBuilders/where/in.d.ts +0 -12
  116. package/dist/builders/requestBuilders/where/in.js +0 -20
  117. package/dist/builders/requestBuilders/where/isNotNull.d.ts +0 -11
  118. package/dist/builders/requestBuilders/where/isNotNull.js +0 -18
  119. package/dist/builders/requestBuilders/where/isNull.d.ts +0 -11
  120. package/dist/builders/requestBuilders/where/isNull.js +0 -18
  121. package/dist/builders/requestBuilders/where/less.d.ts +0 -15
  122. package/dist/builders/requestBuilders/where/less.js +0 -20
  123. package/dist/builders/requestBuilders/where/lessEq.d.ts +0 -15
  124. package/dist/builders/requestBuilders/where/lessEq.js +0 -20
  125. package/dist/builders/requestBuilders/where/like.d.ts +0 -12
  126. package/dist/builders/requestBuilders/where/like.js +0 -20
  127. package/dist/builders/requestBuilders/where/notEqWhere.d.ts +0 -12
  128. package/dist/builders/requestBuilders/where/notEqWhere.js +0 -20
  129. package/dist/builders/requestBuilders/where/or.d.ts +0 -11
  130. package/dist/builders/requestBuilders/where/or.js +0 -31
  131. package/dist/builders/requestBuilders/where/rawWhere.d.ts +0 -9
  132. package/dist/builders/requestBuilders/where/rawWhere.js +0 -15
  133. package/dist/builders/requestBuilders/where/static.d.ts +0 -17
  134. package/dist/builders/requestBuilders/where/static.js +0 -49
  135. package/dist/builders/requestBuilders/where/var.d.ts +0 -13
  136. package/dist/builders/requestBuilders/where/var.js +0 -18
  137. package/dist/builders/requestBuilders/where/where.d.ts +0 -8
  138. package/dist/builders/requestBuilders/where/where.js +0 -6
  139. package/dist/builders/transaction/transaction.d.ts +0 -8
  140. package/dist/builders/transaction/transaction.js +0 -20
  141. package/dist/columns/column.d.ts +0 -72
  142. package/dist/columns/column.js +0 -101
  143. package/dist/columns/index.d.ts +0 -10
  144. package/dist/columns/index.js +0 -27
  145. package/dist/columns/types/columnType.d.ts +0 -7
  146. package/dist/columns/types/columnType.js +0 -6
  147. package/dist/columns/types/pgBigDecimal.d.ts +0 -10
  148. package/dist/columns/types/pgBigDecimal.js +0 -31
  149. package/dist/columns/types/pgBigInt.d.ts +0 -15
  150. package/dist/columns/types/pgBigInt.js +0 -32
  151. package/dist/columns/types/pgBigSerial.d.ts +0 -15
  152. package/dist/columns/types/pgBigSerial.js +0 -32
  153. package/dist/columns/types/pgBoolean.d.ts +0 -8
  154. package/dist/columns/types/pgBoolean.js +0 -18
  155. package/dist/columns/types/pgEnum.d.ts +0 -9
  156. package/dist/columns/types/pgEnum.js +0 -18
  157. package/dist/columns/types/pgInteger.d.ts +0 -8
  158. package/dist/columns/types/pgInteger.js +0 -21
  159. package/dist/columns/types/pgJsonb.d.ts +0 -9
  160. package/dist/columns/types/pgJsonb.js +0 -20
  161. package/dist/columns/types/pgSerial.d.ts +0 -8
  162. package/dist/columns/types/pgSerial.js +0 -18
  163. package/dist/columns/types/pgSmallInt.d.ts +0 -8
  164. package/dist/columns/types/pgSmallInt.js +0 -18
  165. package/dist/columns/types/pgText.d.ts +0 -8
  166. package/dist/columns/types/pgText.js +0 -18
  167. package/dist/columns/types/pgTime.d.ts +0 -8
  168. package/dist/columns/types/pgTime.js +0 -18
  169. package/dist/columns/types/pgTimestamp.d.ts +0 -8
  170. package/dist/columns/types/pgTimestamp.js +0 -18
  171. package/dist/columns/types/pgTimestamptz.d.ts +0 -8
  172. package/dist/columns/types/pgTimestamptz.js +0 -18
  173. package/dist/columns/types/pgVarChar.d.ts +0 -9
  174. package/dist/columns/types/pgVarChar.js +0 -24
  175. package/dist/db/db.d.ts +0 -18
  176. package/dist/db/db.js +0 -25
  177. package/dist/db/dbConnector.d.ts +0 -9
  178. package/dist/db/dbConnector.js +0 -32
  179. package/dist/db/dbStringConnector.d.ts +0 -6
  180. package/dist/db/dbStringConnector.js +0 -29
  181. package/dist/db/group_by.d.ts +0 -0
  182. package/dist/db/group_by.js +0 -68
  183. package/dist/db/index.d.ts +0 -4
  184. package/dist/db/index.js +0 -14
  185. package/dist/db/session.d.ts +0 -9
  186. package/dist/db/session.js +0 -16
  187. package/dist/docs/cases/simple_delete.d.ts +0 -1
  188. package/dist/docs/cases/simple_delete.js +0 -35
  189. package/dist/docs/cases/simple_insert.d.ts +0 -1
  190. package/dist/docs/cases/simple_insert.js +0 -57
  191. package/dist/docs/cases/simple_join.d.ts +0 -1
  192. package/dist/docs/cases/simple_join.js +0 -115
  193. package/dist/docs/cases/simple_select.d.ts +0 -1
  194. package/dist/docs/cases/simple_select.js +0 -50
  195. package/dist/docs/cases/simple_update.d.ts +0 -1
  196. package/dist/docs/cases/simple_update.js +0 -39
  197. package/dist/docs/tables/citiesTable.d.ts +0 -14
  198. package/dist/docs/tables/citiesTable.js +0 -21
  199. package/dist/docs/tables/userGroupsTable.d.ts +0 -7
  200. package/dist/docs/tables/userGroupsTable.js +0 -18
  201. package/dist/docs/tables/usersTable.d.ts +0 -17
  202. package/dist/docs/tables/usersTable.js +0 -35
  203. package/dist/docs/tables/usersToUserGroups.d.ts +0 -7
  204. package/dist/docs/tables/usersToUserGroups.js +0 -20
  205. package/dist/docs/types/rolesType.d.ts +0 -1
  206. package/dist/docs/types/rolesType.js +0 -6
  207. package/dist/errors/baseError.d.ts +0 -22
  208. package/dist/errors/baseError.js +0 -35
  209. package/dist/errors/builderError.d.ts +0 -14
  210. package/dist/errors/builderError.js +0 -25
  211. package/dist/errors/dbErrors.d.ts +0 -12
  212. package/dist/errors/dbErrors.js +0 -28
  213. package/dist/index.d.ts +0 -11
  214. package/dist/indexes/tableIndex.d.ts +0 -11
  215. package/dist/indexes/tableIndex.js +0 -17
  216. package/dist/logger/abstractLogger.d.ts +0 -4
  217. package/dist/logger/abstractLogger.js +0 -5
  218. package/dist/logger/consoleLogger.d.ts +0 -5
  219. package/dist/logger/consoleLogger.js +0 -15
  220. package/dist/mappers/index.d.ts +0 -0
  221. package/dist/mappers/index.js +0 -1
  222. package/dist/mappers/responseMapper.d.ts +0 -10
  223. package/dist/mappers/responseMapper.js +0 -35
  224. package/dist/migrator/index.d.ts +0 -0
  225. package/dist/migrator/index.js +0 -1
  226. package/dist/migrator/migrator.d.ts +0 -11
  227. package/dist/migrator/migrator.js +0 -105
  228. package/dist/serializer/serializer.d.ts +0 -47
  229. package/dist/serializer/serializer.js +0 -258
  230. package/dist/tables/abstractTable.d.ts +0 -68
  231. package/dist/tables/abstractTable.js +0 -151
  232. package/dist/tables/index.d.ts +0 -3
  233. package/dist/tables/index.js +0 -11
  234. package/dist/tables/inferTypes.d.ts +0 -39
  235. package/dist/tables/inferTypes.js +0 -2
  236. package/dist/tables/migrationsTable.d.ts +0 -7
  237. package/dist/tables/migrationsTable.js +0 -18
  238. package/dist/test.d.ts +0 -1
  239. package/dist/test.js +0 -65
  240. package/dist/types/type.d.ts +0 -10
  241. package/dist/types/type.js +0 -14
  242. package/dist/utils/ecranate.d.ts +0 -2
  243. package/dist/utils/ecranate.js +0 -8
  244. package/pnpm-lock.yaml +0 -1842
  245. package/src/builders/aggregators/abstractAggregator.ts +0 -41
  246. package/src/builders/aggregators/deleteAggregator.ts +0 -44
  247. package/src/builders/aggregators/insertAggregator.ts +0 -120
  248. package/src/builders/aggregators/selectAggregator.ts +0 -163
  249. package/src/builders/aggregators/updateAggregator.ts +0 -56
  250. package/src/builders/highLvlBuilders/abstractRequestBuilder.ts +0 -51
  251. package/src/builders/highLvlBuilders/deleteRequestBuilder.ts +0 -59
  252. package/src/builders/highLvlBuilders/insertRequestBuilder.ts +0 -75
  253. package/src/builders/highLvlBuilders/order.ts +0 -4
  254. package/src/builders/highLvlBuilders/selectRequestBuilder.ts +0 -229
  255. package/src/builders/highLvlBuilders/updateRequestBuilder.ts +0 -80
  256. package/src/builders/index.ts +0 -21
  257. package/src/builders/joinBuilders/builders/abstractJoinBuilder.ts +0 -98
  258. package/src/builders/joinBuilders/builders/selectWithFiveJoins.ts +0 -110
  259. package/src/builders/joinBuilders/builders/selectWithFourJoins.ts +0 -254
  260. package/src/builders/joinBuilders/builders/selectWithJoin.ts +0 -189
  261. package/src/builders/joinBuilders/builders/selectWithThreeJoins.ts +0 -231
  262. package/src/builders/joinBuilders/builders/selectWithTwoJoins.ts +0 -210
  263. package/src/builders/joinBuilders/join.ts +0 -40
  264. package/src/builders/joinBuilders/joinWith.ts +0 -21
  265. package/src/builders/joinBuilders/responses/selectResponseFiveJoins.ts +0 -82
  266. package/src/builders/joinBuilders/responses/selectResponseFourJoins.ts +0 -73
  267. package/src/builders/joinBuilders/responses/selectResponseThreeJoins.ts +0 -64
  268. package/src/builders/joinBuilders/responses/selectResponseTwoJoins.ts +0 -57
  269. package/src/builders/joinBuilders/responses/selectResponseWithJoin.ts +0 -49
  270. package/src/builders/joinBuilders/static.ts +0 -9
  271. package/src/builders/lowLvlBuilders/alter.ts +0 -0
  272. package/src/builders/lowLvlBuilders/create.ts +0 -115
  273. package/src/builders/lowLvlBuilders/delets/delete.ts +0 -13
  274. package/src/builders/lowLvlBuilders/delets/deleteFilter.ts +0 -17
  275. package/src/builders/lowLvlBuilders/delets/deleteFrom.ts +0 -15
  276. package/src/builders/lowLvlBuilders/inserts/insert.ts +0 -11
  277. package/src/builders/lowLvlBuilders/inserts/insertInto.ts +0 -16
  278. package/src/builders/lowLvlBuilders/inserts/onConflictInsert.ts +0 -19
  279. package/src/builders/lowLvlBuilders/inserts/valuesInsert.ts +0 -27
  280. package/src/builders/lowLvlBuilders/selects/select.ts +0 -14
  281. package/src/builders/lowLvlBuilders/selects/selectFrom.ts +0 -50
  282. package/src/builders/lowLvlBuilders/selects/selectJoined.ts +0 -44
  283. package/src/builders/lowLvlBuilders/selects/whereSelect.ts +0 -36
  284. package/src/builders/lowLvlBuilders/updates/update.ts +0 -13
  285. package/src/builders/lowLvlBuilders/updates/updateIn.ts +0 -17
  286. package/src/builders/lowLvlBuilders/updates/whereSelect.ts +0 -17
  287. package/src/builders/lowLvlBuilders/updates/whereSet.ts +0 -21
  288. package/src/builders/requestBuilders/updates/combine.ts +0 -34
  289. package/src/builders/requestBuilders/updates/increment.ts +0 -24
  290. package/src/builders/requestBuilders/updates/setObjects.ts +0 -27
  291. package/src/builders/requestBuilders/updates/static.ts +0 -15
  292. package/src/builders/requestBuilders/updates/updates.ts +0 -8
  293. package/src/builders/requestBuilders/where/and.ts +0 -35
  294. package/src/builders/requestBuilders/where/const.ts +0 -23
  295. package/src/builders/requestBuilders/where/constArray.ts +0 -37
  296. package/src/builders/requestBuilders/where/eqWhere.ts +0 -20
  297. package/src/builders/requestBuilders/where/greater.ts +0 -20
  298. package/src/builders/requestBuilders/where/greaterEq.ts +0 -20
  299. package/src/builders/requestBuilders/where/in.ts +0 -20
  300. package/src/builders/requestBuilders/where/isNotNull.ts +0 -17
  301. package/src/builders/requestBuilders/where/isNull.ts +0 -17
  302. package/src/builders/requestBuilders/where/less.ts +0 -20
  303. package/src/builders/requestBuilders/where/lessEq.ts +0 -20
  304. package/src/builders/requestBuilders/where/like.ts +0 -20
  305. package/src/builders/requestBuilders/where/notEqWhere.ts +0 -20
  306. package/src/builders/requestBuilders/where/or.ts +0 -35
  307. package/src/builders/requestBuilders/where/rawWhere.ts +0 -10
  308. package/src/builders/requestBuilders/where/static.ts +0 -60
  309. package/src/builders/requestBuilders/where/var.ts +0 -19
  310. package/src/builders/requestBuilders/where/where.ts +0 -5
  311. package/src/builders/transaction/transaction.ts +0 -21
  312. package/src/columns/column.ts +0 -195
  313. package/src/columns/index.ts +0 -10
  314. package/src/columns/types/columnType.ts +0 -8
  315. package/src/columns/types/pgBigDecimal.ts +0 -29
  316. package/src/columns/types/pgBigInt.ts +0 -36
  317. package/src/columns/types/pgBigSerial.ts +0 -36
  318. package/src/columns/types/pgBoolean.ts +0 -18
  319. package/src/columns/types/pgEnum.ts +0 -17
  320. package/src/columns/types/pgInteger.ts +0 -21
  321. package/src/columns/types/pgJsonb.ts +0 -21
  322. package/src/columns/types/pgSerial.ts +0 -18
  323. package/src/columns/types/pgSmallInt.ts +0 -18
  324. package/src/columns/types/pgText.ts +0 -18
  325. package/src/columns/types/pgTime.ts +0 -18
  326. package/src/columns/types/pgTimestamp.ts +0 -18
  327. package/src/columns/types/pgTimestamptz.ts +0 -18
  328. package/src/columns/types/pgVarChar.ts +0 -24
  329. package/src/db/db.ts +0 -43
  330. package/src/db/dbConnector.ts +0 -30
  331. package/src/db/dbStringConnector.ts +0 -29
  332. package/src/db/group_by.ts +0 -75
  333. package/src/db/index.ts +0 -4
  334. package/src/db/session.ts +0 -16
  335. package/src/docs/cases/simple_delete.ts +0 -35
  336. package/src/docs/cases/simple_insert.ts +0 -65
  337. package/src/docs/cases/simple_join.ts +0 -140
  338. package/src/docs/cases/simple_select.ts +0 -72
  339. package/src/docs/cases/simple_update.ts +0 -40
  340. package/src/docs/tables/citiesTable.ts +0 -22
  341. package/src/docs/tables/userGroupsTable.ts +0 -12
  342. package/src/docs/tables/usersTable.ts +0 -33
  343. package/src/docs/tables/usersToUserGroups.ts +0 -14
  344. package/src/docs/types/rolesType.ts +0 -4
  345. package/src/errors/baseError.ts +0 -47
  346. package/src/errors/builderError.ts +0 -31
  347. package/src/errors/dbErrors.ts +0 -24
  348. package/src/index.ts +0 -20
  349. package/src/indexes/tableIndex.ts +0 -25
  350. package/src/logger/abstractLogger.ts +0 -4
  351. package/src/logger/consoleLogger.ts +0 -11
  352. package/src/mappers/index.ts +0 -0
  353. package/src/mappers/responseMapper.ts +0 -46
  354. package/src/migrator/index.ts +0 -0
  355. package/src/migrator/migrator.ts +0 -97
  356. package/src/serializer/serializer.ts +0 -336
  357. package/src/tables/abstractTable.ts +0 -188
  358. package/src/tables/index.ts +0 -4
  359. package/src/tables/inferTypes.ts +0 -67
  360. package/src/tables/migrationsTable.ts +0 -11
  361. package/src/types/type.ts +0 -15
  362. package/src/utils/ecranate.ts +0 -4
  363. package/tsconfig.json +0 -14
@@ -1,229 +0,0 @@
1
- /* eslint-disable max-len */
2
- /* eslint-disable @typescript-eslint/no-unused-vars */
3
- /* eslint-disable @typescript-eslint/member-ordering */
4
- /* eslint-disable import/no-cycle */
5
- import { QueryResult } from 'pg';
6
- import { JoinWith, Select } from '..';
7
- import { AbstractColumn } from '../../columns/column';
8
- import ColumnType from '../../columns/types/columnType';
9
- import DB from '../../db/db';
10
- import { ISession } from '../../db/session';
11
- import BuilderError, { BuilderType } from '../../errors/builderError';
12
- import BaseLogger from '../../logger/abstractLogger';
13
- import QueryResponseMapper from '../../mappers/responseMapper';
14
- import { AbstractTable } from '../../tables';
15
- import { ExtractModel, ExtractPartialObjectFromColumns, PartialFor } from '../../tables/inferTypes';
16
- import SelectTRBWithJoin from '../joinBuilders/builders/selectWithJoin';
17
- import { JoinStrategy } from '../joinBuilders/join';
18
- import Expr from '../requestBuilders/where/where';
19
- import TableRequestBuilder from './abstractRequestBuilder';
20
- import Order from './order';
21
-
22
- export default class SelectTRB<TTable extends AbstractTable<TTable>, TPartial extends {[name: string]: AbstractColumn<ColumnType<any>, boolean, boolean, TTable>} = {}>
23
- extends TableRequestBuilder<TTable, TPartial> {
24
- protected _filter: Expr;
25
- private props: { limit?: number, offset?: number};
26
- private __orderBy?: AbstractColumn<ColumnType, boolean, boolean>;
27
- private __groupBy?: AbstractColumn<ColumnType, boolean, boolean>;
28
- private __order?: Order;
29
- private __distinct: AbstractColumn<ColumnType, boolean, boolean>;
30
- private __partial?: TPartial;
31
-
32
- public constructor(
33
- session: ISession,
34
- mappedServiceToDb: { [name in keyof ExtractModel<TTable>]: AbstractColumn<ColumnType>; },
35
- props: {limit?:number, offset?:number},
36
- table: AbstractTable<TTable>,
37
- logger?: BaseLogger,
38
- partial?: TPartial,
39
- ) {
40
- super(table, session, mappedServiceToDb, logger);
41
- this.props = props;
42
- this.__partial = partial;
43
- }
44
-
45
- public where = (expr: Expr): SelectTRB<TTable, TPartial> => {
46
- this._filter = expr;
47
- return this;
48
- };
49
-
50
- public orderBy<TColumnType extends ColumnType>(
51
- callback: (table: TTable) => AbstractColumn<TColumnType, boolean, boolean>,
52
- order: Order,
53
- )
54
- : SelectTRB<TTable, TPartial> {
55
- this.__orderBy = callback(this._table);
56
- this.__order = order;
57
- return this;
58
- }
59
-
60
- public distinct = (column: AbstractColumn<ColumnType<any>, boolean, boolean>)
61
- : SelectTRB<TTable, TPartial> => {
62
- this.__distinct = column;
63
- return this;
64
- };
65
-
66
- public limit = (limit: number): SelectTRB<TTable, TPartial> => {
67
- this.props.limit = limit;
68
- return this;
69
- };
70
-
71
- public offset = (offset: number): SelectTRB<TTable, TPartial> => {
72
- this.props.offset = offset;
73
- return this;
74
- };
75
-
76
- // public groupBy(callback: (table: TTable) => Column<ColumnType, boolean, boolean>)
77
- // : SelectTRB<TTable> {
78
- // this.__groupBy = callback(this.__table);
79
- // return this;
80
- // }
81
-
82
- public innerJoin<TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(
83
- table: { new(db: DB): IToTable ;},
84
- from: (table: TTable) => AbstractColumn<TColumn, boolean, boolean>,
85
- to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean>,
86
- partial?: IToPartial,
87
- ): SelectTRBWithJoin<TTable, IToTable, TPartial, IToPartial> {
88
- const toTable = this._table.db.create(table);
89
-
90
- const fromColumn = from(this._table);
91
- const toColumn = to(toTable);
92
-
93
- const join = new JoinWith(toTable.tableName(), toTable.mapServiceToDb())
94
- .columns(fromColumn, toColumn).joinStrategy(JoinStrategy.INNER_JOIN);
95
-
96
- return new SelectTRBWithJoin(
97
- this._table,
98
- this._session,
99
- this._filter,
100
- join,
101
- this.props,
102
- this.__orderBy,
103
- this.__order,
104
- this.__distinct,
105
- this.__partial,
106
- partial,
107
- );
108
- }
109
-
110
- public leftJoin<TColumn extends ColumnType<any>, IToColumn extends ColumnType<any>, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(
111
- table: { new(db: DB): IToTable ;},
112
- from: (table: TTable) => AbstractColumn<TColumn, boolean, boolean, TTable>,
113
- to: (table: IToTable) => AbstractColumn<IToColumn, boolean, boolean, IToTable>,
114
- partial?: IToPartial,
115
- ): SelectTRBWithJoin<TTable, IToTable, TPartial, IToPartial> {
116
- const toTable = this._table.db.create(table);
117
-
118
- const fromColumn = from(this._table);
119
- const toColumn = to(toTable);
120
-
121
- const join = new JoinWith(toTable.tableName(), toTable.mapServiceToDb())
122
- .columns(fromColumn, toColumn).joinStrategy(JoinStrategy.LEFT_JOIN);
123
-
124
- return new SelectTRBWithJoin(
125
- this._table,
126
- this._session,
127
- this._filter,
128
- join,
129
- this.props,
130
- this.__orderBy,
131
- this.__order,
132
- this.__distinct,
133
- this.__partial,
134
- partial,
135
- );
136
- }
137
-
138
- public rightJoin<TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(
139
- table: { new(db: DB): IToTable ;},
140
- from: (table: TTable) => AbstractColumn<TColumn, boolean, boolean>,
141
- to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean>,
142
- partial?: IToPartial,
143
- ): SelectTRBWithJoin<TTable, IToTable, TPartial, IToPartial> {
144
- const toTable = this._table.db.create(table);
145
-
146
- const fromColumn = from(this._table);
147
- const toColumn = to(toTable);
148
-
149
- const join = new JoinWith(toTable.tableName(), toTable.mapServiceToDb())
150
- .columns(fromColumn, toColumn).joinStrategy(JoinStrategy.RIGHT_JOIN);
151
-
152
- return new SelectTRBWithJoin(
153
- this._table,
154
- this._session,
155
- this._filter,
156
- join,
157
- this.props,
158
- this.__orderBy,
159
- this.__order,
160
- this.__distinct,
161
- this.__partial,
162
- partial,
163
- );
164
- }
165
-
166
- public fullJoin<TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(
167
- table: { new(db: DB): IToTable ;},
168
- from: (table: TTable) => AbstractColumn<TColumn, boolean, boolean>,
169
- to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean>,
170
- partial?: IToPartial,
171
- ): SelectTRBWithJoin<TTable, IToTable, TPartial, IToPartial> {
172
- const toTable = this._table.db.create(table);
173
-
174
- const fromColumn = from(this._table);
175
- const toColumn = to(toTable);
176
-
177
- const join = new JoinWith(toTable.tableName(), toTable.mapServiceToDb())
178
- .columns(fromColumn, toColumn).joinStrategy(JoinStrategy.FULL_JOIN);
179
-
180
- return new SelectTRBWithJoin(
181
- this._table,
182
- this._session,
183
- this._filter,
184
- join,
185
- this.props,
186
- this.__orderBy,
187
- this.__order,
188
- this.__distinct,
189
- this.__partial,
190
- partial,
191
- );
192
- }
193
-
194
- public execute = async () => {
195
- const res = await this._execute();
196
- return res;
197
- };
198
-
199
- protected _execute = async (): Promise<Array<[keyof TPartial] extends [never] ? ExtractModel<TTable>: ExtractModel<TPartial>>> => {
200
- // Select.from().filteredBy().limit().offset().orderBy().groupBy().build()
201
- const queryBuilder = Select
202
- .from(this._table, this.__partial)
203
- .distinct(this.__distinct)
204
- .filteredBy(this._filter)
205
- .limit(this.props.limit)
206
- .offset(this.props.offset)
207
- .orderBy(this.__orderBy, this.__order!);
208
-
209
- let query = '';
210
- let values = [];
211
- try {
212
- const builderResult = queryBuilder.build();
213
- query = builderResult.query;
214
- values = builderResult.values;
215
- } catch (e: any) {
216
- throw new BuilderError(BuilderType.SELECT, this._table.tableName(),
217
- this._columns, e, this._filter);
218
- }
219
-
220
- if (this._logger) {
221
- this._logger.info(`Selecting from ${this._table.tableName()} using query:\n ${query}`);
222
- }
223
- const result = await this._session.execute(query, values);
224
- if (this.__partial) {
225
- return QueryResponseMapper.partialMap(this.__partial, result) as Array<[keyof TPartial] extends [never] ? ExtractModel<TTable>: ExtractModel<TPartial>>;
226
- }
227
- return QueryResponseMapper.map(this._mappedServiceToDb, result) as Array<[keyof TPartial] extends [never] ? ExtractModel<TTable>: ExtractModel<TPartial>>;
228
- };
229
- }
@@ -1,80 +0,0 @@
1
- /* eslint-disable max-len */
2
- import { AbstractColumn } from '../../columns/column';
3
- import ColumnType from '../../columns/types/columnType';
4
- import { ISession } from '../../db/session';
5
- import BuilderError, { BuilderType } from '../../errors/builderError';
6
- import BaseLogger from '../../logger/abstractLogger';
7
- import QueryResponseMapper from '../../mappers/responseMapper';
8
- import { AbstractTable } from '../../tables';
9
- import { ExtractModel, ExtractUpdateModel } from '../../tables/inferTypes';
10
- import Update from '../lowLvlBuilders/updates/update';
11
- import { combine, set } from '../requestBuilders/updates/static';
12
- import { UpdateCustomExpr, UpdateExpr } from '../requestBuilders/updates/updates';
13
- import Expr from '../requestBuilders/where/where';
14
- import TableRequestBuilder from './abstractRequestBuilder';
15
-
16
- export default class UpdateTRB<TTable extends AbstractTable<TTable>, TPartial extends {[name: string]: AbstractColumn<ColumnType<any>, boolean, boolean, TTable>} = {}>
17
- extends TableRequestBuilder<TTable, TPartial> {
18
- private _filter: Expr;
19
- private _update: UpdateExpr;
20
- private _objToUpdate: Partial<ExtractModel<TTable>>;
21
-
22
- public constructor(
23
- table: AbstractTable<TTable>,
24
- session: ISession,
25
- mappedServiceToDb: { [name in keyof ExtractModel<TTable>]: AbstractColumn<ColumnType>; },
26
- logger?: BaseLogger,
27
- ) {
28
- super(table, session, mappedServiceToDb, logger);
29
- }
30
-
31
- public where = (expr: Expr): UpdateTRB<TTable> => {
32
- this._filter = expr;
33
- return this;
34
- };
35
-
36
- public set = (expr: Partial<ExtractUpdateModel<TTable>>): UpdateTRB<TTable> => {
37
- const updates: Array<UpdateExpr> = [];
38
- Object.entries(expr).forEach(([key, value]) => {
39
- const column = this._mappedServiceToDb[key as keyof ExtractModel<TTable>];
40
- if (value instanceof UpdateCustomExpr) {
41
- value.setColumn(column);
42
- updates.push(value);
43
- } else {
44
- updates.push(set(column, value as any));
45
- }
46
- });
47
- this._update = combine(updates);
48
-
49
- return this;
50
- };
51
-
52
- public execute = async () => {
53
- await this._execute();
54
- };
55
-
56
- protected _execute = async (): Promise<Array<[keyof TPartial] extends [never] ? ExtractModel<TTable>: ExtractModel<TPartial>>> => {
57
- let query = '';
58
- let values = [];
59
-
60
- try {
61
- const builderResult = Update.in(this._table)
62
- .columns()
63
- .set(this._update)
64
- .filteredBy(this._filter)
65
- .build();
66
- query = builderResult.query;
67
- values = builderResult.values;
68
- } catch (e: any) {
69
- throw new BuilderError(BuilderType.UPDATE, this._table.tableName(),
70
- this._columns, e, this._filter);
71
- }
72
-
73
- if (this._logger) {
74
- this._logger.info(`Updating ${this._table.tableName()} using query:\n ${query}`);
75
- console.log(values);
76
- }
77
- const result = await this._session.execute(query, values);
78
- return QueryResponseMapper.map(this._mappedServiceToDb, result) as Array<[keyof TPartial] extends [never] ? ExtractModel<TTable>: ExtractModel<TPartial>>;
79
- };
80
- }
@@ -1,21 +0,0 @@
1
- /* eslint-disable import/no-cycle */
2
- export { default as DeleteTRB } from './highLvlBuilders/deleteRequestBuilder';
3
- export { default as InsertTRB } from './highLvlBuilders/insertRequestBuilder';
4
- export { default as SelectTRB } from './highLvlBuilders/selectRequestBuilder';
5
- export { default as UpdateTRB } from './highLvlBuilders/updateRequestBuilder';
6
- export { default as to } from './joinBuilders/static';
7
- export { default as JoinWith } from './joinBuilders/joinWith';
8
- export { default as Join } from './joinBuilders/join';
9
- export { default as SelectTRBWithJoin } from './joinBuilders/builders/selectWithJoin';
10
- export { default as SelectTRBWithTwoJoins } from './joinBuilders/builders/selectWithTwoJoins';
11
- export { default as SelectResponseTwoJoins } from './joinBuilders/responses/selectResponseTwoJoins';
12
- export { default as SelectResponseJoin } from './joinBuilders/responses/selectResponseWithJoin';
13
- export { default as Create } from './lowLvlBuilders/create';
14
- export { default as Delete } from './lowLvlBuilders/delets/delete';
15
- export { default as Insert } from './lowLvlBuilders/inserts/insert';
16
- export { default as Select } from './lowLvlBuilders/selects/select';
17
- export { default as Update } from './lowLvlBuilders/updates/update';
18
- export { set, combine } from './requestBuilders/updates/static';
19
- export {
20
- eq, inArray as in, and, or, like, greater, greaterEq, less, lessEq, raw, isNotNull,
21
- } from './requestBuilders/where/static';
@@ -1,98 +0,0 @@
1
- /* eslint-disable max-len */
2
- import { QueryResult } from 'pg';
3
- import { AbstractColumn } from '../../../columns/column';
4
- import ColumnType from '../../../columns/types/columnType';
5
- import { ISession } from '../../../db/session';
6
- import BuilderError, { BuilderType } from '../../../errors/builderError';
7
- import QueryResponseMapper from '../../../mappers/responseMapper';
8
- import { AbstractTable } from '../../../tables';
9
- import { ExtractModel, FullOrPartial, PartialFor } from '../../../tables/inferTypes';
10
- import Order from '../../highLvlBuilders/order';
11
- import Select from '../../lowLvlBuilders/selects/select';
12
- import Expr from '../../requestBuilders/where/where';
13
- import Join from '../join';
14
-
15
- export default abstract class AbstractJoined<TTable extends AbstractTable<TTable>, TRes, TPartial extends PartialFor<TTable> = {}> {
16
- protected _table: TTable;
17
- protected _session: ISession;
18
- protected _filter: Expr;
19
- protected _distinct?: AbstractColumn<ColumnType, boolean, boolean>;
20
- protected _props: {limit?:number, offset?:number};
21
- protected _orderBy?: AbstractColumn<ColumnType, boolean, boolean>;
22
- protected _order?: Order;
23
- protected _partial?: TPartial;
24
-
25
- public constructor(
26
- table: TTable,
27
- filter: Expr,
28
- session: ISession,
29
- props: { limit?: number, offset?: number },
30
- orderBy?: AbstractColumn<ColumnType, boolean, boolean>,
31
- order?: Order,
32
- distinct?: AbstractColumn<ColumnType, boolean, boolean>,
33
- tablePartial?: TPartial,
34
- ) {
35
- this._table = table;
36
- this._session = session;
37
- this._filter = filter;
38
- this._props = props;
39
- this._order = order;
40
- this._orderBy = orderBy;
41
- this._distinct = distinct;
42
- this._partial = tablePartial;
43
- }
44
-
45
- public limit = (limit: number) => {
46
- this._props.limit = limit;
47
- return this;
48
- };
49
-
50
- public offset = (offset: number) => {
51
- this._props.offset = offset;
52
- return this;
53
- };
54
-
55
- public execute = async (): Promise<TRes> => {
56
- const queryBuilder = Select
57
- .from(this._table, this._partial)
58
- .distinct(this._distinct)
59
- .joined(this.joins())
60
- .limit(this._props.limit)
61
- .offset(this._props.offset)
62
- .filteredBy(this._filter)
63
- .orderBy(this._orderBy, this._order);
64
-
65
- let query = '';
66
- let values = [];
67
- try {
68
- const builderResult = queryBuilder.build();
69
- query = builderResult.query;
70
- values = builderResult.values;
71
- } catch (e: any) {
72
- throw new BuilderError(BuilderType.JOINED_SELECT,
73
- this._table.tableName(), Object.values(this._table.mapServiceToDb()), e, this._filter);
74
- }
75
-
76
- console.log(query);
77
- console.log(values);
78
-
79
- const result = await this._session.execute(query, values);
80
- return this.mapResponse(result);
81
- };
82
-
83
- protected fullOrPartial<Table extends AbstractTable<Table>, Partial extends PartialFor<Table>>(mappedServiceToDb: {
84
- [name in keyof ExtractModel<Table>]: AbstractColumn<ColumnType>;
85
- }, result: QueryResult<any>, partial?: Partial, joinId?: number): Array<FullOrPartial<Table, Partial>> {
86
- if (partial) {
87
- return QueryResponseMapper.partialMap(partial, result, joinId) as Array<FullOrPartial<Table, Partial>>;
88
- }
89
- return QueryResponseMapper.map(mappedServiceToDb, result, joinId) as Array<FullOrPartial<Table, Partial>>;
90
- }
91
-
92
- protected abstract mapResponse(result: QueryResult<any>): TRes;
93
-
94
- protected abstract joins(): Array<{
95
- join: Join<any>, partial?: {[name: string]: AbstractColumn<ColumnType<any>, boolean, boolean, any>},
96
- id?: number
97
- }>;
98
- }
@@ -1,110 +0,0 @@
1
- /* eslint-disable max-len */
2
- import { QueryResult } from 'pg';
3
- import { AbstractColumn } from '../../../columns/column';
4
- import ColumnType from '../../../columns/types/columnType';
5
- import { ISession } from '../../../db/session';
6
- import { AbstractTable } from '../../../tables';
7
- import { ExtractModel, PartialFor } from '../../../tables/inferTypes';
8
- import Order from '../../highLvlBuilders/order';
9
- import Expr from '../../requestBuilders/where/where';
10
- import Join from '../join';
11
- import SelectResponseFiveJoins from '../responses/selectResponseFiveJoins';
12
- import AbstractJoined from './abstractJoinBuilder';
13
-
14
- export default class SelectTRBWithFiveJoins<TTable extends AbstractTable<TTable>,
15
- TTable1 extends AbstractTable<TTable1>, TTable2 extends AbstractTable<TTable2>, TTable3 extends AbstractTable<TTable3>, TTable4 extends AbstractTable<TTable4>, TTable5 extends AbstractTable<TTable5>,
16
- TPartial extends PartialFor<TTable> = {},
17
- TPartial1 extends PartialFor<TTable1> = {},
18
- TPartial2 extends PartialFor<TTable2> = {},
19
- TPartial3 extends PartialFor<TTable3> = {},
20
- TPartial4 extends PartialFor<TTable4> = {},
21
- TPartial5 extends PartialFor<TTable5> = {}>
22
- extends AbstractJoined<TTable,
23
- SelectResponseFiveJoins<TTable, TTable1, TTable2, TTable3, TTable4, TTable5, TPartial, TPartial1, TPartial2, TPartial3, TPartial4, TPartial5>, TPartial> {
24
- private _join1: Join<TTable1>;
25
- private _join2: Join<TTable2>;
26
- private _join3: Join<TTable3>;
27
- private _join4: Join<TTable4>;
28
- private _join5: Join<TTable5>;
29
-
30
- private _joinedPartial?: TPartial1;
31
- private _joinedPartial1?: TPartial2;
32
- private _joinedPartial2?: TPartial3;
33
- private _joinedPartial3?: TPartial4;
34
- private _joinedPartial4?: TPartial5;
35
-
36
- public constructor(
37
- table: TTable,
38
- session: ISession,
39
- filter: Expr,
40
- join1: Join<TTable1>,
41
- join2: Join<TTable2>,
42
- join3: Join<TTable3>,
43
- join4: Join<TTable4>,
44
- join5: Join<TTable5>,
45
- props: {limit?:number, offset?:number},
46
- orderBy?: AbstractColumn<ColumnType, boolean, boolean>,
47
- order?: Order,
48
- distinct?: AbstractColumn<ColumnType, boolean, boolean>,
49
- tablePartial?: TPartial,
50
- joinedPartial?: TPartial1,
51
- joinedPartial1?: TPartial2,
52
- joinedPartial2?: TPartial3,
53
- joinedPartial3?: TPartial4,
54
- joinedPartial4?: TPartial5,
55
- ) {
56
- super(table, filter, session, props, orderBy, order, distinct, tablePartial);
57
- this._join1 = join1;
58
- this._join2 = join2;
59
- this._join3 = join3;
60
- this._join4 = join4;
61
- this._join5 = join5;
62
-
63
- this._joinedPartial = joinedPartial;
64
- this._joinedPartial1 = joinedPartial1;
65
- this._joinedPartial2 = joinedPartial2;
66
- this._joinedPartial3 = joinedPartial3;
67
- this._joinedPartial4 = joinedPartial4;
68
- }
69
-
70
- protected joins(): Array<{
71
- join: Join<any>, partial?: {[name: string]: AbstractColumn<ColumnType<any>, boolean, boolean, any>},
72
- id?: number
73
- }> {
74
- return [{ join: this._join1, partial: this._joinedPartial, id: 1 },
75
- { join: this._join2, partial: this._joinedPartial1, id: 2 },
76
- { join: this._join3, partial: this._joinedPartial2, id: 3 },
77
- { join: this._join4, partial: this._joinedPartial3, id: 4 },
78
- { join: this._join5, partial: this._joinedPartial4, id: 5 }];
79
- }
80
-
81
- protected mapResponse(result: QueryResult<any>)
82
- : SelectResponseFiveJoins<TTable, TTable1, TTable2, TTable3, TTable4, TTable5, TPartial, TPartial1, TPartial2, TPartial3, TPartial4, TPartial5> {
83
- const parent:{
84
- [name in keyof ExtractModel<TTable1>]: AbstractColumn<ColumnType>;
85
- } = this._join1.mappedServiceToDb;
86
- const parentTwo: {
87
- [name in keyof ExtractModel<TTable2>]: AbstractColumn<ColumnType>;
88
- } = this._join2.mappedServiceToDb;
89
- const parentThree: {
90
- [name in keyof ExtractModel<TTable3>]: AbstractColumn<ColumnType>;
91
- } = this._join3.mappedServiceToDb;
92
- const parentFour:
93
- { [name in keyof ExtractModel<TTable4>]: AbstractColumn<ColumnType>;
94
- } = this._join4.mappedServiceToDb;
95
- const parentFive:
96
- { [name in keyof ExtractModel<TTable5>]: AbstractColumn<ColumnType>;
97
- } = this._join5.mappedServiceToDb;
98
-
99
- // TODO map ids for join properly
100
- const response = this.fullOrPartial(this._table.mapServiceToDb(), result, this._partial);
101
- const objects = this.fullOrPartial(parent, result, this._joinedPartial, 1);
102
- const objectsTwo = this.fullOrPartial(parentTwo, result, this._joinedPartial1, 2);
103
- const objectsThree = this.fullOrPartial(parentThree, result, this._joinedPartial2, 3);
104
- const objectsFour = this.fullOrPartial(parentFour, result, this._joinedPartial3, 4);
105
- const objectsFive = this.fullOrPartial(parentFive, result, this._joinedPartial4, 5);
106
-
107
- return new SelectResponseFiveJoins(response, objects, objectsTwo,
108
- objectsThree, objectsFour, objectsFive);
109
- }
110
- }