drizzle-orm 0.10.47 → 0.11.2

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 (286) hide show
  1. package/README.md +50 -58
  2. package/builders/aggregators/abstractAggregator.d.ts +1 -0
  3. package/builders/aggregators/abstractAggregator.js +17 -0
  4. package/builders/aggregators/abstractAggregator.js.map +1 -0
  5. package/builders/aggregators/deleteAggregator.js +1 -0
  6. package/builders/aggregators/deleteAggregator.js.map +1 -0
  7. package/builders/aggregators/insertAggregator.js +1 -0
  8. package/builders/aggregators/insertAggregator.js.map +1 -0
  9. package/builders/aggregators/selectAggregator.d.ts +2 -8
  10. package/builders/aggregators/selectAggregator.js +22 -54
  11. package/builders/aggregators/selectAggregator.js.map +1 -0
  12. package/builders/aggregators/selectAggregatorV1.d.ts +39 -0
  13. package/builders/aggregators/selectAggregatorV1.js +144 -0
  14. package/builders/aggregators/selectAggregatorV1.js.map +1 -0
  15. package/builders/aggregators/updateAggregator.js +1 -0
  16. package/builders/aggregators/updateAggregator.js.map +1 -0
  17. package/builders/highLvlBuilders/abstractRequestBuilder.d.ts +2 -3
  18. package/builders/highLvlBuilders/abstractRequestBuilder.js +1 -0
  19. package/builders/highLvlBuilders/abstractRequestBuilder.js.map +1 -0
  20. package/builders/highLvlBuilders/deleteRequestBuilder.js +1 -0
  21. package/builders/highLvlBuilders/deleteRequestBuilder.js.map +1 -0
  22. package/builders/highLvlBuilders/insertRequestBuilder.js +1 -0
  23. package/builders/highLvlBuilders/insertRequestBuilder.js.map +1 -0
  24. package/builders/highLvlBuilders/joins/joinBuilderResponse.d.ts +8 -0
  25. package/builders/highLvlBuilders/joins/joinBuilderResponse.js +17 -0
  26. package/builders/highLvlBuilders/joins/joinBuilderResponse.js.map +1 -0
  27. package/builders/highLvlBuilders/joins/proxies/joinProxies.d.ts +16 -0
  28. package/builders/highLvlBuilders/joins/proxies/joinProxies.js +48 -0
  29. package/builders/highLvlBuilders/joins/proxies/joinProxies.js.map +1 -0
  30. package/builders/highLvlBuilders/joins/selectJoinBuilder.d.ts +44 -0
  31. package/builders/highLvlBuilders/joins/selectJoinBuilder.js +114 -0
  32. package/builders/highLvlBuilders/joins/selectJoinBuilder.js.map +1 -0
  33. package/builders/highLvlBuilders/order.js +1 -0
  34. package/builders/highLvlBuilders/order.js.map +1 -0
  35. package/builders/highLvlBuilders/selectRequestBuilder.d.ts +29 -13
  36. package/builders/highLvlBuilders/selectRequestBuilder.js +46 -6
  37. package/builders/highLvlBuilders/selectRequestBuilder.js.map +1 -0
  38. package/builders/highLvlBuilders/updateRequestBuilder.js +1 -0
  39. package/builders/highLvlBuilders/updateRequestBuilder.js.map +1 -0
  40. package/builders/index.d.ts +3 -0
  41. package/builders/index.js +16 -1
  42. package/builders/index.js.map +1 -0
  43. package/builders/joinBuilders/builders/abstractJoinBuilder.js +5 -4
  44. package/builders/joinBuilders/builders/abstractJoinBuilder.js.map +1 -0
  45. package/builders/joinBuilders/builders/selectWithFiveJoins.js +1 -0
  46. package/builders/joinBuilders/builders/selectWithFiveJoins.js.map +1 -0
  47. package/builders/joinBuilders/builders/selectWithFourJoins.js +1 -0
  48. package/builders/joinBuilders/builders/selectWithFourJoins.js.map +1 -0
  49. package/builders/joinBuilders/builders/selectWithJoin.js +1 -0
  50. package/builders/joinBuilders/builders/selectWithJoin.js.map +1 -0
  51. package/builders/joinBuilders/builders/selectWithThreeJoins.js +1 -0
  52. package/builders/joinBuilders/builders/selectWithThreeJoins.js.map +1 -0
  53. package/builders/joinBuilders/builders/selectWithTwoJoins.js +4 -0
  54. package/builders/joinBuilders/builders/selectWithTwoJoins.js.map +1 -0
  55. package/builders/joinBuilders/join.js +1 -0
  56. package/builders/joinBuilders/join.js.map +1 -0
  57. package/builders/joinBuilders/joinWith.js +1 -0
  58. package/builders/joinBuilders/joinWith.js.map +1 -0
  59. package/builders/joinBuilders/responses/selectResponseFiveJoins.js +1 -0
  60. package/builders/joinBuilders/responses/selectResponseFiveJoins.js.map +1 -0
  61. package/builders/joinBuilders/responses/selectResponseFourJoins.js +1 -0
  62. package/builders/joinBuilders/responses/selectResponseFourJoins.js.map +1 -0
  63. package/builders/joinBuilders/responses/selectResponseThreeJoins.js +1 -0
  64. package/builders/joinBuilders/responses/selectResponseThreeJoins.js.map +1 -0
  65. package/builders/joinBuilders/responses/selectResponseTwoJoins.js +1 -0
  66. package/builders/joinBuilders/responses/selectResponseTwoJoins.js.map +1 -0
  67. package/builders/joinBuilders/responses/selectResponseWithJoin.js +1 -0
  68. package/builders/joinBuilders/responses/selectResponseWithJoin.js.map +1 -0
  69. package/builders/joinBuilders/static.js +1 -0
  70. package/builders/joinBuilders/static.js.map +1 -0
  71. package/builders/lowLvlBuilders/alter.js +1 -0
  72. package/builders/lowLvlBuilders/alter.js.map +1 -0
  73. package/builders/lowLvlBuilders/create.js +1 -0
  74. package/builders/lowLvlBuilders/create.js.map +1 -0
  75. package/builders/lowLvlBuilders/delets/delete.js +1 -0
  76. package/builders/lowLvlBuilders/delets/delete.js.map +1 -0
  77. package/builders/lowLvlBuilders/delets/deleteFilter.js +1 -0
  78. package/builders/lowLvlBuilders/delets/deleteFilter.js.map +1 -0
  79. package/builders/lowLvlBuilders/delets/deleteFrom.js +1 -0
  80. package/builders/lowLvlBuilders/delets/deleteFrom.js.map +1 -0
  81. package/builders/lowLvlBuilders/inserts/insert.js +1 -0
  82. package/builders/lowLvlBuilders/inserts/insert.js.map +1 -0
  83. package/builders/lowLvlBuilders/inserts/insertInto.js +1 -0
  84. package/builders/lowLvlBuilders/inserts/insertInto.js.map +1 -0
  85. package/builders/lowLvlBuilders/inserts/onConflictInsert.js +1 -0
  86. package/builders/lowLvlBuilders/inserts/onConflictInsert.js.map +1 -0
  87. package/builders/lowLvlBuilders/inserts/valuesInsert.js +1 -0
  88. package/builders/lowLvlBuilders/inserts/valuesInsert.js.map +1 -0
  89. package/builders/lowLvlBuilders/selects/select.d.ts +4 -1
  90. package/builders/lowLvlBuilders/selects/select.js +28 -1
  91. package/builders/lowLvlBuilders/selects/select.js.map +1 -0
  92. package/builders/lowLvlBuilders/selects/selectFrom.d.ts +25 -8
  93. package/builders/lowLvlBuilders/selects/selectFrom.js +49 -4
  94. package/builders/lowLvlBuilders/selects/selectFrom.js.map +1 -0
  95. package/builders/lowLvlBuilders/selects/selectJoined.d.ts +22 -6
  96. package/builders/lowLvlBuilders/selects/selectJoined.js +45 -3
  97. package/builders/lowLvlBuilders/selects/selectJoined.js.map +1 -0
  98. package/builders/lowLvlBuilders/selects/whereSelect.d.ts +13 -0
  99. package/builders/lowLvlBuilders/selects/whereSelect.js +25 -0
  100. package/builders/lowLvlBuilders/selects/whereSelect.js.map +1 -0
  101. package/builders/lowLvlBuilders/updates/update.js +1 -0
  102. package/builders/lowLvlBuilders/updates/update.js.map +1 -0
  103. package/builders/lowLvlBuilders/updates/updateIn.js +1 -0
  104. package/builders/lowLvlBuilders/updates/updateIn.js.map +1 -0
  105. package/builders/lowLvlBuilders/updates/whereSelect.js +1 -0
  106. package/builders/lowLvlBuilders/updates/whereSelect.js.map +1 -0
  107. package/builders/lowLvlBuilders/updates/whereSet.js +1 -0
  108. package/builders/lowLvlBuilders/updates/whereSet.js.map +1 -0
  109. package/builders/requestBuilders/updates/combine.js +1 -0
  110. package/builders/requestBuilders/updates/combine.js.map +1 -0
  111. package/builders/requestBuilders/updates/increment.js +1 -0
  112. package/builders/requestBuilders/updates/increment.js.map +1 -0
  113. package/builders/requestBuilders/updates/setObjects.js +1 -0
  114. package/builders/requestBuilders/updates/setObjects.js.map +1 -0
  115. package/builders/requestBuilders/updates/static.js +1 -0
  116. package/builders/requestBuilders/updates/static.js.map +1 -0
  117. package/builders/requestBuilders/updates/updates.js +1 -0
  118. package/builders/requestBuilders/updates/updates.js.map +1 -0
  119. package/builders/requestBuilders/where/and.d.ts +8 -1
  120. package/builders/requestBuilders/where/and.js +20 -2
  121. package/builders/requestBuilders/where/and.js.map +1 -0
  122. package/builders/requestBuilders/where/const.d.ts +8 -4
  123. package/builders/requestBuilders/where/const.js +12 -1
  124. package/builders/requestBuilders/where/const.js.map +1 -0
  125. package/builders/requestBuilders/where/constArray.d.ts +8 -4
  126. package/builders/requestBuilders/where/constArray.js +27 -1
  127. package/builders/requestBuilders/where/constArray.js.map +1 -0
  128. package/builders/requestBuilders/where/eqWhere.d.ts +11 -1
  129. package/builders/requestBuilders/where/eqWhere.js +9 -3
  130. package/builders/requestBuilders/where/eqWhere.js.map +1 -0
  131. package/builders/requestBuilders/where/greater.d.ts +8 -1
  132. package/builders/requestBuilders/where/greater.js +9 -3
  133. package/builders/requestBuilders/where/greater.js.map +1 -0
  134. package/builders/requestBuilders/where/greaterEq.d.ts +8 -1
  135. package/builders/requestBuilders/where/greaterEq.js +9 -3
  136. package/builders/requestBuilders/where/greaterEq.js.map +1 -0
  137. package/builders/requestBuilders/where/in.d.ts +8 -1
  138. package/builders/requestBuilders/where/in.js +9 -3
  139. package/builders/requestBuilders/where/in.js.map +1 -0
  140. package/builders/requestBuilders/where/isNotNull.d.ts +8 -1
  141. package/builders/requestBuilders/where/isNotNull.js +7 -2
  142. package/builders/requestBuilders/where/isNotNull.js.map +1 -0
  143. package/builders/requestBuilders/where/isNull.d.ts +8 -1
  144. package/builders/requestBuilders/where/isNull.js +7 -2
  145. package/builders/requestBuilders/where/isNull.js.map +1 -0
  146. package/builders/requestBuilders/where/less.d.ts +8 -1
  147. package/builders/requestBuilders/where/less.js +9 -3
  148. package/builders/requestBuilders/where/less.js.map +1 -0
  149. package/builders/requestBuilders/where/lessEq.d.ts +8 -1
  150. package/builders/requestBuilders/where/lessEq.js +9 -3
  151. package/builders/requestBuilders/where/lessEq.js.map +1 -0
  152. package/builders/requestBuilders/where/like.d.ts +8 -1
  153. package/builders/requestBuilders/where/like.js +9 -3
  154. package/builders/requestBuilders/where/like.js.map +1 -0
  155. package/builders/requestBuilders/where/notEqWhere.d.ts +8 -1
  156. package/builders/requestBuilders/where/notEqWhere.js +9 -3
  157. package/builders/requestBuilders/where/notEqWhere.js.map +1 -0
  158. package/builders/requestBuilders/where/or.d.ts +8 -1
  159. package/builders/requestBuilders/where/or.js +20 -2
  160. package/builders/requestBuilders/where/or.js.map +1 -0
  161. package/builders/requestBuilders/where/rawWhere.d.ts +8 -1
  162. package/builders/requestBuilders/where/rawWhere.js +3 -1
  163. package/builders/requestBuilders/where/rawWhere.js.map +1 -0
  164. package/builders/requestBuilders/where/static.d.ts +5 -1
  165. package/builders/requestBuilders/where/static.js +10 -2
  166. package/builders/requestBuilders/where/static.js.map +1 -0
  167. package/builders/requestBuilders/where/static.spec.d.ts +1 -0
  168. package/builders/requestBuilders/where/static.spec.js +60 -0
  169. package/builders/requestBuilders/where/static.spec.js.map +1 -0
  170. package/builders/requestBuilders/where/var.d.ts +8 -1
  171. package/builders/requestBuilders/where/var.js +6 -1
  172. package/builders/requestBuilders/where/var.js.map +1 -0
  173. package/builders/requestBuilders/where/where.d.ts +8 -1
  174. package/builders/requestBuilders/where/where.js +1 -0
  175. package/builders/requestBuilders/where/where.js.map +1 -0
  176. package/builders/transaction/transaction.js +1 -0
  177. package/builders/transaction/transaction.js.map +1 -0
  178. package/columns/column.js +1 -0
  179. package/columns/column.js.map +1 -0
  180. package/columns/index.js +1 -0
  181. package/columns/index.js.map +1 -0
  182. package/columns/types/columnType.js +1 -0
  183. package/columns/types/columnType.js.map +1 -0
  184. package/columns/types/pgBigDecimal.js +1 -0
  185. package/columns/types/pgBigDecimal.js.map +1 -0
  186. package/columns/types/pgBigInt.js +1 -0
  187. package/columns/types/pgBigInt.js.map +1 -0
  188. package/columns/types/pgBigSerial.js +1 -0
  189. package/columns/types/pgBigSerial.js.map +1 -0
  190. package/columns/types/pgBoolean.js +1 -0
  191. package/columns/types/pgBoolean.js.map +1 -0
  192. package/columns/types/pgEnum.js +1 -0
  193. package/columns/types/pgEnum.js.map +1 -0
  194. package/columns/types/pgInteger.js +1 -0
  195. package/columns/types/pgInteger.js.map +1 -0
  196. package/columns/types/pgJsonb.js +1 -0
  197. package/columns/types/pgJsonb.js.map +1 -0
  198. package/columns/types/pgSerial.js +1 -0
  199. package/columns/types/pgSerial.js.map +1 -0
  200. package/columns/types/pgSmallInt.js +1 -0
  201. package/columns/types/pgSmallInt.js.map +1 -0
  202. package/columns/types/pgText.js +1 -0
  203. package/columns/types/pgText.js.map +1 -0
  204. package/columns/types/pgTime.js +1 -0
  205. package/columns/types/pgTime.js.map +1 -0
  206. package/columns/types/pgTimestamp.js +1 -0
  207. package/columns/types/pgTimestamp.js.map +1 -0
  208. package/columns/types/pgTimestamptz.js +1 -0
  209. package/columns/types/pgTimestamptz.js.map +1 -0
  210. package/columns/types/pgVarChar.js +1 -0
  211. package/columns/types/pgVarChar.js.map +1 -0
  212. package/db/db.js +1 -0
  213. package/db/db.js.map +1 -0
  214. package/db/dbConnector.js +1 -0
  215. package/db/dbConnector.js.map +1 -0
  216. package/db/dbStringConnector.js +1 -0
  217. package/db/dbStringConnector.js.map +1 -0
  218. package/db/group_by.js +1 -0
  219. package/db/group_by.js.map +1 -0
  220. package/db/index.js +1 -0
  221. package/db/index.js.map +1 -0
  222. package/db/session.js +1 -0
  223. package/db/session.js.map +1 -0
  224. package/docs/cases/simple_delete.js +1 -0
  225. package/docs/cases/simple_delete.js.map +1 -0
  226. package/docs/cases/simple_insert.js +1 -0
  227. package/docs/cases/simple_insert.js.map +1 -0
  228. package/docs/cases/simple_join.js +6 -5
  229. package/docs/cases/simple_join.js.map +1 -0
  230. package/docs/cases/simple_select.js +1 -0
  231. package/docs/cases/simple_select.js.map +1 -0
  232. package/docs/cases/simple_update.js +1 -0
  233. package/docs/cases/simple_update.js.map +1 -0
  234. package/docs/tables/citiesTable.js +1 -0
  235. package/docs/tables/citiesTable.js.map +1 -0
  236. package/docs/tables/userGroupsTable.d.ts +1 -0
  237. package/docs/tables/userGroupsTable.js +2 -0
  238. package/docs/tables/userGroupsTable.js.map +1 -0
  239. package/docs/tables/usersTable.js +2 -1
  240. package/docs/tables/usersTable.js.map +1 -0
  241. package/docs/tables/usersToUserGroups.js +1 -0
  242. package/docs/tables/usersToUserGroups.js.map +1 -0
  243. package/docs/types/rolesType.js +1 -0
  244. package/docs/types/rolesType.js.map +1 -0
  245. package/errors/baseError.js +1 -0
  246. package/errors/baseError.js.map +1 -0
  247. package/errors/builderError.js +1 -0
  248. package/errors/builderError.js.map +1 -0
  249. package/errors/dbErrors.js +1 -0
  250. package/errors/dbErrors.js.map +1 -0
  251. package/index.js +1 -0
  252. package/index.js.map +1 -0
  253. package/indexes/tableIndex.js +1 -0
  254. package/indexes/tableIndex.js.map +1 -0
  255. package/logger/abstractLogger.js +1 -0
  256. package/logger/abstractLogger.js.map +1 -0
  257. package/logger/consoleLogger.js +1 -0
  258. package/logger/consoleLogger.js.map +1 -0
  259. package/mappers/index.js +1 -0
  260. package/mappers/index.js.map +1 -0
  261. package/mappers/responseMapper.d.ts +6 -1
  262. package/mappers/responseMapper.js +35 -1
  263. package/mappers/responseMapper.js.map +1 -0
  264. package/migrator/index.js +1 -0
  265. package/migrator/index.js.map +1 -0
  266. package/migrator/migrator.js +1 -0
  267. package/migrator/migrator.js.map +1 -0
  268. package/package.json +4 -4
  269. package/serializer/serializer.js +1 -0
  270. package/serializer/serializer.js.map +1 -0
  271. package/tables/abstractTable.d.ts +3 -4
  272. package/tables/abstractTable.js +2 -0
  273. package/tables/abstractTable.js.map +1 -0
  274. package/tables/index.js +1 -0
  275. package/tables/index.js.map +1 -0
  276. package/tables/inferTypes.d.ts +6 -2
  277. package/tables/inferTypes.js +1 -0
  278. package/tables/inferTypes.js.map +1 -0
  279. package/tables/migrationsTable.js +1 -0
  280. package/tables/migrationsTable.js.map +1 -0
  281. package/test.js +121 -76
  282. package/test.js.map +1 -0
  283. package/types/type.js +1 -0
  284. package/types/type.js.map +1 -0
  285. package/utils/ecranate.js +1 -0
  286. package/utils/ecranate.js.map +1 -0
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class JoinBuilderResponses {
4
+ constructor(responses) {
5
+ this.responses = responses;
6
+ this.map = (imac) => {
7
+ const objects = new Array();
8
+ for (let i = 0; i < this.responses[0].length; i += 1) {
9
+ const responses = this.responses.map((res) => res[i]);
10
+ objects.push(imac(...responses));
11
+ }
12
+ return objects;
13
+ };
14
+ }
15
+ }
16
+ exports.default = JoinBuilderResponses;
17
+ //# sourceMappingURL=joinBuilderResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"joinBuilderResponse.js","sourceRoot":"","sources":["../../../../../src/builders/highLvlBuilders/joins/joinBuilderResponse.ts"],"names":[],"mappings":";;AAGA,MAAqB,oBAAoB;IAIvC,YAA2B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;QAG3C,QAAG,GAAG,CAAI,IAAqC,EAAY,EAAE;YAClE,MAAM,OAAO,GAAG,IAAI,KAAK,EAAK,CAAC;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;gBACpD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,SAA4B,CAAC,CAAC,CAAC;aACrD;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;IATF,CAAC;CAUF;AAfD,uCAeC"}
@@ -0,0 +1,16 @@
1
+ import AbstractTable from '@/tables/abstractTable';
2
+ import ColumnType from '../../../../columns/types/columnType';
3
+ import { AbstractColumn } from '../../../../columns/column';
4
+ export declare class JoinedColumn<TJoinedTableColumn extends AbstractColumn<ColumnType>> implements ProxyHandler<TJoinedTableColumn> {
5
+ private tableObj;
6
+ private aliasCounter;
7
+ private parentName;
8
+ constructor(tableObj: any, aliasCounter: number);
9
+ get(columnObj: TJoinedTableColumn, prop: string): (() => string) | TJoinedTableColumn[keyof TJoinedTableColumn];
10
+ }
11
+ export declare class JoinedHandler<TJoinedTable extends AbstractTable<TJoinedTable>> implements ProxyHandler<TJoinedTable> {
12
+ private aliasCounter;
13
+ private tableName;
14
+ constructor(aliasCounter: number);
15
+ get(tableObj: TJoinedTable, prop: string | symbol, receiver: any): any;
16
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ /* eslint-disable max-classes-per-file */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.JoinedHandler = exports.JoinedColumn = void 0;
5
+ const column_1 = require("../../../../columns/column");
6
+ class JoinedColumn {
7
+ constructor(tableObj, aliasCounter) {
8
+ this.tableObj = tableObj;
9
+ this.aliasCounter = aliasCounter;
10
+ this.parentName = 'getParentName';
11
+ }
12
+ get(columnObj, prop) {
13
+ if (prop === this.parentName) {
14
+ return () => `${this.tableObj.tableName()}_${this.aliasCounter}`;
15
+ }
16
+ return columnObj[prop];
17
+ }
18
+ }
19
+ exports.JoinedColumn = JoinedColumn;
20
+ class JoinedHandler {
21
+ constructor(aliasCounter) {
22
+ this.aliasCounter = aliasCounter;
23
+ this.tableName = 'tableName';
24
+ }
25
+ get(tableObj, prop, receiver) {
26
+ if (prop === this.tableName) {
27
+ return () => `${tableObj.tableName()}_${this.aliasCounter}`;
28
+ }
29
+ const columnProp = tableObj[prop];
30
+ if (columnProp instanceof column_1.AbstractColumn) {
31
+ return new Proxy(columnProp, new JoinedColumn(tableObj, this.aliasCounter));
32
+ }
33
+ if (prop === 'mapServiceToDb') {
34
+ return () => Object.getOwnPropertyNames(tableObj)
35
+ .reduce((res, fieldName) => {
36
+ const field1 = tableObj[fieldName];
37
+ if (field1 instanceof column_1.AbstractColumn) {
38
+ const field = new Proxy(field1, new JoinedColumn(tableObj, this.aliasCounter));
39
+ res[fieldName] = field;
40
+ }
41
+ return res;
42
+ }, {});
43
+ }
44
+ return tableObj[prop];
45
+ }
46
+ }
47
+ exports.JoinedHandler = JoinedHandler;
48
+ //# sourceMappingURL=joinProxies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"joinProxies.js","sourceRoot":"","sources":["../../../../../../src/builders/highLvlBuilders/joins/proxies/joinProxies.ts"],"names":[],"mappings":";AAAA,yCAAyC;;;AAKzC,uDAA4D;AAE5D,MAAa,YAAY;IAIvB,YAA2B,QAAa,EAAU,YAAoB;QAA3C,aAAQ,GAAR,QAAQ,CAAK;QAAU,iBAAY,GAAZ,YAAY,CAAQ;QAF9D,eAAU,GAAW,eAAe,CAAC;IAI7C,CAAC;IAEM,GAAG,CAAC,SAA6B,EAAE,IAAY;QACpD,IAAI,IAAI,KAAK,IAAI,CAAC,UAAU,EAAE;YAC5B,OAAO,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;SAClE;QAED,OAAO,SAAS,CAAC,IAA8B,CAAC,CAAC;IACnD,CAAC;CACF;AAfD,oCAeC;AAED,MAAa,aAAa;IAIxB,YAA2B,YAAoB;QAApB,iBAAY,GAAZ,YAAY,CAAQ;QAFvC,cAAS,GAAW,WAAW,CAAC;IAIxC,CAAC;IAEM,GAAG,CAAC,QAAsB,EAAE,IAAqB,EAAE,QAAa;QACrE,IAAI,IAAI,KAAK,IAAI,CAAC,SAAS,EAAE;YAC3B,OAAO,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;SAC7D;QACD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAA6B,CAAC,CAAC;QAC3D,IAAI,UAAU,YAAY,uBAAc,EAAE;YACxC,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE,IAAI,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;SAC7E;QACD,IAAI,IAAI,KAAK,gBAAgB,EAAE;YAC7B,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC;iBAC9C,MAAM,CACwB,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;gBAClD,MAAM,MAAM,GAAW,QAAQ,CAAC,SAA+B,CAAsB,CAAC;gBACtF,IAAI,MAAM,YAAY,uBAAc,EAAE;oBACpC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;oBAC/E,GAAG,CAAC,SAA6C,CAAC,GAAG,KAAK,CAAC;iBAC5D;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAA8E,CAAC,CAAC;SACpF;QACD,OAAO,QAAQ,CAAC,IAA0B,CAAC,CAAC;IAC9C,CAAC;CACF;AA9BD,sCA8BC"}
@@ -0,0 +1,44 @@
1
+ import { ExtractPartialObjectFromColumns, FullOrPartial, PartialFor } from '../../../tables/inferTypes';
2
+ import AbstractTable from '../../../tables/abstractTable';
3
+ import BaseLogger from '../../../logger/abstractLogger';
4
+ import ColumnType from '../../../columns/types/columnType';
5
+ import { AbstractColumn } from '../../../columns/column';
6
+ import Expr from '../../requestBuilders/where/where';
7
+ import Order from '../order';
8
+ import JoinBuilderResponses from './joinBuilderResponse';
9
+ export interface JoinType<T extends AbstractTable<T>> {
10
+ table: string;
11
+ columns: ExtractPartialObjectFromColumns<T>;
12
+ onExpression: Expr;
13
+ type: string;
14
+ originalName: string;
15
+ }
16
+ export declare type TableIfPartialIsUndefined<TPartial, TJoinedTableMapped> = TPartial extends undefined ? TJoinedTableMapped : TPartial;
17
+ export declare type EmptyPartial<T extends AbstractTable<T>> = PartialFor<T> | undefined;
18
+ export default class JoinBuilder<TJoins extends {
19
+ [name: string]: any;
20
+ }[], TJoinsResponses extends FullOrPartial<AbstractTable<any>, any>[]> {
21
+ private joins;
22
+ private aliasCounter;
23
+ private rootTable;
24
+ private _filter;
25
+ private _props;
26
+ private _orderBy?;
27
+ private _order?;
28
+ private _distinct?;
29
+ private _partial?;
30
+ private _logger?;
31
+ private joinedTables;
32
+ private joinResponses;
33
+ constructor(joins: TJoins, onTableOriginalName: string, aliasCounter: number, onExpression: Expr, onTable: AbstractTable<any>, type: string, rootTable: AbstractTable<any>, _filter: Expr, _props: {
34
+ limit?: number;
35
+ offset?: number;
36
+ }, _orderBy?: AbstractColumn<ColumnType<{}>, boolean, boolean, any> | undefined, _order?: Order | undefined, _distinct?: AbstractColumn<ColumnType<{}>, boolean, boolean, any> | undefined, _partial?: any, _logger?: BaseLogger | undefined);
37
+ innerJoin<TJoinedTable extends AbstractTable<TJoinedTable>, TPartial extends EmptyPartial<TJoinedTable> = undefined>(value: TJoinedTable, callback: (...args: [...TJoins, TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TJoinedTable>>]) => Expr, partial?: TPartial): JoinBuilder<[...TJoins, TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TJoinedTable>>], [...TJoinsResponses, FullOrPartial<TJoinedTable, TPartial>]>;
38
+ leftJoin<TJoinedTable extends AbstractTable<TJoinedTable>, TPartial extends EmptyPartial<TJoinedTable> = undefined>(value: TJoinedTable, callback: (...args: [...TJoins, TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TJoinedTable>>]) => Expr, partial?: TPartial): JoinBuilder<[...TJoins, TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TJoinedTable>>], [...TJoinsResponses, FullOrPartial<TJoinedTable, TPartial>]>;
39
+ rightJoin<TJoinedTable extends AbstractTable<TJoinedTable>, TPartial extends EmptyPartial<TJoinedTable> = undefined>(value: TJoinedTable, callback: (...args: [...TJoins, TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TJoinedTable>>]) => Expr, partial?: TPartial): JoinBuilder<[...TJoins, TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TJoinedTable>>], [...TJoinsResponses, FullOrPartial<TJoinedTable, TPartial>]>;
40
+ fullJoin<TJoinedTable extends AbstractTable<TJoinedTable>, TPartial extends EmptyPartial<TJoinedTable> = undefined>(value: TJoinedTable, callback: (...args: [...TJoins, TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TJoinedTable>>]) => Expr, partial?: TPartial): JoinBuilder<[...TJoins, TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TJoinedTable>>], [...TJoinsResponses, FullOrPartial<TJoinedTable, TPartial>]>;
41
+ where: (callback: (...args_0: TJoins) => Expr) => this;
42
+ execute(): Promise<JoinBuilderResponses<TJoinsResponses>>;
43
+ private join;
44
+ }
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ const responseMapper_1 = __importDefault(require("../../../mappers/responseMapper"));
26
+ const builderError_1 = __importStar(require("../../../errors/builderError"));
27
+ const select_1 = __importDefault(require("../../lowLvlBuilders/selects/select"));
28
+ const joinBuilderResponse_1 = __importDefault(require("./joinBuilderResponse"));
29
+ const joinProxies_1 = require("./proxies/joinProxies");
30
+ class JoinBuilder {
31
+ constructor(joins, onTableOriginalName, aliasCounter, onExpression, onTable, type, rootTable, _filter, _props, _orderBy, _order, _distinct, _partial, _logger) {
32
+ this.joins = joins;
33
+ this.aliasCounter = aliasCounter;
34
+ this.rootTable = rootTable;
35
+ this._filter = _filter;
36
+ this._props = _props;
37
+ this._orderBy = _orderBy;
38
+ this._order = _order;
39
+ this._distinct = _distinct;
40
+ this._partial = _partial;
41
+ this._logger = _logger;
42
+ this.joinedTables = [];
43
+ this.where = (callback) => {
44
+ this._filter = callback(...this.joins);
45
+ return this;
46
+ };
47
+ this.joinedTables.push({
48
+ table: onTable.tableName(),
49
+ columns: joins[1],
50
+ originalName: onTableOriginalName,
51
+ onExpression,
52
+ type,
53
+ });
54
+ }
55
+ innerJoin(value, callback, partial) {
56
+ return this.join(value, callback, 'INNER JOIN', partial);
57
+ }
58
+ leftJoin(value, callback, partial) {
59
+ return this.join(value, callback, 'LEFT JOIN', partial);
60
+ }
61
+ rightJoin(value, callback, partial) {
62
+ return this.join(value, callback, 'RIGHT JOIN', partial);
63
+ }
64
+ fullJoin(value, callback, partial) {
65
+ return this.join(value, callback, 'FULL JOIN', partial);
66
+ }
67
+ async execute() {
68
+ const queryBuilder = select_1.default
69
+ .from(this.rootTable, this._partial)
70
+ .distinct(this._distinct)
71
+ .joined(this.joinedTables)
72
+ .limit(this._props.limit)
73
+ .offset(this._props.offset)
74
+ .filteredBy(this._filter)
75
+ .orderBy(this._orderBy, this._order);
76
+ let query = '';
77
+ let values = [];
78
+ try {
79
+ const builderResult = queryBuilder.build();
80
+ query = builderResult.query;
81
+ values = builderResult.values;
82
+ }
83
+ catch (e) {
84
+ throw new builderError_1.default(builderError_1.BuilderType.JOINED_SELECT, this.rootTable.tableName(), Object.values(this.rootTable.mapServiceToDb()), e, this.rootTable.db.session(), this._filter);
85
+ }
86
+ if (this._logger) {
87
+ this._logger.info(`Selecting from ${this.rootTable.tableName()} using query:\n ${query}`);
88
+ this._logger.info(`Values for query:\n ${values}`);
89
+ }
90
+ const result = await this.rootTable.db.session().execute(query, values);
91
+ const mappedResponse = this.joins.map((joinedTable) => responseMapper_1.default.map(joinedTable, result));
92
+ return new joinBuilderResponse_1.default(mappedResponse);
93
+ }
94
+ join(value, callback, joinType, partial) {
95
+ this.aliasCounter += 1;
96
+ const valueAsProxy = new Proxy(value, new joinProxies_1.JoinedHandler(this.aliasCounter));
97
+ if (partial) {
98
+ for (const key of Object.keys(partial)) {
99
+ // eslint-disable-next-line no-param-reassign
100
+ partial[key] = new Proxy(partial[key], new joinProxies_1.JoinedColumn(value, this.aliasCounter));
101
+ }
102
+ }
103
+ const obj = partial ? partial
104
+ : valueAsProxy.mapServiceToDb();
105
+ const onExpression = callback(...this.joins, obj);
106
+ this.joins.push(partial !== null && partial !== void 0 ? partial : valueAsProxy.mapServiceToDb());
107
+ this.joinedTables.push({
108
+ table: valueAsProxy.tableName(), columns: obj, originalName: value.tableName(), onExpression, type: joinType,
109
+ });
110
+ return this;
111
+ }
112
+ }
113
+ exports.default = JoinBuilder;
114
+ //# sourceMappingURL=selectJoinBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectJoinBuilder.js","sourceRoot":"","sources":["../../../../../src/builders/highLvlBuilders/joins/selectJoinBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAKA,qFAAkE;AAElE,6EAAyE;AAGzE,iFAAyD;AAGzD,gFAAyD;AACzD,uDAAoE;AAepE,MAAqB,WAAW;IAK9B,YACU,KAAa,EACrB,mBAA2B,EACnB,YAAoB,EAC5B,YAAkB,EAClB,OAA2B,EAC3B,IAAY,EACJ,SAA6B,EAC7B,OAAa,EACb,MAA2C,EAC3C,QAAuD,EACvD,MAAc,EACd,SAAwD,EACxD,QAAc,EACd,OAAoB;QAbpB,UAAK,GAAL,KAAK,CAAQ;QAEb,iBAAY,GAAZ,YAAY,CAAQ;QAIpB,cAAS,GAAT,SAAS,CAAoB;QAC7B,YAAO,GAAP,OAAO,CAAM;QACb,WAAM,GAAN,MAAM,CAAqC;QAC3C,aAAQ,GAAR,QAAQ,CAA+C;QACvD,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAA+C;QACxD,aAAQ,GAAR,QAAQ,CAAM;QACd,YAAO,GAAP,OAAO,CAAa;QAjBtB,iBAAY,GAAmC,EAAE,CAAC;QA4DnD,UAAK,GAAG,CAAC,QAAwC,EAAQ,EAAE;YAChE,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QA5CA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACrB,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE;YAC1B,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YACjB,YAAY,EAAE,mBAAmB;YACjC,YAAY;YACZ,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAEM,SAAS,CACd,KAAmB,EACnB,QAA4H,EAC5H,OAAkB;QAElB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAEM,QAAQ,CACb,KAAmB,EACnB,QAA4H,EAC5H,OAAkB;QAElB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAEM,SAAS,CACd,KAAmB,EACnB,QAA4H,EAC5H,OAAkB;QAElB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAEM,QAAQ,CACb,KAAmB,EACnB,QAA4H,EAC5H,OAAkB;QAElB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAOM,KAAK,CAAC,OAAO;QAClB,MAAM,YAAY,GAAG,gBAAM;aACxB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC;aACnC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;aACxB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;aACzB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;aACxB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;aAC1B,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;aACxB,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEvC,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI;YACF,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC;YAC3C,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;YAC5B,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;SAC/B;QAAC,OAAO,CAAM,EAAE;YACf,MAAM,IAAI,sBAAY,CAAC,0BAAW,CAAC,aAAa,EAC9C,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SAC7H;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,mBAAmB,KAAK,EAAE,CAAC,CAAC;YAC1F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,MAAM,EAAE,CAAC,CAAC;SACpD;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAExE,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,wBAAmB,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAA8D,CAAC,CAAC;QAElK,OAAO,IAAI,6BAAoB,CAAkB,cAAmC,CAAC,CAAC;IACxF,CAAC;IAEO,IAAI,CACV,KAAmB,EACnB,QACwD,EACxD,QAAgB,EAChB,OAAkB;QAGlB,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QAEvB,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,2BAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAE5E,IAAI,OAAO,EAAE;YACX,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAQ,CAAC,EAAE;gBACvC,6CAA6C;gBAC5C,OAAoC,CAAC,GAAqC,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,0BAAY,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;aACpJ;SACF;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,OAA6F;YACjH,CAAC,CAAC,YAAY,CAAC,cAAc,EAAwF,CAAC;QAExH,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;QAE1D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACrB,KAAK,EAAE,YAAY,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ;SAC7G,CAAC,CAAC;QAEH,OAAO,IAA4L,CAAC;IACtM,CAAC;CACF;AAnID,8BAmIC"}
@@ -6,3 +6,4 @@ var Order;
6
6
  Order[Order["DESC"] = 1] = "DESC";
7
7
  })(Order || (Order = {}));
8
8
  exports.default = Order;
9
+ //# sourceMappingURL=order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order.js","sourceRoot":"","sources":["../../../../src/builders/highLvlBuilders/order.ts"],"names":[],"mappings":";;AAAA,IAAK,KAGJ;AAHD,WAAK,KAAK;IACR,+BAAG,CAAA;IACH,iCAAI,CAAA;AACN,CAAC,EAHI,KAAK,KAAL,KAAK,QAGT;AAAC,kBAAe,KAAK,CAAC"}
@@ -4,14 +4,13 @@ import DB from '../../db/db';
4
4
  import { ISession } from '../../db/session';
5
5
  import BaseLogger from '../../logger/abstractLogger';
6
6
  import { AbstractTable } from '../../tables';
7
- import { ExtractModel, PartialFor } from '../../tables/inferTypes';
7
+ import { ExtractModel, ExtractPartialObjectFromColumns, FullOrPartial, PartialFor } from '../../tables/inferTypes';
8
8
  import SelectTRBWithJoin from '../joinBuilders/builders/selectWithJoin';
9
9
  import Expr from '../requestBuilders/where/where';
10
10
  import TableRequestBuilder from './abstractRequestBuilder';
11
+ import JoinBuilder, { EmptyPartial, TableIfPartialIsUndefined } from './joins/selectJoinBuilder';
11
12
  import Order from './order';
12
- export default class SelectTRB<TTable extends AbstractTable<TTable>, TPartial extends {
13
- [name: string]: AbstractColumn<ColumnType<any>, boolean, boolean, TTable>;
14
- } = {}> extends TableRequestBuilder<TTable, TPartial> {
13
+ export default class SelectTRB<TTable extends AbstractTable<TTable>, TPartial extends EmptyPartial<TTable> = undefined> extends TableRequestBuilder<TTable, TPartial> {
15
14
  protected _filter: Expr;
16
15
  private props;
17
16
  private __orderBy?;
@@ -25,23 +24,40 @@ export default class SelectTRB<TTable extends AbstractTable<TTable>, TPartial ex
25
24
  limit?: number;
26
25
  offset?: number;
27
26
  }, table: AbstractTable<TTable>, logger?: BaseLogger, partial?: TPartial);
28
- where: (expr: Expr) => SelectTRB<TTable, TPartial>;
27
+ private join;
28
+ innerJoin<TJoinedTable extends AbstractTable<TJoinedTable>, TJoinedPartial extends EmptyPartial<TJoinedTable> = undefined>(value: TJoinedTable, callback: (...args: [TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TTable>>, TableIfPartialIsUndefined<TJoinedPartial, ExtractPartialObjectFromColumns<TJoinedTable>>]) => Expr, partial?: TJoinedPartial): JoinBuilder<[TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TTable>>, TableIfPartialIsUndefined<TJoinedPartial, ExtractPartialObjectFromColumns<TJoinedTable>>], [FullOrPartial<TTable, TPartial>, FullOrPartial<TJoinedTable, TJoinedPartial>]>;
29
+ leftJoin<TJoinedTable extends AbstractTable<TJoinedTable>, TJoinedPartial extends EmptyPartial<TJoinedTable> = undefined>(value: TJoinedTable, callback: (...args: [TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TTable>>, TableIfPartialIsUndefined<TJoinedPartial, ExtractPartialObjectFromColumns<TJoinedTable>>]) => Expr, partial?: TJoinedPartial): JoinBuilder<[TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TTable>>, TableIfPartialIsUndefined<TJoinedPartial, ExtractPartialObjectFromColumns<TJoinedTable>>], [FullOrPartial<TTable, TPartial>, FullOrPartial<TJoinedTable, TJoinedPartial>]>;
30
+ rightJoin<TJoinedTable extends AbstractTable<TJoinedTable>, TJoinedPartial extends EmptyPartial<TJoinedTable> = undefined>(value: TJoinedTable, callback: (...args: [TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TTable>>, TableIfPartialIsUndefined<TJoinedPartial, ExtractPartialObjectFromColumns<TJoinedTable>>]) => Expr, partial?: TJoinedPartial): JoinBuilder<[TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TTable>>, TableIfPartialIsUndefined<TJoinedPartial, ExtractPartialObjectFromColumns<TJoinedTable>>], [FullOrPartial<TTable, TPartial>, FullOrPartial<TJoinedTable, TJoinedPartial>]>;
31
+ fullJoin<TJoinedTable extends AbstractTable<TJoinedTable>, TJoinedPartial extends EmptyPartial<TJoinedTable> = undefined>(value: TJoinedTable, callback: (...args: [TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TTable>>, TableIfPartialIsUndefined<TJoinedPartial, ExtractPartialObjectFromColumns<TJoinedTable>>]) => Expr, partial?: TJoinedPartial): JoinBuilder<[TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TTable>>, TableIfPartialIsUndefined<TJoinedPartial, ExtractPartialObjectFromColumns<TJoinedTable>>], [FullOrPartial<TTable, TPartial>, FullOrPartial<TJoinedTable, TJoinedPartial>]>;
32
+ where: (expr: Expr) => Omit<this, 'leftJoin' | 'rightJoin' | 'innerJoin' | 'fullJoin'>;
29
33
  orderBy<TColumnType extends ColumnType>(callback: (table: TTable) => AbstractColumn<TColumnType, boolean, boolean>, order: Order): SelectTRB<TTable, TPartial>;
30
34
  distinct: (column: AbstractColumn<ColumnType<any>, boolean, boolean>) => SelectTRB<TTable, TPartial>;
31
35
  limit: (limit: number) => SelectTRB<TTable, TPartial>;
32
36
  offset: (offset: number) => SelectTRB<TTable, TPartial>;
33
- innerJoin<TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(table: {
37
+ /**
38
+ * @deprecated Since version 0.11.0. Will be deleted in version 0.12.0. Use {@link innerJoinV2()} instead
39
+ */
40
+ innerJoinV1<TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable>>(table: {
34
41
  new (db: DB): IToTable;
35
- }, from: (table: TTable) => AbstractColumn<TColumn, boolean, boolean>, to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean>, partial?: IToPartial): SelectTRBWithJoin<TTable, IToTable, TPartial, IToPartial>;
36
- leftJoin<TColumn extends ColumnType<any>, IToColumn extends ColumnType<any>, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(table: {
42
+ }, from: (table: TTable) => AbstractColumn<TColumn, boolean, boolean>, to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean>, partial?: IToPartial): SelectTRBWithJoin<TTable, IToTable, TPartial extends undefined ? {} : TPartial, IToPartial>;
43
+ /**
44
+ * @deprecated Since version 0.11.0. Will be deleted in version 0.12.0. Use {@link leftJoin()} instead
45
+ */
46
+ leftJoinV1<TColumn extends ColumnType<any>, IToColumn extends ColumnType<any>, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(table: {
37
47
  new (db: DB): IToTable;
38
- }, from: (table: TTable) => AbstractColumn<TColumn, boolean, boolean, TTable>, to: (table: IToTable) => AbstractColumn<IToColumn, boolean, boolean, IToTable>, partial?: IToPartial): SelectTRBWithJoin<TTable, IToTable, TPartial, IToPartial>;
39
- rightJoin<TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(table: {
48
+ }, from: (table: TTable) => AbstractColumn<TColumn, boolean, boolean, TTable>, to: (table: IToTable) => AbstractColumn<IToColumn, boolean, boolean, IToTable>, partial?: IToPartial): SelectTRBWithJoin<TTable, IToTable, TPartial extends undefined ? {} : TPartial, IToPartial>;
49
+ /**
50
+ * @deprecated Since version 0.11.0. Will be deleted in version 0.12.0. Use {@link rightJoin()} instead
51
+ */
52
+ rightJoinV1<TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(table: {
40
53
  new (db: DB): IToTable;
41
- }, from: (table: TTable) => AbstractColumn<TColumn, boolean, boolean>, to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean>, partial?: IToPartial): SelectTRBWithJoin<TTable, IToTable, TPartial, IToPartial>;
42
- fullJoin<TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(table: {
54
+ }, from: (table: TTable) => AbstractColumn<TColumn, boolean, boolean>, to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean>, partial?: IToPartial): SelectTRBWithJoin<TTable, IToTable, TPartial extends undefined ? {} : TPartial, IToPartial>;
55
+ /**
56
+ * @deprecated Since version 0.11.0. Will be deleted in version 0.12.0. Use {@link fullJoin()} instead
57
+ */
58
+ fullJoinV1<TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(table: {
43
59
  new (db: DB): IToTable;
44
- }, from: (table: TTable) => AbstractColumn<TColumn, boolean, boolean>, to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean>, partial?: IToPartial): SelectTRBWithJoin<TTable, IToTable, TPartial, IToPartial>;
60
+ }, from: (table: TTable) => AbstractColumn<TColumn, boolean, boolean>, to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean>, partial?: IToPartial): SelectTRBWithJoin<TTable, IToTable, TPartial extends undefined ? {} : TPartial, IToPartial>;
45
61
  execute: () => Promise<([keyof TPartial] extends [never] ? ExtractModel<TTable> : ExtractModel<TPartial>)[]>;
46
62
  protected _execute: () => Promise<Array<[keyof TPartial] extends [never] ? ExtractModel<TTable> : ExtractModel<TPartial>>>;
47
63
  }
@@ -28,6 +28,8 @@ const responseMapper_1 = __importDefault(require("../../mappers/responseMapper")
28
28
  const selectWithJoin_1 = __importDefault(require("../joinBuilders/builders/selectWithJoin"));
29
29
  const join_1 = require("../joinBuilders/join");
30
30
  const abstractRequestBuilder_1 = __importDefault(require("./abstractRequestBuilder"));
31
+ const joinProxies_1 = require("./joins/proxies/joinProxies");
32
+ const selectJoinBuilder_1 = __importDefault(require("./joins/selectJoinBuilder"));
31
33
  class SelectTRB extends abstractRequestBuilder_1.default {
32
34
  constructor(session, mappedServiceToDb, props, table, logger, partial) {
33
35
  super(table, session, mappedServiceToDb, logger);
@@ -70,8 +72,6 @@ class SelectTRB extends abstractRequestBuilder_1.default {
70
72
  catch (e) {
71
73
  throw new builderError_1.default(builderError_1.BuilderType.SELECT, this._table.tableName(), this._columns, e, this._session, this._filter);
72
74
  }
73
- console.log(query);
74
- console.log(values);
75
75
  if (this._logger) {
76
76
  this._logger.info(`Selecting from ${this._table.tableName()} using query:\n ${query}`);
77
77
  this._logger.info(`Values for query:\n ${values}`);
@@ -85,6 +85,33 @@ class SelectTRB extends abstractRequestBuilder_1.default {
85
85
  this.props = props;
86
86
  this.__partial = partial;
87
87
  }
88
+ join(value, callback, joinType, partial) {
89
+ const valueAsProxy = new Proxy(value, new joinProxies_1.JoinedHandler(1));
90
+ if (partial) {
91
+ for (const key of Object.keys(partial)) {
92
+ // eslint-disable-next-line no-param-reassign
93
+ partial[key] = new Proxy(partial[key], new joinProxies_1.JoinedColumn(value, 1));
94
+ }
95
+ }
96
+ const obj = this.__partial ? this.__partial
97
+ : this._table.mapServiceToDb();
98
+ const obj1 = partial ? partial
99
+ : valueAsProxy.mapServiceToDb();
100
+ const joinExpression = callback(obj, obj1);
101
+ return new selectJoinBuilder_1.default([obj, obj1], value.tableName(), 1, joinExpression, valueAsProxy, joinType, this._table, this._filter, this.props, this.__orderBy, this.__order, this.__distinct, this.__partial, this._logger);
102
+ }
103
+ innerJoin(value, callback, partial) {
104
+ return this.join(value, callback, 'INNER JOIN', partial);
105
+ }
106
+ leftJoin(value, callback, partial) {
107
+ return this.join(value, callback, 'LEFT JOIN', partial);
108
+ }
109
+ rightJoin(value, callback, partial) {
110
+ return this.join(value, callback, 'RIGHT JOIN', partial);
111
+ }
112
+ fullJoin(value, callback, partial) {
113
+ return this.join(value, callback, 'FULL JOIN', partial);
114
+ }
88
115
  orderBy(callback, order) {
89
116
  this.__orderBy = callback(this._table);
90
117
  this.__order = order;
@@ -95,7 +122,10 @@ class SelectTRB extends abstractRequestBuilder_1.default {
95
122
  // this.__groupBy = callback(this.__table);
96
123
  // return this;
97
124
  // }
98
- innerJoin(table, from, to, partial) {
125
+ /**
126
+ * @deprecated Since version 0.11.0. Will be deleted in version 0.12.0. Use {@link innerJoinV2()} instead
127
+ */
128
+ innerJoinV1(table, from, to, partial) {
99
129
  const toTable = this._table.db.create(table);
100
130
  const fromColumn = from(this._table);
101
131
  const toColumn = to(toTable);
@@ -103,7 +133,10 @@ class SelectTRB extends abstractRequestBuilder_1.default {
103
133
  .columns(fromColumn, toColumn).joinStrategy(join_1.JoinStrategy.INNER_JOIN);
104
134
  return new selectWithJoin_1.default(this._table, this._session, this._filter, join, this.props, this.__orderBy, this.__order, this.__distinct, this.__partial, partial, this._logger);
105
135
  }
106
- leftJoin(table, from, to, partial) {
136
+ /**
137
+ * @deprecated Since version 0.11.0. Will be deleted in version 0.12.0. Use {@link leftJoin()} instead
138
+ */
139
+ leftJoinV1(table, from, to, partial) {
107
140
  const toTable = this._table.db.create(table);
108
141
  const fromColumn = from(this._table);
109
142
  const toColumn = to(toTable);
@@ -111,7 +144,10 @@ class SelectTRB extends abstractRequestBuilder_1.default {
111
144
  .columns(fromColumn, toColumn).joinStrategy(join_1.JoinStrategy.LEFT_JOIN);
112
145
  return new selectWithJoin_1.default(this._table, this._session, this._filter, join, this.props, this.__orderBy, this.__order, this.__distinct, this.__partial, partial, this._logger);
113
146
  }
114
- rightJoin(table, from, to, partial) {
147
+ /**
148
+ * @deprecated Since version 0.11.0. Will be deleted in version 0.12.0. Use {@link rightJoin()} instead
149
+ */
150
+ rightJoinV1(table, from, to, partial) {
115
151
  const toTable = this._table.db.create(table);
116
152
  const fromColumn = from(this._table);
117
153
  const toColumn = to(toTable);
@@ -119,7 +155,10 @@ class SelectTRB extends abstractRequestBuilder_1.default {
119
155
  .columns(fromColumn, toColumn).joinStrategy(join_1.JoinStrategy.RIGHT_JOIN);
120
156
  return new selectWithJoin_1.default(this._table, this._session, this._filter, join, this.props, this.__orderBy, this.__order, this.__distinct, this.__partial, partial, this._logger);
121
157
  }
122
- fullJoin(table, from, to, partial) {
158
+ /**
159
+ * @deprecated Since version 0.11.0. Will be deleted in version 0.12.0. Use {@link fullJoin()} instead
160
+ */
161
+ fullJoinV1(table, from, to, partial) {
123
162
  const toTable = this._table.db.create(table);
124
163
  const fromColumn = from(this._table);
125
164
  const toColumn = to(toTable);
@@ -129,3 +168,4 @@ class SelectTRB extends abstractRequestBuilder_1.default {
129
168
  }
130
169
  }
131
170
  exports.default = SelectTRB;
171
+ //# sourceMappingURL=selectRequestBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectRequestBuilder.js","sourceRoot":"","sources":["../../../../src/builders/highLvlBuilders/selectRequestBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAUA,0BAAsC;AAKtC,0EAAsE;AAEtE,kFAA+D;AAK/D,6FAAwE;AACxE,+CAAoD;AAEpD,sFAA2D;AAC3D,6DAA0E;AAC1E,kFAAiG;AAGjG,MAAqB,SACnB,SAAQ,gCAAqC;IAS7C,YACE,OAAiB,EACjB,iBAAwF,EACxF,KAA0C,EAC1C,KAA4B,EAC5B,MAAmB,EACnB,OAAkB;QAElB,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;QA8E5C,UAAK,GAAG,CAAC,IAAU,EAAmE,EAAE;YAC7F,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAYK,aAAQ,GAAG,CAAC,MAAyD,EAC9C,EAAE;YAC9B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEK,UAAK,GAAG,CAAC,KAAa,EAA+B,EAAE;YAC5D,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEK,WAAM,GAAG,CAAC,MAAc,EAA+B,EAAE;YAC9D,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAwIK,YAAO,GAAG,KAAK,IAAI,EAAE;YAC1B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QAEQ,aAAQ,GAAG,KAAK,IAAsG,EAAE;YAChI,0EAA0E;YAC1E,MAAM,YAAY,GAAG,UAAM;iBACxB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;iBACjC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;iBACzB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;iBACxB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;iBACvB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;iBACzB,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAQ,CAAC,CAAC;YAE1C,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI;gBACF,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC;gBAC3C,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;gBAC5B,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;aAC/B;YAAC,OAAO,CAAM,EAAE;gBACf,MAAM,IAAI,sBAAY,CAAC,0BAAW,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAChE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;aAClD;YAED,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,KAAK,EAAE,CAAC,CAAC;gBACvF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,MAAM,EAAE,CAAC,CAAC;aACpD;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1D,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,OAAO,wBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,SAAU,EAAE,MAAM,CAA4F,CAAC;aAC3J;YACD,OAAO,wBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAA4F,CAAC;QAC7J,CAAC,CAAC;QArRA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;IAC3B,CAAC;IAEO,IAAI,CACV,KAAmB,EACnB,QAAqM,EACrM,QAAgB,EAChB,OAAwB;QAExB,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,2BAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5D,IAAI,OAAO,EAAE;YACX,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAQ,CAAC,EAAE;gBACvC,6CAA6C;gBAC5C,OAAoC,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,0BAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;aAClG;SACF;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAyF;YACzH,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAkF,CAAC;QAEjH,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,OAAmG;YACxH,CAAC,CAAC,YAAY,CAAC,cAAc,EAA8F,CAAC;QAE9H,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE3C,OAAO,IAAI,2BAAW,CACpB,CAAC,GAAG,EAAE,IAAI,CAAC,EACX,KAAK,CAAC,SAAS,EAAE,EACjB,CAAC,EACD,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,OAAO,CACb,CAAC;IACJ,CAAC;IAEM,SAAS,CACd,KAAmB,EACnB,QAAqM,EACrM,OAAwB;QAExB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAEM,QAAQ,CACb,KAAmB,EACnB,QAAqM,EACrM,OAAwB;QAExB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAEM,SAAS,CACd,KAAmB,EACnB,QAAqM,EACrM,OAAwB;QAExB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAEM,QAAQ,CACb,KAAmB,EACnB,QAAqM,EACrM,OAAwB;QAExB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAOM,OAAO,CACZ,QAA0E,EAC1E,KAAY;QAGZ,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAkBD,oFAAoF;IACpF,0BAA0B;IAC1B,6CAA6C;IAC7C,iBAAiB;IACjB,IAAI;IAEJ;;MAEE;IACK,WAAW,CAChB,KAAiC,EACjC,IAAkE,EAClE,EAAoE,EACpE,OAAoB;QAEpB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE7C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;QAE7B,MAAM,IAAI,GAAG,IAAI,YAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;aACrE,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,mBAAY,CAAC,UAAU,CAAC,CAAC;QAEvE,OAAO,IAAI,wBAAiB,CAC1B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,IAAI,EACJ,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,SAAS,EACd,OAAO,EACP,IAAI,CAAC,OAAO,CACkF,CAAC;IACnG,CAAC;IAED;;MAEE;IACK,UAAU,CACf,KAAiC,EACjC,IAA0E,EAC1E,EAA8E,EAC9E,OAAoB;QAEpB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE7C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;QAE7B,MAAM,IAAI,GAAG,IAAI,YAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;aACrE,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,mBAAY,CAAC,SAAS,CAAC,CAAC;QAEtE,OAAO,IAAI,wBAAiB,CAC1B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,IAAI,EACJ,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,SAAS,EACd,OAAO,EACP,IAAI,CAAC,OAAO,CACkF,CAAC;IACnG,CAAC;IAED;;MAEE;IACK,WAAW,CAChB,KAAiC,EACjC,IAAkE,EAClE,EAAoE,EACpE,OAAoB;QAEpB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE7C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;QAE7B,MAAM,IAAI,GAAG,IAAI,YAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;aACrE,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,mBAAY,CAAC,UAAU,CAAC,CAAC;QAEvE,OAAO,IAAI,wBAAiB,CAC1B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,IAAI,EACJ,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,SAAS,EACd,OAAO,EACP,IAAI,CAAC,OAAO,CACkF,CAAC;IACnG,CAAC;IAED;;MAEE;IACK,UAAU,CACf,KAAiC,EACjC,IAAkE,EAClE,EAAoE,EACpE,OAAoB;QAEpB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE7C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;QAE7B,MAAM,IAAI,GAAG,IAAI,YAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;aACrE,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,mBAAY,CAAC,SAAS,CAAC,CAAC;QAEtE,OAAO,IAAI,wBAAiB,CAC1B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,IAAI,EACJ,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,SAAS,EACd,OAAO,EACP,IAAI,CAAC,OAAO,CACkF,CAAC;IACnG,CAAC;CAsCF;AAzSD,4BAySC"}
@@ -78,3 +78,4 @@ class UpdateTRB extends abstractRequestBuilder_1.default {
78
78
  }
79
79
  }
80
80
  exports.default = UpdateTRB;
81
+ //# sourceMappingURL=updateRequestBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateRequestBuilder.js","sourceRoot":"","sources":["../../../../src/builders/highLvlBuilders/updateRequestBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA,0EAAsE;AAEtE,kFAA+D;AAG/D,8EAAsD;AACtD,8DAAiE;AACjE,gEAAkF;AAElF,sFAA2D;AAE3D,MAAqB,SACnB,SAAQ,gCAAqC;IAK7C,YACE,KAA4B,EAC5B,OAAiB,EACjB,iBAAwF,EACxF,MAAmB;QAEnB,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAG5C,UAAK,GAAG,CAAC,IAAU,EAAqB,EAAE;YAC/C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEK,QAAG,GAAG,CAAC,IAAyC,EAAqB,EAAE;YAC5E,MAAM,OAAO,GAAsB,EAAE,CAAC;YACtC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAiC,CAAC,CAAC;gBAC1E,IAAI,KAAK,YAAY,0BAAgB,EAAE;oBACrC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBACxB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACrB;qBAAM;oBACL,OAAO,CAAC,IAAI,CAAC,YAAG,CAAC,MAAM,EAAE,KAAY,CAAC,CAAC,CAAC;iBACzC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,gBAAO,CAAC,OAAO,CAAC,CAAC;YAEhC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEK,YAAO,GAAG,KAAK,IAAI,EAAE;YAC1B,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC,CAAC;QAEQ,aAAQ,GAAG,KAAK,IAAqG,EAAE;YAC/H,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,IAAI;gBACF,MAAM,aAAa,GAAG,gBAAM,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;qBACzC,OAAO,EAAE;qBACT,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;qBACjB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;qBACxB,KAAK,EAAE,CAAC;gBACX,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;gBAC5B,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;aAC/B;YAAC,OAAO,CAAM,EAAE;gBACf,MAAM,IAAI,sBAAY,CAAC,0BAAW,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAChE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;aAClD;YAED,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,KAAK,EAAE,CAAC,CAAC;gBACjF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;aAC1D;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1D,OAAO,wBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAA2F,CAAC;QAC5J,CAAC,CAAC;IAlDF,CAAC;CAmDF;AAhED,4BAgEC"}
@@ -2,6 +2,9 @@ export { default as DeleteTRB } from './highLvlBuilders/deleteRequestBuilder';
2
2
  export { default as InsertTRB } from './highLvlBuilders/insertRequestBuilder';
3
3
  export { default as SelectTRB } from './highLvlBuilders/selectRequestBuilder';
4
4
  export { default as UpdateTRB } from './highLvlBuilders/updateRequestBuilder';
5
+ export * from './highLvlBuilders/joins/selectJoinBuilder';
6
+ export { default as JoinBuilderResponses } from './highLvlBuilders/joins/joinBuilderResponse';
7
+ export * from './highLvlBuilders/joins/proxies/joinProxies';
5
8
  export { default as to } from './joinBuilders/static';
6
9
  export { default as JoinWith } from './joinBuilders/joinWith';
7
10
  export { default as Join } from './joinBuilders/join';
package/builders/index.js CHANGED
@@ -1,9 +1,19 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
2
12
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
13
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
14
  };
5
15
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.isNotNull = exports.raw = exports.lessEq = exports.less = exports.greaterEq = exports.greater = exports.like = exports.or = exports.and = exports.in = exports.eq = exports.combine = exports.set = exports.Update = exports.Select = exports.Insert = exports.Delete = exports.Create = exports.SelectResponseJoin = exports.SelectResponseTwoJoins = exports.SelectTRBWithTwoJoins = exports.SelectTRBWithJoin = exports.Join = exports.JoinWith = exports.to = exports.UpdateTRB = exports.SelectTRB = exports.InsertTRB = exports.DeleteTRB = void 0;
16
+ exports.isNotNull = exports.raw = exports.lessEq = exports.less = exports.greaterEq = exports.greater = exports.like = exports.or = exports.and = exports.in = exports.eq = exports.combine = exports.set = exports.Update = exports.Select = exports.Insert = exports.Delete = exports.Create = exports.SelectResponseJoin = exports.SelectResponseTwoJoins = exports.SelectTRBWithTwoJoins = exports.SelectTRBWithJoin = exports.Join = exports.JoinWith = exports.to = exports.JoinBuilderResponses = exports.UpdateTRB = exports.SelectTRB = exports.InsertTRB = exports.DeleteTRB = void 0;
7
17
  /* eslint-disable import/no-cycle */
8
18
  var deleteRequestBuilder_1 = require("./highLvlBuilders/deleteRequestBuilder");
9
19
  Object.defineProperty(exports, "DeleteTRB", { enumerable: true, get: function () { return __importDefault(deleteRequestBuilder_1).default; } });
@@ -13,6 +23,10 @@ var selectRequestBuilder_1 = require("./highLvlBuilders/selectRequestBuilder");
13
23
  Object.defineProperty(exports, "SelectTRB", { enumerable: true, get: function () { return __importDefault(selectRequestBuilder_1).default; } });
14
24
  var updateRequestBuilder_1 = require("./highLvlBuilders/updateRequestBuilder");
15
25
  Object.defineProperty(exports, "UpdateTRB", { enumerable: true, get: function () { return __importDefault(updateRequestBuilder_1).default; } });
26
+ __exportStar(require("./highLvlBuilders/joins/selectJoinBuilder"), exports);
27
+ var joinBuilderResponse_1 = require("./highLvlBuilders/joins/joinBuilderResponse");
28
+ Object.defineProperty(exports, "JoinBuilderResponses", { enumerable: true, get: function () { return __importDefault(joinBuilderResponse_1).default; } });
29
+ __exportStar(require("./highLvlBuilders/joins/proxies/joinProxies"), exports);
16
30
  var static_1 = require("./joinBuilders/static");
17
31
  Object.defineProperty(exports, "to", { enumerable: true, get: function () { return __importDefault(static_1).default; } });
18
32
  var joinWith_1 = require("./joinBuilders/joinWith");
@@ -52,3 +66,4 @@ Object.defineProperty(exports, "less", { enumerable: true, get: function () { re
52
66
  Object.defineProperty(exports, "lessEq", { enumerable: true, get: function () { return static_3.lessEq; } });
53
67
  Object.defineProperty(exports, "raw", { enumerable: true, get: function () { return static_3.raw; } });
54
68
  Object.defineProperty(exports, "isNotNull", { enumerable: true, get: function () { return static_3.isNotNull; } });
69
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/builders/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oCAAoC;AACpC,+EAA8E;AAArE,kIAAA,OAAO,OAAa;AAC7B,+EAA8E;AAArE,kIAAA,OAAO,OAAa;AAC7B,+EAA8E;AAArE,kIAAA,OAAO,OAAa;AAC7B,+EAA8E;AAArE,kIAAA,OAAO,OAAa;AAC7B,4EAA0D;AAC1D,mFAA8F;AAArF,4IAAA,OAAO,OAAwB;AACxC,8EAA4D;AAC5D,gDAAsD;AAA7C,6GAAA,OAAO,OAAM;AACtB,oDAA8D;AAArD,qHAAA,OAAO,OAAY;AAC5B,4CAAsD;AAA7C,6GAAA,OAAO,OAAQ;AACxB,yEAAsF;AAA7E,oIAAA,OAAO,OAAqB;AACrC,iFAA8F;AAArF,4IAAA,OAAO,OAAyB;AACzC,0FAAoG;AAA3F,iJAAA,OAAO,OAA0B;AAC1C,0FAAgG;AAAvF,6IAAA,OAAO,OAAsB;AACtC,kDAA4D;AAAnD,iHAAA,OAAO,OAAU;AAC1B,yDAAmE;AAA1D,iHAAA,OAAO,OAAU;AAC1B,0DAAoE;AAA3D,iHAAA,OAAO,OAAU;AAC1B,0DAAoE;AAA3D,iHAAA,OAAO,OAAU;AAC1B,0DAAoE;AAA3D,iHAAA,OAAO,OAAU;AAC1B,2DAAgE;AAAvD,6FAAA,GAAG,OAAA;AAAE,iGAAA,OAAO,OAAA;AACrB,yDAEwC;AADtC,4FAAA,EAAE,OAAA;AAAE,4FAAA,OAAO,OAAM;AAAE,6FAAA,GAAG,OAAA;AAAE,4FAAA,EAAE,OAAA;AAAE,8FAAA,IAAI,OAAA;AAAE,iGAAA,OAAO,OAAA;AAAE,mGAAA,SAAS,OAAA;AAAE,8FAAA,IAAI,OAAA;AAAE,gGAAA,MAAM,OAAA;AAAE,6FAAA,GAAG,OAAA;AAAE,mGAAA,SAAS,OAAA"}
@@ -23,7 +23,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
25
  const builderError_1 = __importStar(require("../../../errors/builderError"));
26
- const responseMapper_1 = __importDefault(require("../../../mappers/responseMapper"));
26
+ const responseMapper_1 = require("../../../mappers/responseMapper");
27
27
  const select_1 = __importDefault(require("../../lowLvlBuilders/selects/select"));
28
28
  class AbstractJoined {
29
29
  constructor(table, filter, session, props, orderBy, order, distinct, tablePartial, logger) {
@@ -37,7 +37,7 @@ class AbstractJoined {
37
37
  };
38
38
  this.execute = async () => {
39
39
  const queryBuilder = select_1.default
40
- .from(this._table, this._partial)
40
+ .fromV1(this._table, this._partial)
41
41
  .distinct(this._distinct)
42
42
  .joined(this.joins())
43
43
  .limit(this._props.limit)
@@ -73,9 +73,10 @@ class AbstractJoined {
73
73
  }
74
74
  fullOrPartial(mappedServiceToDb, result, partial, joinId) {
75
75
  if (partial) {
76
- return responseMapper_1.default.partialMap(partial, result, joinId);
76
+ return responseMapper_1.QueryResponseMapperV1.partialMap(partial, result, joinId);
77
77
  }
78
- return responseMapper_1.default.map(mappedServiceToDb, result, joinId);
78
+ return responseMapper_1.QueryResponseMapperV1.map(mappedServiceToDb, result, joinId);
79
79
  }
80
80
  }
81
81
  exports.default = AbstractJoined;
82
+ //# sourceMappingURL=abstractJoinBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstractJoinBuilder.js","sourceRoot":"","sources":["../../../../../src/builders/joinBuilders/builders/abstractJoinBuilder.ts"],"names":[],"mappings":"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"}
@@ -43,3 +43,4 @@ class SelectTRBWithFiveJoins extends abstractJoinBuilder_1.default {
43
43
  }
44
44
  }
45
45
  exports.default = SelectTRBWithFiveJoins;
46
+ //# sourceMappingURL=selectWithFiveJoins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectWithFiveJoins.js","sourceRoot":"","sources":["../../../../../src/builders/joinBuilders/builders/selectWithFiveJoins.ts"],"names":[],"mappings":"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"}
@@ -76,3 +76,4 @@ class SelectTRBWithFourJoins extends abstractJoinBuilder_1.default {
76
76
  }
77
77
  }
78
78
  exports.default = SelectTRBWithFourJoins;
79
+ //# sourceMappingURL=selectWithFourJoins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectWithFourJoins.js","sourceRoot":"","sources":["../../../../../src/builders/joinBuilders/builders/selectWithFourJoins.ts"],"names":[],"mappings":"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"}
@@ -62,3 +62,4 @@ class SelectTRBWithJoin extends abstractJoinBuilder_1.default {
62
62
  }
63
63
  }
64
64
  exports.default = SelectTRBWithJoin;
65
+ //# sourceMappingURL=selectWithJoin.js.map