drizzle-orm 0.10.46 → 0.11.1
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.
- package/README.md +50 -58
- package/{src/builders → builders}/aggregators/abstractAggregator.d.ts +0 -0
- package/{src/builders → builders}/aggregators/abstractAggregator.js +1 -1
- package/{src/builders → builders}/aggregators/deleteAggregator.d.ts +0 -0
- package/{src/builders → builders}/aggregators/deleteAggregator.js +0 -0
- package/{src/builders → builders}/aggregators/insertAggregator.d.ts +0 -0
- package/{src/builders → builders}/aggregators/insertAggregator.js +0 -0
- package/{src/builders → builders}/aggregators/selectAggregator.d.ts +2 -8
- package/builders/aggregators/selectAggregator.js +110 -0
- package/builders/aggregators/selectAggregatorV1.d.ts +39 -0
- package/{src/builders/aggregators/selectAggregator.js → builders/aggregators/selectAggregatorV1.js} +3 -3
- package/{src/builders → builders}/aggregators/updateAggregator.d.ts +0 -0
- package/{src/builders → builders}/aggregators/updateAggregator.js +0 -0
- package/{src/builders → builders}/highLvlBuilders/abstractRequestBuilder.d.ts +2 -3
- package/{src/builders → builders}/highLvlBuilders/abstractRequestBuilder.js +0 -0
- package/{src/builders → builders}/highLvlBuilders/deleteRequestBuilder.d.ts +0 -0
- package/{src/builders → builders}/highLvlBuilders/deleteRequestBuilder.js +0 -0
- package/{src/builders → builders}/highLvlBuilders/insertRequestBuilder.d.ts +0 -0
- package/{src/builders → builders}/highLvlBuilders/insertRequestBuilder.js +0 -0
- package/builders/highLvlBuilders/joins/joinBuilderResponse.d.ts +8 -0
- package/builders/highLvlBuilders/joins/joinBuilderResponse.js +16 -0
- package/builders/highLvlBuilders/joins/proxies/joinProxies.d.ts +16 -0
- package/builders/highLvlBuilders/joins/proxies/joinProxies.js +47 -0
- package/builders/highLvlBuilders/joins/selectJoinBuilder.d.ts +44 -0
- package/builders/highLvlBuilders/joins/selectJoinBuilder.js +113 -0
- package/{src/builders → builders}/highLvlBuilders/order.d.ts +0 -0
- package/{src/builders → builders}/highLvlBuilders/order.js +0 -0
- package/builders/highLvlBuilders/selectRequestBuilder.d.ts +63 -0
- package/{src/builders → builders}/highLvlBuilders/selectRequestBuilder.js +45 -6
- package/{src/builders → builders}/highLvlBuilders/updateRequestBuilder.d.ts +0 -0
- package/{src/builders → builders}/highLvlBuilders/updateRequestBuilder.js +0 -0
- package/{src/builders → builders}/index.d.ts +3 -0
- package/{src/builders → builders}/index.js +15 -1
- package/{src/builders → builders}/joinBuilders/builders/abstractJoinBuilder.d.ts +0 -0
- package/{src/builders → builders}/joinBuilders/builders/abstractJoinBuilder.js +1 -1
- package/{src/builders → builders}/joinBuilders/builders/selectWithFiveJoins.d.ts +0 -0
- package/{src/builders → builders}/joinBuilders/builders/selectWithFiveJoins.js +0 -0
- package/{src/builders → builders}/joinBuilders/builders/selectWithFourJoins.d.ts +0 -0
- package/{src/builders → builders}/joinBuilders/builders/selectWithFourJoins.js +0 -0
- package/{src/builders → builders}/joinBuilders/builders/selectWithJoin.d.ts +0 -0
- package/{src/builders → builders}/joinBuilders/builders/selectWithJoin.js +0 -0
- package/{src/builders → builders}/joinBuilders/builders/selectWithThreeJoins.d.ts +0 -0
- package/{src/builders → builders}/joinBuilders/builders/selectWithThreeJoins.js +0 -0
- package/{src/builders → builders}/joinBuilders/builders/selectWithTwoJoins.d.ts +0 -0
- package/{src/builders → builders}/joinBuilders/builders/selectWithTwoJoins.js +0 -0
- package/{src/builders → builders}/joinBuilders/join.d.ts +0 -0
- package/{src/builders → builders}/joinBuilders/join.js +0 -0
- package/{src/builders → builders}/joinBuilders/joinWith.d.ts +0 -0
- package/{src/builders → builders}/joinBuilders/joinWith.js +0 -0
- package/{src/builders → builders}/joinBuilders/responses/selectResponseFiveJoins.d.ts +0 -0
- package/{src/builders → builders}/joinBuilders/responses/selectResponseFiveJoins.js +0 -0
- package/{src/builders → builders}/joinBuilders/responses/selectResponseFourJoins.d.ts +0 -0
- package/{src/builders → builders}/joinBuilders/responses/selectResponseFourJoins.js +0 -0
- package/{src/builders → builders}/joinBuilders/responses/selectResponseThreeJoins.d.ts +0 -0
- package/{src/builders → builders}/joinBuilders/responses/selectResponseThreeJoins.js +0 -0
- package/{src/builders → builders}/joinBuilders/responses/selectResponseTwoJoins.d.ts +0 -0
- package/{src/builders → builders}/joinBuilders/responses/selectResponseTwoJoins.js +0 -0
- package/{src/builders → builders}/joinBuilders/responses/selectResponseWithJoin.d.ts +0 -0
- package/{src/builders → builders}/joinBuilders/responses/selectResponseWithJoin.js +0 -0
- package/{src/builders → builders}/joinBuilders/static.d.ts +0 -0
- package/{src/builders → builders}/joinBuilders/static.js +0 -0
- package/{src/builders → builders}/lowLvlBuilders/alter.d.ts +0 -0
- package/{src/builders → builders}/lowLvlBuilders/alter.js +0 -0
- package/{src/builders → builders}/lowLvlBuilders/create.d.ts +0 -0
- package/{src/builders → builders}/lowLvlBuilders/create.js +0 -0
- package/{src/builders → builders}/lowLvlBuilders/delets/delete.d.ts +0 -0
- package/{src/builders → builders}/lowLvlBuilders/delets/delete.js +0 -0
- package/{src/builders → builders}/lowLvlBuilders/delets/deleteFilter.d.ts +0 -0
- package/{src/builders → builders}/lowLvlBuilders/delets/deleteFilter.js +0 -0
- package/{src/builders → builders}/lowLvlBuilders/delets/deleteFrom.d.ts +0 -0
- package/{src/builders → builders}/lowLvlBuilders/delets/deleteFrom.js +0 -0
- package/{src/builders → builders}/lowLvlBuilders/inserts/insert.d.ts +0 -0
- package/{src/builders → builders}/lowLvlBuilders/inserts/insert.js +0 -0
- package/{src/builders → builders}/lowLvlBuilders/inserts/insertInto.d.ts +0 -0
- package/{src/builders → builders}/lowLvlBuilders/inserts/insertInto.js +0 -0
- package/{src/builders → builders}/lowLvlBuilders/inserts/onConflictInsert.d.ts +0 -0
- package/{src/builders → builders}/lowLvlBuilders/inserts/onConflictInsert.js +0 -0
- package/{src/builders → builders}/lowLvlBuilders/inserts/valuesInsert.d.ts +0 -0
- package/{src/builders → builders}/lowLvlBuilders/inserts/valuesInsert.js +0 -0
- package/{src/builders → builders}/lowLvlBuilders/selects/select.d.ts +4 -1
- package/builders/lowLvlBuilders/selects/select.js +42 -0
- package/{src/builders → builders}/lowLvlBuilders/selects/selectFrom.d.ts +25 -8
- package/builders/lowLvlBuilders/selects/selectFrom.js +78 -0
- package/{src/builders → builders}/lowLvlBuilders/selects/selectJoined.d.ts +22 -6
- package/builders/lowLvlBuilders/selects/selectJoined.js +71 -0
- package/{src/builders → builders}/lowLvlBuilders/selects/whereSelect.d.ts +13 -0
- package/{src/builders → builders}/lowLvlBuilders/selects/whereSelect.js +24 -0
- package/{src/builders → builders}/lowLvlBuilders/updates/update.d.ts +0 -0
- package/{src/builders → builders}/lowLvlBuilders/updates/update.js +0 -0
- package/{src/builders → builders}/lowLvlBuilders/updates/updateIn.d.ts +0 -0
- package/{src/builders → builders}/lowLvlBuilders/updates/updateIn.js +0 -0
- package/{src/builders → builders}/lowLvlBuilders/updates/whereSelect.d.ts +0 -0
- package/{src/builders → builders}/lowLvlBuilders/updates/whereSelect.js +0 -0
- package/{src/builders → builders}/lowLvlBuilders/updates/whereSet.d.ts +0 -0
- package/{src/builders → builders}/lowLvlBuilders/updates/whereSet.js +0 -0
- package/{src/builders → builders}/requestBuilders/updates/combine.d.ts +0 -0
- package/{src/builders → builders}/requestBuilders/updates/combine.js +0 -0
- package/{src/builders → builders}/requestBuilders/updates/increment.d.ts +0 -0
- package/{src/builders → builders}/requestBuilders/updates/increment.js +0 -0
- package/{src/builders → builders}/requestBuilders/updates/setObjects.d.ts +0 -0
- package/{src/builders → builders}/requestBuilders/updates/setObjects.js +0 -0
- package/{src/builders → builders}/requestBuilders/updates/static.d.ts +0 -0
- package/{src/builders → builders}/requestBuilders/updates/static.js +0 -0
- package/{src/builders → builders}/requestBuilders/updates/updates.d.ts +0 -0
- package/{src/builders → builders}/requestBuilders/updates/updates.js +0 -0
- package/{src/builders → builders}/requestBuilders/where/and.d.ts +8 -1
- package/{src/builders → builders}/requestBuilders/where/and.js +19 -2
- package/{src/builders → builders}/requestBuilders/where/const.d.ts +8 -4
- package/{src/builders → builders}/requestBuilders/where/const.js +11 -1
- package/{src/builders → builders}/requestBuilders/where/constArray.d.ts +8 -4
- package/{src/builders → builders}/requestBuilders/where/constArray.js +26 -1
- package/{src/builders → builders}/requestBuilders/where/eqWhere.d.ts +11 -1
- package/{src/builders → builders}/requestBuilders/where/eqWhere.js +8 -3
- package/{src/builders → builders}/requestBuilders/where/greater.d.ts +8 -1
- package/{src/builders → builders}/requestBuilders/where/greater.js +8 -3
- package/{src/builders → builders}/requestBuilders/where/greaterEq.d.ts +8 -1
- package/{src/builders → builders}/requestBuilders/where/greaterEq.js +8 -3
- package/{src/builders → builders}/requestBuilders/where/in.d.ts +8 -1
- package/{src/builders → builders}/requestBuilders/where/in.js +8 -3
- package/{src/builders → builders}/requestBuilders/where/isNotNull.d.ts +8 -1
- package/{src/builders → builders}/requestBuilders/where/isNotNull.js +6 -2
- package/{src/builders → builders}/requestBuilders/where/isNull.d.ts +8 -1
- package/{src/builders → builders}/requestBuilders/where/isNull.js +6 -2
- package/{src/builders → builders}/requestBuilders/where/less.d.ts +8 -1
- package/{src/builders → builders}/requestBuilders/where/less.js +8 -3
- package/{src/builders → builders}/requestBuilders/where/lessEq.d.ts +8 -1
- package/{src/builders → builders}/requestBuilders/where/lessEq.js +8 -3
- package/{src/builders → builders}/requestBuilders/where/like.d.ts +8 -1
- package/{src/builders → builders}/requestBuilders/where/like.js +8 -3
- package/{src/builders → builders}/requestBuilders/where/notEqWhere.d.ts +8 -1
- package/{src/builders → builders}/requestBuilders/where/notEqWhere.js +8 -3
- package/{src/builders → builders}/requestBuilders/where/or.d.ts +8 -1
- package/{src/builders → builders}/requestBuilders/where/or.js +19 -2
- package/{src/builders → builders}/requestBuilders/where/rawWhere.d.ts +8 -1
- package/{src/builders → builders}/requestBuilders/where/rawWhere.js +2 -1
- package/{src/builders → builders}/requestBuilders/where/static.d.ts +5 -1
- package/{src/builders → builders}/requestBuilders/where/static.js +9 -2
- package/{src/docs/cases/simple_delete.d.ts → builders/requestBuilders/where/static.spec.d.ts} +0 -0
- package/{tests/lowLevelbuilders/updates/updates.test.js → builders/requestBuilders/where/static.spec.js} +27 -18
- package/{src/builders → builders}/requestBuilders/where/var.d.ts +8 -1
- package/{src/builders → builders}/requestBuilders/where/var.js +5 -1
- package/{src/builders → builders}/requestBuilders/where/where.d.ts +8 -1
- package/{src/builders → builders}/requestBuilders/where/where.js +0 -0
- package/{src/builders → builders}/transaction/transaction.d.ts +0 -0
- package/{src/builders → builders}/transaction/transaction.js +0 -0
- package/{src/columns → columns}/column.d.ts +0 -0
- package/{src/columns → columns}/column.js +0 -0
- package/{src/columns → columns}/index.d.ts +0 -0
- package/{src/columns → columns}/index.js +0 -0
- package/{src/columns → columns}/types/columnType.d.ts +0 -0
- package/{src/columns → columns}/types/columnType.js +0 -0
- package/{src/columns → columns}/types/pgBigDecimal.d.ts +0 -0
- package/{src/columns → columns}/types/pgBigDecimal.js +0 -0
- package/{src/columns → columns}/types/pgBigInt.d.ts +0 -0
- package/{src/columns → columns}/types/pgBigInt.js +0 -0
- package/{src/columns → columns}/types/pgBigSerial.d.ts +0 -0
- package/{src/columns → columns}/types/pgBigSerial.js +0 -0
- package/{src/columns → columns}/types/pgBoolean.d.ts +0 -0
- package/{src/columns → columns}/types/pgBoolean.js +0 -0
- package/{src/columns → columns}/types/pgEnum.d.ts +0 -0
- package/{src/columns → columns}/types/pgEnum.js +0 -0
- package/{src/columns → columns}/types/pgInteger.d.ts +0 -0
- package/{src/columns → columns}/types/pgInteger.js +0 -0
- package/{src/columns → columns}/types/pgJsonb.d.ts +0 -0
- package/{src/columns → columns}/types/pgJsonb.js +0 -0
- package/{src/columns → columns}/types/pgSerial.d.ts +0 -0
- package/{src/columns → columns}/types/pgSerial.js +0 -0
- package/{src/columns → columns}/types/pgSmallInt.d.ts +0 -0
- package/{src/columns → columns}/types/pgSmallInt.js +0 -0
- package/{src/columns → columns}/types/pgText.d.ts +0 -0
- package/{src/columns → columns}/types/pgText.js +0 -0
- package/{src/columns → columns}/types/pgTime.d.ts +0 -0
- package/{src/columns → columns}/types/pgTime.js +0 -0
- package/{src/columns → columns}/types/pgTimestamp.d.ts +0 -0
- package/{src/columns → columns}/types/pgTimestamp.js +0 -0
- package/{src/columns → columns}/types/pgTimestamptz.d.ts +0 -0
- package/{src/columns → columns}/types/pgTimestamptz.js +0 -0
- package/{src/columns → columns}/types/pgVarChar.d.ts +0 -0
- package/{src/columns → columns}/types/pgVarChar.js +0 -0
- package/{src/db → db}/db.d.ts +0 -0
- package/{src/db → db}/db.js +0 -0
- package/{src/db → db}/dbConnector.d.ts +0 -0
- package/{src/db → db}/dbConnector.js +0 -0
- package/{src/db → db}/dbStringConnector.d.ts +0 -0
- package/{src/db → db}/dbStringConnector.js +0 -0
- package/{src/db → db}/group_by.d.ts +0 -0
- package/{src/db → db}/group_by.js +0 -0
- package/{src/db → db}/index.d.ts +0 -0
- package/{src/db → db}/index.js +0 -0
- package/{src/db → db}/session.d.ts +0 -0
- package/{src/db → db}/session.js +0 -0
- package/{src/docs/cases/simple_insert.d.ts → docs/cases/simple_delete.d.ts} +0 -0
- package/{src/docs → docs}/cases/simple_delete.js +0 -0
- package/{src/docs/cases/simple_join.d.ts → docs/cases/simple_insert.d.ts} +0 -0
- package/{src/docs → docs}/cases/simple_insert.js +0 -0
- package/{src/docs/cases/simple_select.d.ts → docs/cases/simple_join.d.ts} +0 -0
- package/{src/docs → docs}/cases/simple_join.js +5 -5
- package/{src/docs/cases/simple_update.d.ts → docs/cases/simple_select.d.ts} +0 -0
- package/{src/docs → docs}/cases/simple_select.js +0 -0
- package/{tests/lowLevelbuilders/filters/filters.test.d.ts → docs/cases/simple_update.d.ts} +0 -0
- package/{src/docs → docs}/cases/simple_update.js +0 -0
- package/{src/docs → docs}/tables/citiesTable.d.ts +0 -0
- package/{src/docs → docs}/tables/citiesTable.js +0 -0
- package/{src/docs → docs}/tables/userGroupsTable.d.ts +1 -0
- package/{src/docs → docs}/tables/userGroupsTable.js +1 -0
- package/{src/docs → docs}/tables/usersTable.d.ts +0 -0
- package/{src/docs → docs}/tables/usersTable.js +1 -1
- package/{src/docs → docs}/tables/usersToUserGroups.d.ts +0 -0
- package/{src/docs → docs}/tables/usersToUserGroups.js +0 -0
- package/{src/docs → docs}/types/rolesType.d.ts +0 -0
- package/{src/docs → docs}/types/rolesType.js +0 -0
- package/{src/errors → errors}/baseError.d.ts +0 -0
- package/{src/errors → errors}/baseError.js +0 -0
- package/{src/errors → errors}/builderError.d.ts +0 -0
- package/{src/errors → errors}/builderError.js +0 -0
- package/{src/errors → errors}/dbErrors.d.ts +0 -0
- package/{src/errors → errors}/dbErrors.js +0 -0
- package/{src/index.d.ts → index.d.ts} +0 -0
- package/{src/index.js → index.js} +0 -0
- package/{src/indexes → indexes}/tableIndex.d.ts +0 -0
- package/{src/indexes → indexes}/tableIndex.js +0 -0
- package/{src/logger → logger}/abstractLogger.d.ts +0 -0
- package/{src/logger → logger}/abstractLogger.js +0 -0
- package/{src/logger → logger}/consoleLogger.d.ts +0 -0
- package/{src/logger → logger}/consoleLogger.js +0 -0
- package/{src/mappers → mappers}/index.d.ts +0 -0
- package/{src/mappers → mappers}/index.js +0 -0
- package/{src/mappers → mappers}/responseMapper.d.ts +3 -4
- package/{src/mappers → mappers}/responseMapper.js +2 -1
- package/{src/migrator → migrator}/index.d.ts +0 -0
- package/{src/migrator → migrator}/index.js +0 -0
- package/{src/migrator → migrator}/migrator.d.ts +0 -0
- package/{src/migrator → migrator}/migrator.js +0 -0
- package/package.json +4 -4
- package/{src/serializer → serializer}/serializer.d.ts +0 -0
- package/{src/serializer → serializer}/serializer.js +0 -0
- package/{src/tables → tables}/abstractTable.d.ts +3 -4
- package/{src/tables → tables}/abstractTable.js +1 -0
- package/{src/tables → tables}/index.d.ts +0 -0
- package/{src/tables → tables}/index.js +0 -0
- package/{src/tables → tables}/inferTypes.d.ts +6 -2
- package/{src/tables → tables}/inferTypes.js +0 -0
- package/{src/tables → tables}/migrationsTable.d.ts +0 -0
- package/{src/tables → tables}/migrationsTable.js +0 -0
- package/{src/test.d.ts → test.d.ts} +0 -0
- package/test.js +177 -0
- package/{src/types → types}/type.d.ts +0 -0
- package/{src/types → types}/type.js +0 -0
- package/{src/utils → utils}/ecranate.d.ts +0 -0
- package/{src/utils → utils}/ecranate.js +0 -0
- package/src/builders/highLvlBuilders/selectRequestBuilder.d.ts +0 -47
- package/src/builders/lowLvlBuilders/selects/select.js +0 -16
- package/src/builders/lowLvlBuilders/selects/selectFrom.js +0 -34
- package/src/builders/lowLvlBuilders/selects/selectJoined.js +0 -30
- package/src/test.js +0 -135
- package/tests/columnTypesTests/int/int.test.d.ts +0 -1
- package/tests/columnTypesTests/int/int.test.js +0 -561
- package/tests/columnTypesTests/int/models.d.ts +0 -10
- package/tests/columnTypesTests/int/models.js +0 -69
- package/tests/columnTypesTests/int/to/allIntsTable.d.ts +0 -16
- package/tests/columnTypesTests/int/to/allIntsTable.js +0 -28
- package/tests/examples/selects/index.test.d.ts +0 -1
- package/tests/examples/selects/index.test.js +0 -71
- package/tests/examples/selects/tables/to.d.ts +0 -12
- package/tests/examples/selects/tables/to.js +0 -25
- package/tests/highLevelBuilders/selects/index.test.d.ts +0 -1
- package/tests/highLevelBuilders/selects/index.test.js +0 -61
- package/tests/highLevelBuilders/selects/tables/to.d.ts +0 -12
- package/tests/highLevelBuilders/selects/tables/to.js +0 -25
- package/tests/lowLevelbuilders/filters/filters.test.js +0 -56
- package/tests/lowLevelbuilders/filters/usersTable.d.ts +0 -18
- package/tests/lowLevelbuilders/filters/usersTable.js +0 -32
- package/tests/lowLevelbuilders/updates/updates.test.d.ts +0 -1
- package/tests/lowLevelbuilders/updates/usersTable.d.ts +0 -18
- package/tests/lowLevelbuilders/updates/usersTable.js +0 -32
- package/tests/suites/simpleTableSuite/allInts/usersTable.d.ts +0 -11
- package/tests/suites/simpleTableSuite/allInts/usersTable.js +0 -22
- package/tests/suites/simpleTableSuite/allTexts/usersTable.d.ts +0 -11
- package/tests/suites/simpleTableSuite/allTexts/usersTable.js +0 -22
- package/tests/utils.d.ts +0 -8
- package/tests/utils.js +0 -75
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { AbstractColumn } from '../../columns/column';
|
|
2
|
+
import ColumnType from '../../columns/types/columnType';
|
|
3
|
+
import DB from '../../db/db';
|
|
4
|
+
import { ISession } from '../../db/session';
|
|
5
|
+
import BaseLogger from '../../logger/abstractLogger';
|
|
6
|
+
import { AbstractTable } from '../../tables';
|
|
7
|
+
import { ExtractModel, ExtractPartialObjectFromColumns, FullOrPartial, PartialFor } from '../../tables/inferTypes';
|
|
8
|
+
import SelectTRBWithJoin from '../joinBuilders/builders/selectWithJoin';
|
|
9
|
+
import Expr from '../requestBuilders/where/where';
|
|
10
|
+
import TableRequestBuilder from './abstractRequestBuilder';
|
|
11
|
+
import JoinBuilder, { EmptyPartial, TableIfPartialIsUndefined } from './joins/selectJoinBuilder';
|
|
12
|
+
import Order from './order';
|
|
13
|
+
export default class SelectTRB<TTable extends AbstractTable<TTable>, TPartial extends EmptyPartial<TTable> = undefined> extends TableRequestBuilder<TTable, TPartial> {
|
|
14
|
+
protected _filter: Expr;
|
|
15
|
+
private props;
|
|
16
|
+
private __orderBy?;
|
|
17
|
+
private __groupBy?;
|
|
18
|
+
private __order?;
|
|
19
|
+
private __distinct;
|
|
20
|
+
private __partial?;
|
|
21
|
+
constructor(session: ISession, mappedServiceToDb: {
|
|
22
|
+
[name in keyof ExtractModel<TTable>]: AbstractColumn<ColumnType>;
|
|
23
|
+
}, props: {
|
|
24
|
+
limit?: number;
|
|
25
|
+
offset?: number;
|
|
26
|
+
}, table: AbstractTable<TTable>, logger?: BaseLogger, partial?: 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'>;
|
|
33
|
+
orderBy<TColumnType extends ColumnType>(callback: (table: TTable) => AbstractColumn<TColumnType, boolean, boolean>, order: Order): SelectTRB<TTable, TPartial>;
|
|
34
|
+
distinct: (column: AbstractColumn<ColumnType<any>, boolean, boolean>) => SelectTRB<TTable, TPartial>;
|
|
35
|
+
limit: (limit: number) => SelectTRB<TTable, TPartial>;
|
|
36
|
+
offset: (offset: number) => SelectTRB<TTable, TPartial>;
|
|
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: {
|
|
41
|
+
new (db: DB): IToTable;
|
|
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: {
|
|
47
|
+
new (db: DB): IToTable;
|
|
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: {
|
|
53
|
+
new (db: DB): IToTable;
|
|
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: {
|
|
59
|
+
new (db: DB): IToTable;
|
|
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>;
|
|
61
|
+
execute: () => Promise<([keyof TPartial] extends [never] ? ExtractModel<TTable> : ExtractModel<TPartial>)[]>;
|
|
62
|
+
protected _execute: () => Promise<Array<[keyof TPartial] extends [never] ? ExtractModel<TTable> : ExtractModel<TPartial>>>;
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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);
|
|
File without changes
|
|
File without changes
|
|
@@ -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';
|
|
@@ -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");
|
|
File without changes
|
|
@@ -37,7 +37,7 @@ class AbstractJoined {
|
|
|
37
37
|
};
|
|
38
38
|
this.execute = async () => {
|
|
39
39
|
const queryBuilder = select_1.default
|
|
40
|
-
.
|
|
40
|
+
.fromV1(this._table, this._partial)
|
|
41
41
|
.distinct(this._distinct)
|
|
42
42
|
.joined(this.joins())
|
|
43
43
|
.limit(this._props.limit)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { AbstractColumn } from '../../../columns/column';
|
|
2
2
|
import ColumnType from '../../../columns/types/columnType';
|
|
3
3
|
import { AbstractTable } from '../../../tables';
|
|
4
|
-
import SelectFrom from './selectFrom';
|
|
4
|
+
import SelectFrom, { SelectFromV1 } from './selectFrom';
|
|
5
5
|
export default class Select {
|
|
6
6
|
static from: <TTable extends AbstractTable<TTable>, TType extends ColumnType<any>, TColumn extends AbstractColumn<TType, boolean, boolean, TTable>, T extends {
|
|
7
7
|
[name: string]: TColumn;
|
|
8
8
|
} = {}>(table: AbstractTable<TTable>, partial?: T | undefined) => SelectFrom;
|
|
9
|
+
static fromV1: <TTable extends AbstractTable<TTable>, TType extends ColumnType<any>, TColumn extends AbstractColumn<TType, boolean, boolean, TTable>, T extends {
|
|
10
|
+
[name: string]: TColumn;
|
|
11
|
+
} = {}>(table: AbstractTable<TTable>, partial?: T | undefined) => SelectFromV1;
|
|
9
12
|
}
|
|
@@ -0,0 +1,42 @@
|
|
|
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 selectAggregatorV1_1 = __importDefault(require("../../aggregators/selectAggregatorV1"));
|
|
26
|
+
const selectAggregator_1 = __importDefault(require("../../aggregators/selectAggregator"));
|
|
27
|
+
const selectFrom_1 = __importStar(require("./selectFrom"));
|
|
28
|
+
class Select {
|
|
29
|
+
}
|
|
30
|
+
exports.default = Select;
|
|
31
|
+
// eslint-disable-next-line max-len
|
|
32
|
+
Select.from = (table, partial) => {
|
|
33
|
+
const aggregator = new selectAggregator_1.default(table, partial);
|
|
34
|
+
aggregator.appendFrom(table.tableName());
|
|
35
|
+
return new selectFrom_1.default(aggregator);
|
|
36
|
+
};
|
|
37
|
+
// eslint-disable-next-line max-len
|
|
38
|
+
Select.fromV1 = (table, partial) => {
|
|
39
|
+
const aggregator = new selectAggregatorV1_1.default(table, partial);
|
|
40
|
+
aggregator.appendFrom(table.tableName());
|
|
41
|
+
return new selectFrom_1.SelectFromV1(aggregator);
|
|
42
|
+
};
|
|
@@ -1,26 +1,43 @@
|
|
|
1
|
+
import AbstractTable from '../../../tables/abstractTable';
|
|
2
|
+
import SelectAggregatorV1 from '../../aggregators/selectAggregatorV1';
|
|
3
|
+
import { JoinType } from '../../highLvlBuilders/joins/selectJoinBuilder';
|
|
1
4
|
import { AbstractColumn } from '../../../columns/column';
|
|
2
5
|
import ColumnType from '../../../columns/types/columnType';
|
|
3
6
|
import SelectAggregator from '../../aggregators/selectAggregator';
|
|
4
7
|
import Order from '../../highLvlBuilders/order';
|
|
5
8
|
import Join from '../../joinBuilders/join';
|
|
6
9
|
import Expr from '../../requestBuilders/where/where';
|
|
7
|
-
import SelectJoined from './selectJoined';
|
|
8
|
-
import WhereSelect from './whereSelect';
|
|
10
|
+
import SelectJoined, { SelectJoinedV1 } from './selectJoined';
|
|
11
|
+
import WhereSelect, { WhereSelectV1 } from './whereSelect';
|
|
9
12
|
export default class SelectFrom {
|
|
10
13
|
private _aggregator;
|
|
11
14
|
constructor(aggregator: SelectAggregator);
|
|
15
|
+
joined: (joins: Array<JoinType<AbstractTable<any>>>) => SelectJoined;
|
|
16
|
+
limit: (limit?: number | undefined) => SelectFrom;
|
|
17
|
+
offset: (offset?: number | undefined) => SelectFrom;
|
|
18
|
+
orderBy: (orderBy?: AbstractColumn<ColumnType<{}>, boolean, boolean, any> | undefined, order?: Order | undefined) => SelectFrom;
|
|
19
|
+
distinct: (column?: AbstractColumn<ColumnType<{}>, boolean, boolean, any> | undefined) => SelectFrom;
|
|
20
|
+
filteredBy: (filters: Expr) => WhereSelect;
|
|
21
|
+
build: () => {
|
|
22
|
+
query: string;
|
|
23
|
+
values: any[];
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export declare class SelectFromV1 {
|
|
27
|
+
private _aggregator;
|
|
28
|
+
constructor(aggregator: SelectAggregatorV1);
|
|
12
29
|
joined: (joins: {
|
|
13
30
|
join: Join<any>;
|
|
14
31
|
partial?: {
|
|
15
32
|
[name: string]: AbstractColumn<ColumnType<any>, boolean, boolean, any>;
|
|
16
33
|
} | undefined;
|
|
17
34
|
id?: number | undefined;
|
|
18
|
-
}[]) =>
|
|
19
|
-
limit: (limit?: number | undefined) =>
|
|
20
|
-
offset: (offset?: number | undefined) =>
|
|
21
|
-
orderBy: (orderBy?: AbstractColumn<ColumnType<{}>, boolean, boolean, any> | undefined, order?: Order | undefined) =>
|
|
22
|
-
distinct: (column?: AbstractColumn<ColumnType<{}>, boolean, boolean, any> | undefined) =>
|
|
23
|
-
filteredBy: (filters: Expr) =>
|
|
35
|
+
}[]) => SelectJoinedV1;
|
|
36
|
+
limit: (limit?: number | undefined) => SelectFromV1;
|
|
37
|
+
offset: (offset?: number | undefined) => SelectFromV1;
|
|
38
|
+
orderBy: (orderBy?: AbstractColumn<ColumnType<{}>, boolean, boolean, any> | undefined, order?: Order | undefined) => SelectFromV1;
|
|
39
|
+
distinct: (column?: AbstractColumn<ColumnType<{}>, boolean, boolean, any> | undefined) => SelectFromV1;
|
|
40
|
+
filteredBy: (filters: Expr) => WhereSelectV1;
|
|
24
41
|
build: () => {
|
|
25
42
|
query: string;
|
|
26
43
|
values: any[];
|
|
@@ -0,0 +1,78 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.SelectFromV1 = void 0;
|
|
23
|
+
const selectJoined_1 = __importStar(require("./selectJoined"));
|
|
24
|
+
const whereSelect_1 = __importStar(require("./whereSelect"));
|
|
25
|
+
class SelectFrom {
|
|
26
|
+
constructor(aggregator) {
|
|
27
|
+
this.joined = (joins) => new selectJoined_1.default(this._aggregator).apply(joins);
|
|
28
|
+
this.limit = (limit) => {
|
|
29
|
+
this._aggregator.limit(limit);
|
|
30
|
+
return this;
|
|
31
|
+
};
|
|
32
|
+
this.offset = (offset) => {
|
|
33
|
+
this._aggregator.offset(offset);
|
|
34
|
+
return this;
|
|
35
|
+
};
|
|
36
|
+
this.orderBy = (orderBy, order) => {
|
|
37
|
+
this._aggregator.orderBy(orderBy, order);
|
|
38
|
+
return this;
|
|
39
|
+
};
|
|
40
|
+
this.distinct = (column) => {
|
|
41
|
+
if (column) {
|
|
42
|
+
this._aggregator.distinct(column);
|
|
43
|
+
}
|
|
44
|
+
return this;
|
|
45
|
+
};
|
|
46
|
+
this.filteredBy = (filters) => new whereSelect_1.default(this._aggregator).apply(filters);
|
|
47
|
+
this.build = () => this._aggregator.buildQuery();
|
|
48
|
+
this._aggregator = aggregator;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.default = SelectFrom;
|
|
52
|
+
class SelectFromV1 {
|
|
53
|
+
constructor(aggregator) {
|
|
54
|
+
this.joined = (joins) => new selectJoined_1.SelectJoinedV1(this._aggregator).apply(joins);
|
|
55
|
+
this.limit = (limit) => {
|
|
56
|
+
this._aggregator.limit(limit);
|
|
57
|
+
return this;
|
|
58
|
+
};
|
|
59
|
+
this.offset = (offset) => {
|
|
60
|
+
this._aggregator.offset(offset);
|
|
61
|
+
return this;
|
|
62
|
+
};
|
|
63
|
+
this.orderBy = (orderBy, order) => {
|
|
64
|
+
this._aggregator.orderBy(orderBy, order);
|
|
65
|
+
return this;
|
|
66
|
+
};
|
|
67
|
+
this.distinct = (column) => {
|
|
68
|
+
if (column) {
|
|
69
|
+
this._aggregator.distinct(column);
|
|
70
|
+
}
|
|
71
|
+
return this;
|
|
72
|
+
};
|
|
73
|
+
this.filteredBy = (filters) => new whereSelect_1.WhereSelectV1(this._aggregator).apply(filters);
|
|
74
|
+
this.build = () => this._aggregator.buildQuery();
|
|
75
|
+
this._aggregator = aggregator;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.SelectFromV1 = SelectFromV1;
|
|
@@ -1,24 +1,40 @@
|
|
|
1
|
+
import AbstractTable from '../../../tables/abstractTable';
|
|
2
|
+
import { JoinType } from '../../highLvlBuilders/joins/selectJoinBuilder';
|
|
3
|
+
import SelectAggregatorV1 from '../../aggregators/selectAggregatorV1';
|
|
1
4
|
import { AbstractColumn } from '../../../columns/column';
|
|
2
5
|
import ColumnType from '../../../columns/types/columnType';
|
|
3
6
|
import SelectAggregator from '../../aggregators/selectAggregator';
|
|
4
7
|
import Order from '../../highLvlBuilders/order';
|
|
5
8
|
import Join from '../../joinBuilders/join';
|
|
6
9
|
import Expr from '../../requestBuilders/where/where';
|
|
7
|
-
import WhereSelect from './whereSelect';
|
|
10
|
+
import WhereSelect, { WhereSelectV1 } from './whereSelect';
|
|
8
11
|
export default class SelectJoined {
|
|
9
12
|
private _aggregator;
|
|
10
13
|
constructor(aggregator: SelectAggregator);
|
|
14
|
+
apply: (joins: Array<JoinType<AbstractTable<any>>>) => SelectJoined;
|
|
15
|
+
limit: (limit?: number | undefined) => SelectJoined;
|
|
16
|
+
offset: (offset?: number | undefined) => SelectJoined;
|
|
17
|
+
orderBy: (orderBy?: AbstractColumn<ColumnType<{}>, boolean, boolean, any> | undefined, order?: Order | undefined) => SelectJoined;
|
|
18
|
+
filteredBy: (filters: Expr) => WhereSelect;
|
|
19
|
+
build: () => {
|
|
20
|
+
query: string;
|
|
21
|
+
values: any[];
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export declare class SelectJoinedV1 {
|
|
25
|
+
private _aggregator;
|
|
26
|
+
constructor(aggregator: SelectAggregatorV1);
|
|
11
27
|
apply: (joins: {
|
|
12
28
|
join: Join<any>;
|
|
13
29
|
partial?: {
|
|
14
30
|
[name: string]: AbstractColumn<ColumnType<any>, boolean, boolean, any>;
|
|
15
31
|
} | undefined;
|
|
16
32
|
id?: number | undefined;
|
|
17
|
-
}[]) =>
|
|
18
|
-
limit: (limit?: number | undefined) =>
|
|
19
|
-
offset: (offset?: number | undefined) =>
|
|
20
|
-
orderBy: (orderBy?: AbstractColumn<ColumnType<{}>, boolean, boolean, any> | undefined, order?: Order | undefined) =>
|
|
21
|
-
filteredBy: (filters: Expr) =>
|
|
33
|
+
}[]) => SelectJoinedV1;
|
|
34
|
+
limit: (limit?: number | undefined) => SelectJoinedV1;
|
|
35
|
+
offset: (offset?: number | undefined) => SelectJoinedV1;
|
|
36
|
+
orderBy: (orderBy?: AbstractColumn<ColumnType<{}>, boolean, boolean, any> | undefined, order?: Order | undefined) => SelectJoinedV1;
|
|
37
|
+
filteredBy: (filters: Expr) => WhereSelectV1;
|
|
22
38
|
build: () => {
|
|
23
39
|
query: string;
|
|
24
40
|
values: any[];
|