drizzle-orm 0.10.28 → 0.10.31
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/{dist/builders → builders}/aggregators/abstractAggregator.d.ts +0 -0
- package/{dist/builders → builders}/aggregators/abstractAggregator.js +0 -0
- package/{dist/builders → builders}/aggregators/deleteAggregator.d.ts +0 -0
- package/{dist/builders → builders}/aggregators/deleteAggregator.js +0 -0
- package/{dist/builders → builders}/aggregators/insertAggregator.d.ts +0 -0
- package/{dist/builders → builders}/aggregators/insertAggregator.js +0 -0
- package/{dist/builders → builders}/aggregators/selectAggregator.d.ts +0 -0
- package/{dist/builders → builders}/aggregators/selectAggregator.js +0 -0
- package/{dist/builders → builders}/aggregators/updateAggregator.d.ts +0 -0
- package/{dist/builders → builders}/aggregators/updateAggregator.js +0 -0
- package/{dist/builders → builders}/highLvlBuilders/abstractRequestBuilder.d.ts +0 -0
- package/{dist/builders → builders}/highLvlBuilders/abstractRequestBuilder.js +0 -0
- package/{dist/builders → builders}/highLvlBuilders/deleteRequestBuilder.d.ts +0 -0
- package/{dist/builders → builders}/highLvlBuilders/deleteRequestBuilder.js +0 -0
- package/{dist/builders → builders}/highLvlBuilders/insertRequestBuilder.d.ts +0 -0
- package/{dist/builders → builders}/highLvlBuilders/insertRequestBuilder.js +0 -0
- package/{dist/builders → builders}/highLvlBuilders/order.d.ts +0 -0
- package/{dist/builders → builders}/highLvlBuilders/order.js +0 -0
- package/{dist/builders → builders}/highLvlBuilders/selectRequestBuilder.d.ts +0 -0
- package/{dist/builders → builders}/highLvlBuilders/selectRequestBuilder.js +0 -0
- package/{dist/builders → builders}/highLvlBuilders/updateRequestBuilder.d.ts +0 -0
- package/{dist/builders → builders}/highLvlBuilders/updateRequestBuilder.js +0 -0
- package/{dist/builders → builders}/index.d.ts +0 -0
- package/{dist/builders → builders}/index.js +0 -0
- package/{dist/builders → builders}/joinBuilders/builders/abstractJoinBuilder.d.ts +0 -0
- package/{dist/builders → builders}/joinBuilders/builders/abstractJoinBuilder.js +0 -0
- package/{dist/builders → builders}/joinBuilders/builders/selectWithFiveJoins.d.ts +0 -0
- package/{dist/builders → builders}/joinBuilders/builders/selectWithFiveJoins.js +0 -0
- package/{dist/builders → builders}/joinBuilders/builders/selectWithFourJoins.d.ts +0 -0
- package/{dist/builders → builders}/joinBuilders/builders/selectWithFourJoins.js +0 -0
- package/{dist/builders → builders}/joinBuilders/builders/selectWithJoin.d.ts +0 -0
- package/{dist/builders → builders}/joinBuilders/builders/selectWithJoin.js +0 -0
- package/{dist/builders → builders}/joinBuilders/builders/selectWithThreeJoins.d.ts +0 -0
- package/{dist/builders → builders}/joinBuilders/builders/selectWithThreeJoins.js +0 -0
- package/{dist/builders → builders}/joinBuilders/builders/selectWithTwoJoins.d.ts +0 -0
- package/{dist/builders → builders}/joinBuilders/builders/selectWithTwoJoins.js +0 -0
- package/{dist/builders → builders}/joinBuilders/join.d.ts +0 -0
- package/{dist/builders → builders}/joinBuilders/join.js +0 -0
- package/{dist/builders → builders}/joinBuilders/joinWith.d.ts +0 -0
- package/{dist/builders → builders}/joinBuilders/joinWith.js +0 -0
- package/{dist/builders → builders}/joinBuilders/responses/selectResponseFiveJoins.d.ts +0 -0
- package/{dist/builders → builders}/joinBuilders/responses/selectResponseFiveJoins.js +0 -0
- package/{dist/builders → builders}/joinBuilders/responses/selectResponseFourJoins.d.ts +0 -0
- package/{dist/builders → builders}/joinBuilders/responses/selectResponseFourJoins.js +0 -0
- package/{dist/builders → builders}/joinBuilders/responses/selectResponseThreeJoins.d.ts +0 -0
- package/{dist/builders → builders}/joinBuilders/responses/selectResponseThreeJoins.js +0 -0
- package/{dist/builders → builders}/joinBuilders/responses/selectResponseTwoJoins.d.ts +0 -0
- package/{dist/builders → builders}/joinBuilders/responses/selectResponseTwoJoins.js +0 -0
- package/{dist/builders → builders}/joinBuilders/responses/selectResponseWithJoin.d.ts +0 -0
- package/{dist/builders → builders}/joinBuilders/responses/selectResponseWithJoin.js +0 -0
- package/{dist/builders → builders}/joinBuilders/static.d.ts +0 -0
- package/{dist/builders → builders}/joinBuilders/static.js +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/alter.d.ts +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/alter.js +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/create.d.ts +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/create.js +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/delets/delete.d.ts +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/delets/delete.js +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/delets/deleteFilter.d.ts +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/delets/deleteFilter.js +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/delets/deleteFrom.d.ts +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/delets/deleteFrom.js +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/inserts/insert.d.ts +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/inserts/insert.js +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/inserts/insertInto.d.ts +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/inserts/insertInto.js +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/inserts/onConflictInsert.d.ts +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/inserts/onConflictInsert.js +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/inserts/valuesInsert.d.ts +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/inserts/valuesInsert.js +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/selects/select.d.ts +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/selects/select.js +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/selects/selectFrom.d.ts +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/selects/selectFrom.js +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/selects/selectJoined.d.ts +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/selects/selectJoined.js +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/selects/whereSelect.d.ts +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/selects/whereSelect.js +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/updates/update.d.ts +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/updates/update.js +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/updates/updateIn.d.ts +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/updates/updateIn.js +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/updates/whereSelect.d.ts +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/updates/whereSelect.js +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/updates/whereSet.d.ts +0 -0
- package/{dist/builders → builders}/lowLvlBuilders/updates/whereSet.js +0 -0
- package/{dist/builders → builders}/requestBuilders/updates/combine.d.ts +0 -0
- package/{dist/builders → builders}/requestBuilders/updates/combine.js +0 -0
- package/{dist/builders → builders}/requestBuilders/updates/increment.d.ts +0 -0
- package/{dist/builders → builders}/requestBuilders/updates/increment.js +0 -0
- package/{dist/builders → builders}/requestBuilders/updates/setObjects.d.ts +0 -0
- package/{dist/builders → builders}/requestBuilders/updates/setObjects.js +0 -0
- package/{dist/builders → builders}/requestBuilders/updates/static.d.ts +0 -0
- package/{dist/builders → builders}/requestBuilders/updates/static.js +0 -0
- package/{dist/builders → builders}/requestBuilders/updates/updates.d.ts +0 -0
- package/{dist/builders → builders}/requestBuilders/updates/updates.js +0 -0
- package/{dist/builders → builders}/requestBuilders/where/and.d.ts +0 -0
- package/{dist/builders → builders}/requestBuilders/where/and.js +0 -0
- package/{dist/builders → builders}/requestBuilders/where/const.d.ts +0 -0
- package/{dist/builders → builders}/requestBuilders/where/const.js +0 -0
- package/{dist/builders → builders}/requestBuilders/where/constArray.d.ts +0 -0
- package/{dist/builders → builders}/requestBuilders/where/constArray.js +0 -0
- package/{dist/builders → builders}/requestBuilders/where/eqWhere.d.ts +0 -0
- package/{dist/builders → builders}/requestBuilders/where/eqWhere.js +0 -0
- package/{dist/builders → builders}/requestBuilders/where/greater.d.ts +0 -0
- package/{dist/builders → builders}/requestBuilders/where/greater.js +0 -0
- package/{dist/builders → builders}/requestBuilders/where/greaterEq.d.ts +0 -0
- package/{dist/builders → builders}/requestBuilders/where/greaterEq.js +0 -0
- package/{dist/builders → builders}/requestBuilders/where/in.d.ts +0 -0
- package/{dist/builders → builders}/requestBuilders/where/in.js +0 -0
- package/{dist/builders → builders}/requestBuilders/where/isNotNull.d.ts +0 -0
- package/{dist/builders → builders}/requestBuilders/where/isNotNull.js +0 -0
- package/{dist/builders → builders}/requestBuilders/where/isNull.d.ts +0 -0
- package/{dist/builders → builders}/requestBuilders/where/isNull.js +0 -0
- package/{dist/builders → builders}/requestBuilders/where/less.d.ts +0 -0
- package/{dist/builders → builders}/requestBuilders/where/less.js +0 -0
- package/{dist/builders → builders}/requestBuilders/where/lessEq.d.ts +0 -0
- package/{dist/builders → builders}/requestBuilders/where/lessEq.js +0 -0
- package/{dist/builders → builders}/requestBuilders/where/like.d.ts +0 -0
- package/{dist/builders → builders}/requestBuilders/where/like.js +0 -0
- package/{dist/builders → builders}/requestBuilders/where/notEqWhere.d.ts +0 -0
- package/{dist/builders → builders}/requestBuilders/where/notEqWhere.js +0 -0
- package/{dist/builders → builders}/requestBuilders/where/or.d.ts +0 -0
- package/{dist/builders → builders}/requestBuilders/where/or.js +0 -0
- package/{dist/builders → builders}/requestBuilders/where/rawWhere.d.ts +0 -0
- package/{dist/builders → builders}/requestBuilders/where/rawWhere.js +0 -0
- package/{dist/builders → builders}/requestBuilders/where/static.d.ts +0 -0
- package/{dist/builders → builders}/requestBuilders/where/static.js +0 -0
- package/{dist/builders → builders}/requestBuilders/where/var.d.ts +0 -0
- package/{dist/builders → builders}/requestBuilders/where/var.js +0 -0
- package/{dist/builders → builders}/requestBuilders/where/where.d.ts +0 -0
- package/{dist/builders → builders}/requestBuilders/where/where.js +0 -0
- package/{dist/builders → builders}/transaction/transaction.d.ts +0 -0
- package/{dist/builders → builders}/transaction/transaction.js +0 -0
- package/{dist/columns → columns}/column.d.ts +0 -0
- package/{dist/columns → columns}/column.js +0 -0
- package/{dist/columns → columns}/index.d.ts +0 -0
- package/{dist/columns → columns}/index.js +0 -0
- package/{dist/columns → columns}/types/columnType.d.ts +0 -0
- package/{dist/columns → columns}/types/columnType.js +0 -0
- package/{dist/columns → columns}/types/pgBigDecimal.d.ts +0 -0
- package/{dist/columns → columns}/types/pgBigDecimal.js +0 -0
- package/{dist/columns → columns}/types/pgBigInt.d.ts +0 -0
- package/{dist/columns → columns}/types/pgBigInt.js +0 -0
- package/{dist/columns → columns}/types/pgBigSerial.d.ts +0 -0
- package/{dist/columns → columns}/types/pgBigSerial.js +0 -0
- package/{dist/columns → columns}/types/pgBoolean.d.ts +0 -0
- package/{dist/columns → columns}/types/pgBoolean.js +0 -0
- package/{dist/columns → columns}/types/pgEnum.d.ts +0 -0
- package/{dist/columns → columns}/types/pgEnum.js +0 -0
- package/{dist/columns → columns}/types/pgInteger.d.ts +0 -0
- package/{dist/columns → columns}/types/pgInteger.js +0 -0
- package/{dist/columns → columns}/types/pgJsonb.d.ts +0 -0
- package/{dist/columns → columns}/types/pgJsonb.js +0 -0
- package/{dist/columns → columns}/types/pgSerial.d.ts +0 -0
- package/{dist/columns → columns}/types/pgSerial.js +0 -0
- package/{dist/columns → columns}/types/pgSmallInt.d.ts +0 -0
- package/{dist/columns → columns}/types/pgSmallInt.js +0 -0
- package/{dist/columns → columns}/types/pgText.d.ts +0 -0
- package/{dist/columns → columns}/types/pgText.js +0 -0
- package/{dist/columns → columns}/types/pgTime.d.ts +0 -0
- package/{dist/columns → columns}/types/pgTime.js +0 -0
- package/{dist/columns → columns}/types/pgTimestamp.d.ts +0 -0
- package/{dist/columns → columns}/types/pgTimestamp.js +0 -0
- package/{dist/columns → columns}/types/pgTimestamptz.d.ts +0 -0
- package/{dist/columns → columns}/types/pgTimestamptz.js +0 -0
- package/{dist/columns → columns}/types/pgVarChar.d.ts +0 -0
- package/{dist/columns → columns}/types/pgVarChar.js +0 -0
- package/{dist/db → db}/db.d.ts +0 -0
- package/{dist/db → db}/db.js +0 -0
- package/{dist/db → db}/dbConnector.d.ts +0 -0
- package/{dist/db → db}/dbConnector.js +0 -0
- package/{dist/db → db}/dbStringConnector.d.ts +0 -0
- package/{dist/db → db}/dbStringConnector.js +0 -0
- package/{dist/db → db}/group_by.d.ts +0 -0
- package/{dist/db → db}/group_by.js +0 -0
- package/{dist/db → db}/index.d.ts +0 -0
- package/{dist/db → db}/index.js +0 -0
- package/{dist/db → db}/session.d.ts +0 -0
- package/{dist/db → db}/session.js +0 -0
- package/{dist/docs → docs}/cases/simple_delete.d.ts +0 -0
- package/{dist/docs → docs}/cases/simple_delete.js +0 -0
- package/{dist/docs → docs}/cases/simple_insert.d.ts +0 -0
- package/{dist/docs → docs}/cases/simple_insert.js +0 -0
- package/{dist/docs → docs}/cases/simple_join.d.ts +0 -0
- package/{dist/docs → docs}/cases/simple_join.js +0 -0
- package/{dist/docs → docs}/cases/simple_select.d.ts +0 -0
- package/{dist/docs → docs}/cases/simple_select.js +0 -0
- package/{dist/docs → docs}/cases/simple_update.d.ts +0 -0
- package/{dist/docs → docs}/cases/simple_update.js +0 -0
- package/{dist/docs → docs}/tables/citiesTable.d.ts +0 -0
- package/{dist/docs → docs}/tables/citiesTable.js +0 -0
- package/{dist/docs → docs}/tables/userGroupsTable.d.ts +0 -0
- package/{dist/docs → docs}/tables/userGroupsTable.js +0 -0
- package/{dist/docs → docs}/tables/usersTable.d.ts +0 -0
- package/{dist/docs → docs}/tables/usersTable.js +0 -0
- package/{dist/docs → docs}/tables/usersToUserGroups.d.ts +0 -0
- package/{dist/docs → docs}/tables/usersToUserGroups.js +0 -0
- package/{dist/docs → docs}/types/rolesType.d.ts +0 -0
- package/{dist/docs → docs}/types/rolesType.js +0 -0
- package/{dist/errors → errors}/baseError.d.ts +0 -0
- package/{dist/errors → errors}/baseError.js +0 -0
- package/{dist/errors → errors}/builderError.d.ts +0 -0
- package/{dist/errors → errors}/builderError.js +0 -0
- package/{dist/errors → errors}/dbErrors.d.ts +0 -0
- package/{dist/errors → errors}/dbErrors.js +0 -0
- package/{dist/index.d.ts → index.d.ts} +0 -0
- package/{dist/index.js → index.js} +0 -0
- package/{dist/indexes → indexes}/tableIndex.d.ts +0 -0
- package/{dist/indexes → indexes}/tableIndex.js +0 -0
- package/{dist/logger → logger}/abstractLogger.d.ts +0 -0
- package/{dist/logger → logger}/abstractLogger.js +0 -0
- package/{dist/logger → logger}/consoleLogger.d.ts +0 -0
- package/{dist/logger → logger}/consoleLogger.js +0 -0
- package/{dist/mappers → mappers}/index.d.ts +0 -0
- package/{dist/mappers → mappers}/index.js +0 -0
- package/{dist/mappers → mappers}/responseMapper.d.ts +0 -0
- package/{dist/mappers → mappers}/responseMapper.js +0 -0
- package/{dist/migrator → migrator}/index.d.ts +0 -0
- package/{dist/migrator → migrator}/index.js +0 -0
- package/{dist/migrator → migrator}/migrator.d.ts +0 -0
- package/{dist/migrator → migrator}/migrator.js +0 -0
- package/package.json +4 -5
- package/{dist/serializer → serializer}/serializer.d.ts +0 -0
- package/{dist/serializer → serializer}/serializer.js +0 -0
- package/{dist/tables → tables}/abstractTable.d.ts +0 -0
- package/{dist/tables → tables}/abstractTable.js +0 -0
- package/{dist/tables → tables}/index.d.ts +0 -0
- package/{dist/tables → tables}/index.js +0 -0
- package/{dist/tables → tables}/inferTypes.d.ts +0 -0
- package/{dist/tables → tables}/inferTypes.js +0 -0
- package/{dist/tables → tables}/migrationsTable.d.ts +0 -0
- package/{dist/tables → tables}/migrationsTable.js +0 -0
- package/{dist/test.d.ts → test.d.ts} +0 -0
- package/{dist/test.js → test.js} +0 -0
- package/{dist/types → types}/type.d.ts +0 -0
- package/{dist/types → types}/type.js +0 -0
- package/{dist/utils → utils}/ecranate.d.ts +0 -0
- package/{dist/utils → utils}/ecranate.js +0 -0
- package/.eslintrc +0 -28
- package/.tslintignore +0 -1
- package/CHANGELOG.md +0 -202
- package/README.md +0 -439
- package/pnpm-lock.yaml +0 -1842
- package/src/builders/aggregators/abstractAggregator.ts +0 -41
- package/src/builders/aggregators/deleteAggregator.ts +0 -44
- package/src/builders/aggregators/insertAggregator.ts +0 -120
- package/src/builders/aggregators/selectAggregator.ts +0 -163
- package/src/builders/aggregators/updateAggregator.ts +0 -56
- package/src/builders/highLvlBuilders/abstractRequestBuilder.ts +0 -51
- package/src/builders/highLvlBuilders/deleteRequestBuilder.ts +0 -59
- package/src/builders/highLvlBuilders/insertRequestBuilder.ts +0 -75
- package/src/builders/highLvlBuilders/order.ts +0 -4
- package/src/builders/highLvlBuilders/selectRequestBuilder.ts +0 -229
- package/src/builders/highLvlBuilders/updateRequestBuilder.ts +0 -80
- package/src/builders/index.ts +0 -21
- package/src/builders/joinBuilders/builders/abstractJoinBuilder.ts +0 -98
- package/src/builders/joinBuilders/builders/selectWithFiveJoins.ts +0 -110
- package/src/builders/joinBuilders/builders/selectWithFourJoins.ts +0 -254
- package/src/builders/joinBuilders/builders/selectWithJoin.ts +0 -189
- package/src/builders/joinBuilders/builders/selectWithThreeJoins.ts +0 -231
- package/src/builders/joinBuilders/builders/selectWithTwoJoins.ts +0 -210
- package/src/builders/joinBuilders/join.ts +0 -40
- package/src/builders/joinBuilders/joinWith.ts +0 -21
- package/src/builders/joinBuilders/responses/selectResponseFiveJoins.ts +0 -82
- package/src/builders/joinBuilders/responses/selectResponseFourJoins.ts +0 -73
- package/src/builders/joinBuilders/responses/selectResponseThreeJoins.ts +0 -64
- package/src/builders/joinBuilders/responses/selectResponseTwoJoins.ts +0 -57
- package/src/builders/joinBuilders/responses/selectResponseWithJoin.ts +0 -49
- package/src/builders/joinBuilders/static.ts +0 -9
- package/src/builders/lowLvlBuilders/alter.ts +0 -0
- package/src/builders/lowLvlBuilders/create.ts +0 -115
- package/src/builders/lowLvlBuilders/delets/delete.ts +0 -13
- package/src/builders/lowLvlBuilders/delets/deleteFilter.ts +0 -17
- package/src/builders/lowLvlBuilders/delets/deleteFrom.ts +0 -15
- package/src/builders/lowLvlBuilders/inserts/insert.ts +0 -11
- package/src/builders/lowLvlBuilders/inserts/insertInto.ts +0 -16
- package/src/builders/lowLvlBuilders/inserts/onConflictInsert.ts +0 -19
- package/src/builders/lowLvlBuilders/inserts/valuesInsert.ts +0 -27
- package/src/builders/lowLvlBuilders/selects/select.ts +0 -14
- package/src/builders/lowLvlBuilders/selects/selectFrom.ts +0 -50
- package/src/builders/lowLvlBuilders/selects/selectJoined.ts +0 -44
- package/src/builders/lowLvlBuilders/selects/whereSelect.ts +0 -36
- package/src/builders/lowLvlBuilders/updates/update.ts +0 -13
- package/src/builders/lowLvlBuilders/updates/updateIn.ts +0 -17
- package/src/builders/lowLvlBuilders/updates/whereSelect.ts +0 -17
- package/src/builders/lowLvlBuilders/updates/whereSet.ts +0 -21
- package/src/builders/requestBuilders/updates/combine.ts +0 -34
- package/src/builders/requestBuilders/updates/increment.ts +0 -24
- package/src/builders/requestBuilders/updates/setObjects.ts +0 -27
- package/src/builders/requestBuilders/updates/static.ts +0 -15
- package/src/builders/requestBuilders/updates/updates.ts +0 -8
- package/src/builders/requestBuilders/where/and.ts +0 -35
- package/src/builders/requestBuilders/where/const.ts +0 -23
- package/src/builders/requestBuilders/where/constArray.ts +0 -37
- package/src/builders/requestBuilders/where/eqWhere.ts +0 -20
- package/src/builders/requestBuilders/where/greater.ts +0 -20
- package/src/builders/requestBuilders/where/greaterEq.ts +0 -20
- package/src/builders/requestBuilders/where/in.ts +0 -20
- package/src/builders/requestBuilders/where/isNotNull.ts +0 -17
- package/src/builders/requestBuilders/where/isNull.ts +0 -17
- package/src/builders/requestBuilders/where/less.ts +0 -20
- package/src/builders/requestBuilders/where/lessEq.ts +0 -20
- package/src/builders/requestBuilders/where/like.ts +0 -20
- package/src/builders/requestBuilders/where/notEqWhere.ts +0 -20
- package/src/builders/requestBuilders/where/or.ts +0 -35
- package/src/builders/requestBuilders/where/rawWhere.ts +0 -10
- package/src/builders/requestBuilders/where/static.ts +0 -60
- package/src/builders/requestBuilders/where/var.ts +0 -19
- package/src/builders/requestBuilders/where/where.ts +0 -5
- package/src/builders/transaction/transaction.ts +0 -21
- package/src/columns/column.ts +0 -195
- package/src/columns/index.ts +0 -10
- package/src/columns/types/columnType.ts +0 -8
- package/src/columns/types/pgBigDecimal.ts +0 -29
- package/src/columns/types/pgBigInt.ts +0 -36
- package/src/columns/types/pgBigSerial.ts +0 -36
- package/src/columns/types/pgBoolean.ts +0 -18
- package/src/columns/types/pgEnum.ts +0 -17
- package/src/columns/types/pgInteger.ts +0 -21
- package/src/columns/types/pgJsonb.ts +0 -21
- package/src/columns/types/pgSerial.ts +0 -18
- package/src/columns/types/pgSmallInt.ts +0 -18
- package/src/columns/types/pgText.ts +0 -18
- package/src/columns/types/pgTime.ts +0 -18
- package/src/columns/types/pgTimestamp.ts +0 -18
- package/src/columns/types/pgTimestamptz.ts +0 -18
- package/src/columns/types/pgVarChar.ts +0 -24
- package/src/db/db.ts +0 -43
- package/src/db/dbConnector.ts +0 -30
- package/src/db/dbStringConnector.ts +0 -29
- package/src/db/group_by.ts +0 -75
- package/src/db/index.ts +0 -4
- package/src/db/session.ts +0 -16
- package/src/docs/cases/simple_delete.ts +0 -35
- package/src/docs/cases/simple_insert.ts +0 -65
- package/src/docs/cases/simple_join.ts +0 -140
- package/src/docs/cases/simple_select.ts +0 -72
- package/src/docs/cases/simple_update.ts +0 -40
- package/src/docs/tables/citiesTable.ts +0 -22
- package/src/docs/tables/userGroupsTable.ts +0 -12
- package/src/docs/tables/usersTable.ts +0 -33
- package/src/docs/tables/usersToUserGroups.ts +0 -14
- package/src/docs/types/rolesType.ts +0 -4
- package/src/errors/baseError.ts +0 -47
- package/src/errors/builderError.ts +0 -31
- package/src/errors/dbErrors.ts +0 -24
- package/src/index.ts +0 -20
- package/src/indexes/tableIndex.ts +0 -25
- package/src/logger/abstractLogger.ts +0 -4
- package/src/logger/consoleLogger.ts +0 -11
- package/src/mappers/index.ts +0 -0
- package/src/mappers/responseMapper.ts +0 -46
- package/src/migrator/index.ts +0 -0
- package/src/migrator/migrator.ts +0 -97
- package/src/serializer/serializer.ts +0 -336
- package/src/tables/abstractTable.ts +0 -188
- package/src/tables/index.ts +0 -4
- package/src/tables/inferTypes.ts +0 -67
- package/src/tables/migrationsTable.ts +0 -11
- package/src/types/type.ts +0 -15
- package/src/utils/ecranate.ts +0 -4
- package/tsconfig.json +0 -13
|
@@ -1,254 +0,0 @@
|
|
|
1
|
-
/* eslint-disable max-len */
|
|
2
|
-
import { QueryResult } from 'pg';
|
|
3
|
-
import { AbstractColumn } from '../../../columns/column';
|
|
4
|
-
import ColumnType from '../../../columns/types/columnType';
|
|
5
|
-
import DB from '../../../db/db';
|
|
6
|
-
import { ISession } from '../../../db/session';
|
|
7
|
-
import { AbstractTable } from '../../../tables';
|
|
8
|
-
import { CheckFiveTypes, ExtractModel, PartialFor } from '../../../tables/inferTypes';
|
|
9
|
-
import Order from '../../highLvlBuilders/order';
|
|
10
|
-
import Expr from '../../requestBuilders/where/where';
|
|
11
|
-
import Join, { JoinStrategy } from '../join';
|
|
12
|
-
import JoinWith from '../joinWith';
|
|
13
|
-
import SelectResponseFourJoins from '../responses/selectResponseFourJoins';
|
|
14
|
-
import AbstractJoined from './abstractJoinBuilder';
|
|
15
|
-
import SelectTRBWithFiveJoins from './selectWithFiveJoins';
|
|
16
|
-
|
|
17
|
-
export default class SelectTRBWithFourJoins<TTable extends AbstractTable<TTable>,
|
|
18
|
-
TTable1 extends AbstractTable<TTable1>, TTable2 extends AbstractTable<TTable2>, TTable3 extends AbstractTable<TTable3>, TTable4 extends AbstractTable<TTable4>,
|
|
19
|
-
TPartial extends PartialFor<TTable> = {},
|
|
20
|
-
TPartial1 extends PartialFor<TTable1> = {},
|
|
21
|
-
TPartial2 extends PartialFor<TTable2> = {},
|
|
22
|
-
TPartial3 extends PartialFor<TTable3> = {},
|
|
23
|
-
TPartial4 extends PartialFor<TTable4> = {}>
|
|
24
|
-
extends AbstractJoined<TTable,
|
|
25
|
-
SelectResponseFourJoins<TTable, TTable1, TTable2, TTable3, TTable4, TPartial, TPartial1, TPartial2, TPartial3, TPartial4>, TPartial> {
|
|
26
|
-
private _join1: Join<TTable1>;
|
|
27
|
-
private _join2: Join<TTable2>;
|
|
28
|
-
private _join3: Join<TTable3>;
|
|
29
|
-
private _join4: Join<TTable4>;
|
|
30
|
-
|
|
31
|
-
private _joinedPartial?: TPartial1;
|
|
32
|
-
private _joinedPartial1?: TPartial2;
|
|
33
|
-
private _joinedPartial2?: TPartial3;
|
|
34
|
-
private _joinedPartial3?: TPartial4;
|
|
35
|
-
|
|
36
|
-
public constructor(
|
|
37
|
-
table: TTable,
|
|
38
|
-
session: ISession,
|
|
39
|
-
filter: Expr,
|
|
40
|
-
join1: Join<TTable1>,
|
|
41
|
-
join2: Join<TTable2>,
|
|
42
|
-
join3: Join<TTable3>,
|
|
43
|
-
join4: Join<TTable4>,
|
|
44
|
-
props: {limit?:number, offset?:number},
|
|
45
|
-
orderBy?: AbstractColumn<ColumnType, boolean, boolean>,
|
|
46
|
-
order?: Order,
|
|
47
|
-
distinct?: AbstractColumn<ColumnType, boolean, boolean>,
|
|
48
|
-
tablePartial?: TPartial,
|
|
49
|
-
joinedPartial?: TPartial1,
|
|
50
|
-
joinedPartial1?: TPartial2,
|
|
51
|
-
joinedPartial2?: TPartial3,
|
|
52
|
-
joinedPartial3?: TPartial4,
|
|
53
|
-
) {
|
|
54
|
-
super(table, filter, session, props, orderBy, order, distinct, tablePartial);
|
|
55
|
-
this._join1 = join1;
|
|
56
|
-
this._join2 = join2;
|
|
57
|
-
this._join3 = join3;
|
|
58
|
-
this._join4 = join4;
|
|
59
|
-
|
|
60
|
-
this._joinedPartial = joinedPartial;
|
|
61
|
-
this._joinedPartial1 = joinedPartial1;
|
|
62
|
-
this._joinedPartial2 = joinedPartial2;
|
|
63
|
-
this._joinedPartial3 = joinedPartial3;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
public innerJoin<InputTable extends AbstractTable<InputTable>, TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(
|
|
67
|
-
fromTable: { new(db: DB): InputTable ;},
|
|
68
|
-
table: { new(db: DB): IToTable ;},
|
|
69
|
-
from: (table: CheckFiveTypes<InputTable, TTable, TTable1, TTable2, TTable3, TTable4>) => AbstractColumn<TColumn, boolean, boolean, CheckFiveTypes<InputTable, TTable, TTable1, TTable2, TTable3, TTable4>>,
|
|
70
|
-
to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean>,
|
|
71
|
-
partial?: IToPartial,
|
|
72
|
-
): SelectTRBWithFiveJoins<TTable, TTable1, TTable2, TTable3, TTable4, IToTable, TPartial, TPartial1, TPartial2, TPartial3, TPartial4, IToPartial> {
|
|
73
|
-
const toTable = this._table.db.create(table);
|
|
74
|
-
const tableFrom = this._table.db.create(fromTable);
|
|
75
|
-
|
|
76
|
-
const fromColumn = from(tableFrom as unknown as CheckFiveTypes<InputTable, TTable, TTable1, TTable2, TTable3, TTable4>);
|
|
77
|
-
const toColumn = to(toTable);
|
|
78
|
-
|
|
79
|
-
const join = new JoinWith(toTable.tableName(), toTable.mapServiceToDb())
|
|
80
|
-
.columns(fromColumn, toColumn).joinStrategy(JoinStrategy.INNER_JOIN);
|
|
81
|
-
|
|
82
|
-
return new SelectTRBWithFiveJoins(
|
|
83
|
-
this._table,
|
|
84
|
-
this._session,
|
|
85
|
-
this._filter,
|
|
86
|
-
this._join1,
|
|
87
|
-
this._join2,
|
|
88
|
-
this._join3,
|
|
89
|
-
this._join4,
|
|
90
|
-
join,
|
|
91
|
-
this._props,
|
|
92
|
-
this._orderBy,
|
|
93
|
-
this._order,
|
|
94
|
-
this._distinct,
|
|
95
|
-
this._partial,
|
|
96
|
-
this._joinedPartial,
|
|
97
|
-
this._joinedPartial1,
|
|
98
|
-
this._joinedPartial2,
|
|
99
|
-
this._joinedPartial3,
|
|
100
|
-
partial,
|
|
101
|
-
);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
public leftJoin<InputTable extends AbstractTable<InputTable>, TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(
|
|
105
|
-
fromTable: { new(db: DB): InputTable ;},
|
|
106
|
-
table: { new(db: DB): IToTable ;},
|
|
107
|
-
from: (table: CheckFiveTypes<InputTable, TTable, TTable1, TTable2, TTable3, TTable4>) => AbstractColumn<TColumn, boolean, boolean, CheckFiveTypes<InputTable, TTable, TTable1, TTable2, TTable3, TTable4>>,
|
|
108
|
-
to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean>,
|
|
109
|
-
partial?: IToPartial,
|
|
110
|
-
): SelectTRBWithFiveJoins<TTable, TTable1, TTable2, TTable3, TTable4, IToTable, TPartial, TPartial1, TPartial2, TPartial3, TPartial4, IToPartial> {
|
|
111
|
-
const toTable = this._table.db.create(table);
|
|
112
|
-
const tableFrom = this._table.db.create(fromTable);
|
|
113
|
-
|
|
114
|
-
const fromColumn = from(tableFrom as unknown as CheckFiveTypes<InputTable, TTable, TTable1, TTable2, TTable3, TTable4>);
|
|
115
|
-
|
|
116
|
-
const toColumn = to(toTable);
|
|
117
|
-
|
|
118
|
-
const join = new JoinWith(toTable.tableName(), toTable.mapServiceToDb())
|
|
119
|
-
.columns(fromColumn, toColumn).joinStrategy(JoinStrategy.LEFT_JOIN);
|
|
120
|
-
|
|
121
|
-
return new SelectTRBWithFiveJoins(
|
|
122
|
-
this._table,
|
|
123
|
-
this._session,
|
|
124
|
-
this._filter,
|
|
125
|
-
this._join1,
|
|
126
|
-
this._join2,
|
|
127
|
-
this._join3,
|
|
128
|
-
this._join4,
|
|
129
|
-
join,
|
|
130
|
-
this._props,
|
|
131
|
-
this._orderBy,
|
|
132
|
-
this._order,
|
|
133
|
-
this._distinct,
|
|
134
|
-
this._partial,
|
|
135
|
-
this._joinedPartial,
|
|
136
|
-
this._joinedPartial1,
|
|
137
|
-
this._joinedPartial2,
|
|
138
|
-
this._joinedPartial3,
|
|
139
|
-
partial,
|
|
140
|
-
);
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
public rightJoin<InputTable extends AbstractTable<InputTable>, TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(
|
|
144
|
-
fromTable: { new(db: DB): InputTable ;},
|
|
145
|
-
table: { new(db: DB): IToTable ;},
|
|
146
|
-
from: (table: CheckFiveTypes<InputTable, TTable, TTable1, TTable2, TTable3, TTable4>) => AbstractColumn<TColumn, boolean, boolean, CheckFiveTypes<InputTable, TTable, TTable1, TTable2, TTable3, TTable4>>,
|
|
147
|
-
to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean>,
|
|
148
|
-
partial?: IToPartial,
|
|
149
|
-
): SelectTRBWithFiveJoins<TTable, TTable1, TTable2, TTable3, TTable4, IToTable, TPartial, TPartial1, TPartial2, TPartial3, TPartial4, IToPartial> {
|
|
150
|
-
const toTable = this._table.db.create(table);
|
|
151
|
-
const tableFrom = this._table.db.create(fromTable);
|
|
152
|
-
|
|
153
|
-
const fromColumn = from(tableFrom as unknown as CheckFiveTypes<InputTable, TTable, TTable1, TTable2, TTable3, TTable4>);
|
|
154
|
-
|
|
155
|
-
const toColumn = to(toTable);
|
|
156
|
-
|
|
157
|
-
const join = new JoinWith(toTable.tableName(), toTable.mapServiceToDb())
|
|
158
|
-
.columns(fromColumn, toColumn).joinStrategy(JoinStrategy.RIGHT_JOIN);
|
|
159
|
-
|
|
160
|
-
return new SelectTRBWithFiveJoins(
|
|
161
|
-
this._table,
|
|
162
|
-
this._session,
|
|
163
|
-
this._filter,
|
|
164
|
-
this._join1,
|
|
165
|
-
this._join2,
|
|
166
|
-
this._join3,
|
|
167
|
-
this._join4,
|
|
168
|
-
join,
|
|
169
|
-
this._props,
|
|
170
|
-
this._orderBy,
|
|
171
|
-
this._order,
|
|
172
|
-
this._distinct,
|
|
173
|
-
this._partial,
|
|
174
|
-
this._joinedPartial,
|
|
175
|
-
this._joinedPartial1,
|
|
176
|
-
this._joinedPartial2,
|
|
177
|
-
this._joinedPartial3,
|
|
178
|
-
partial,
|
|
179
|
-
);
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
public fullJoin<InputTable extends AbstractTable<InputTable>, TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(
|
|
183
|
-
fromTable: { new(db: DB): InputTable ;},
|
|
184
|
-
table: { new(db: DB): IToTable ;},
|
|
185
|
-
from: (table: CheckFiveTypes<InputTable, TTable, TTable1, TTable2, TTable3, TTable4>) => AbstractColumn<TColumn, boolean, boolean, CheckFiveTypes<InputTable, TTable, TTable1, TTable2, TTable3, TTable4>>,
|
|
186
|
-
to: (table: IToTable) => AbstractColumn<TToColumn>,
|
|
187
|
-
partial?: IToPartial,
|
|
188
|
-
): SelectTRBWithFiveJoins<TTable, TTable1, TTable2, TTable3, TTable4, IToTable, TPartial, TPartial1, TPartial2, TPartial3, TPartial4, IToPartial> {
|
|
189
|
-
const toTable = this._table.db.create(table);
|
|
190
|
-
const tableFrom = this._table.db.create(fromTable);
|
|
191
|
-
|
|
192
|
-
const fromColumn = from(tableFrom as unknown as CheckFiveTypes<InputTable, TTable, TTable1, TTable2, TTable3, TTable4>);
|
|
193
|
-
|
|
194
|
-
const toColumn = to(toTable);
|
|
195
|
-
|
|
196
|
-
const join = new JoinWith(toTable.tableName(), toTable.mapServiceToDb())
|
|
197
|
-
.columns(fromColumn, toColumn).joinStrategy(JoinStrategy.FULL_JOIN);
|
|
198
|
-
|
|
199
|
-
return new SelectTRBWithFiveJoins(
|
|
200
|
-
this._table,
|
|
201
|
-
this._session,
|
|
202
|
-
this._filter,
|
|
203
|
-
this._join1,
|
|
204
|
-
this._join2,
|
|
205
|
-
this._join3,
|
|
206
|
-
this._join4,
|
|
207
|
-
join,
|
|
208
|
-
this._props,
|
|
209
|
-
this._orderBy,
|
|
210
|
-
this._order,
|
|
211
|
-
this._distinct,
|
|
212
|
-
this._partial,
|
|
213
|
-
this._joinedPartial,
|
|
214
|
-
this._joinedPartial1,
|
|
215
|
-
this._joinedPartial2,
|
|
216
|
-
this._joinedPartial3,
|
|
217
|
-
partial,
|
|
218
|
-
);
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
protected joins(): Array<{
|
|
222
|
-
join: Join<any>, partial?: {[name: string]: AbstractColumn<ColumnType<any>, boolean, boolean, any>},
|
|
223
|
-
id?: number
|
|
224
|
-
}> {
|
|
225
|
-
return [{ join: this._join1, partial: this._joinedPartial, id: 1 },
|
|
226
|
-
{ join: this._join2, partial: this._joinedPartial1, id: 2 },
|
|
227
|
-
{ join: this._join3, partial: this._joinedPartial2, id: 3 },
|
|
228
|
-
{ join: this._join4, partial: this._joinedPartial3, id: 4 }];
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
protected mapResponse(result: QueryResult<any>)
|
|
232
|
-
: SelectResponseFourJoins<TTable, TTable1, TTable2, TTable3, TTable4, TPartial, TPartial1, TPartial2, TPartial3, TPartial4> {
|
|
233
|
-
const parent:{
|
|
234
|
-
[name in keyof ExtractModel<TTable1>]: AbstractColumn<ColumnType>;
|
|
235
|
-
} = this._join1.mappedServiceToDb;
|
|
236
|
-
const parentTwo: {
|
|
237
|
-
[name in keyof ExtractModel<TTable2>]: AbstractColumn<ColumnType>;
|
|
238
|
-
} = this._join2.mappedServiceToDb;
|
|
239
|
-
const parentThree: {
|
|
240
|
-
[name in keyof ExtractModel<TTable3>]: AbstractColumn<ColumnType>;
|
|
241
|
-
} = this._join3.mappedServiceToDb;
|
|
242
|
-
const parentFour:
|
|
243
|
-
{ [name in keyof ExtractModel<TTable4>]: AbstractColumn<ColumnType>;
|
|
244
|
-
} = this._join4.mappedServiceToDb;
|
|
245
|
-
|
|
246
|
-
const response = this.fullOrPartial(this._table.mapServiceToDb(), result, this._partial);
|
|
247
|
-
const objects = this.fullOrPartial(parent, result, this._joinedPartial, 1);
|
|
248
|
-
const objectsTwo = this.fullOrPartial(parentTwo, result, this._joinedPartial1, 2);
|
|
249
|
-
const objectsThree = this.fullOrPartial(parentThree, result, this._joinedPartial2, 3);
|
|
250
|
-
const objectsFour = this.fullOrPartial(parentFour, result, this._joinedPartial3, 4);
|
|
251
|
-
|
|
252
|
-
return new SelectResponseFourJoins(response, objects, objectsTwo, objectsThree, objectsFour);
|
|
253
|
-
}
|
|
254
|
-
}
|
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
/* eslint-disable max-len */
|
|
2
|
-
/* eslint-disable import/no-cycle */
|
|
3
|
-
import { QueryResult } from 'pg';
|
|
4
|
-
import { AbstractColumn } from '../../../columns/column';
|
|
5
|
-
import ColumnType from '../../../columns/types/columnType';
|
|
6
|
-
import DB from '../../../db/db';
|
|
7
|
-
import { ISession } from '../../../db/session';
|
|
8
|
-
import AbstractTable from '../../../tables/abstractTable';
|
|
9
|
-
import { CheckTwoTypes, ExtractModel, PartialFor } from '../../../tables/inferTypes';
|
|
10
|
-
import Order from '../../highLvlBuilders/order';
|
|
11
|
-
import Expr from '../../requestBuilders/where/where';
|
|
12
|
-
import Join, { JoinStrategy } from '../join';
|
|
13
|
-
import JoinWith from '../joinWith';
|
|
14
|
-
import SelectResponseJoin from '../responses/selectResponseWithJoin';
|
|
15
|
-
import AbstractJoined from './abstractJoinBuilder';
|
|
16
|
-
import SelectTRBWithTwoJoins from './selectWithTwoJoins';
|
|
17
|
-
|
|
18
|
-
// eslint-disable-next-line max-len
|
|
19
|
-
export default class SelectTRBWithJoin<TTable extends AbstractTable<TTable>, TTable1 extends AbstractTable<TTable1>,
|
|
20
|
-
TPartial extends PartialFor<TTable> = {},
|
|
21
|
-
TPartial1 extends PartialFor<TTable1> = {}>
|
|
22
|
-
extends AbstractJoined<TTable, SelectResponseJoin<TTable, TTable1, TPartial, TPartial1>, TPartial> {
|
|
23
|
-
private _join: Join<TTable1>;
|
|
24
|
-
private _joinedPartial?: TPartial1;
|
|
25
|
-
|
|
26
|
-
public constructor(
|
|
27
|
-
table: TTable,
|
|
28
|
-
session: ISession,
|
|
29
|
-
filter: Expr,
|
|
30
|
-
join: Join<TTable1>,
|
|
31
|
-
props: {limit?:number, offset?:number},
|
|
32
|
-
orderBy?: AbstractColumn<ColumnType, boolean, boolean>,
|
|
33
|
-
order?: Order,
|
|
34
|
-
distinct?: AbstractColumn<ColumnType, boolean, boolean>,
|
|
35
|
-
tablePartial?: TPartial,
|
|
36
|
-
joinedPartial?: TPartial1,
|
|
37
|
-
) {
|
|
38
|
-
super(table, filter, session, props, orderBy, order, distinct, tablePartial);
|
|
39
|
-
this._join = join;
|
|
40
|
-
this._joinedPartial = joinedPartial;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
public innerJoin<InputTable extends AbstractTable<InputTable>, TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(
|
|
44
|
-
fromTable: { new(db: DB): InputTable ;},
|
|
45
|
-
table: { new(db: DB): IToTable ;},
|
|
46
|
-
from: (table: CheckTwoTypes<InputTable, TTable, TTable1>) => AbstractColumn<TColumn, boolean, boolean, CheckTwoTypes<InputTable, TTable, TTable1>>,
|
|
47
|
-
to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean, IToTable>,
|
|
48
|
-
partial?: IToPartial,
|
|
49
|
-
): SelectTRBWithTwoJoins<TTable, TTable1, IToTable, TPartial, TPartial1, IToPartial> {
|
|
50
|
-
const toTable = this._table.db.create(table);
|
|
51
|
-
const tableFrom = this._table.db.create(fromTable);
|
|
52
|
-
|
|
53
|
-
const fromColumn = from(tableFrom as unknown as CheckTwoTypes<InputTable, TTable, TTable1>);
|
|
54
|
-
const toColumn = to(toTable);
|
|
55
|
-
|
|
56
|
-
const join = new JoinWith(toTable.tableName(), toTable.mapServiceToDb())
|
|
57
|
-
.columns(fromColumn, toColumn).joinStrategy(JoinStrategy.INNER_JOIN);
|
|
58
|
-
|
|
59
|
-
return new SelectTRBWithTwoJoins(
|
|
60
|
-
this._table,
|
|
61
|
-
this._session,
|
|
62
|
-
this._filter,
|
|
63
|
-
this._join,
|
|
64
|
-
join,
|
|
65
|
-
this._props,
|
|
66
|
-
this._orderBy,
|
|
67
|
-
this._order,
|
|
68
|
-
this._distinct,
|
|
69
|
-
this._partial,
|
|
70
|
-
this._joinedPartial,
|
|
71
|
-
partial,
|
|
72
|
-
);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
public leftJoin<InputTable extends AbstractTable<InputTable>, TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(
|
|
76
|
-
fromTable: { new(db: DB): InputTable ;},
|
|
77
|
-
table: { new(db: DB): IToTable ;},
|
|
78
|
-
from: (table: CheckTwoTypes<InputTable, TTable, TTable1>) => AbstractColumn<TColumn, boolean, boolean, CheckTwoTypes<InputTable, TTable, TTable1>>,
|
|
79
|
-
to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean, IToTable>,
|
|
80
|
-
partial?: IToPartial,
|
|
81
|
-
): SelectTRBWithTwoJoins<TTable, TTable1, IToTable, TPartial, TPartial1, IToPartial> {
|
|
82
|
-
const toTable = this._table.db.create(table);
|
|
83
|
-
const tableFrom = this._table.db.create(fromTable);
|
|
84
|
-
|
|
85
|
-
const fromColumn = from(tableFrom as unknown as CheckTwoTypes<InputTable, TTable, TTable1>);
|
|
86
|
-
|
|
87
|
-
const toColumn = to(toTable);
|
|
88
|
-
|
|
89
|
-
const join = new JoinWith(toTable.tableName(), toTable.mapServiceToDb())
|
|
90
|
-
.columns(fromColumn, toColumn).joinStrategy(JoinStrategy.LEFT_JOIN);
|
|
91
|
-
|
|
92
|
-
return new SelectTRBWithTwoJoins(
|
|
93
|
-
this._table,
|
|
94
|
-
this._session,
|
|
95
|
-
this._filter,
|
|
96
|
-
this._join,
|
|
97
|
-
join,
|
|
98
|
-
this._props,
|
|
99
|
-
this._orderBy,
|
|
100
|
-
this._order,
|
|
101
|
-
this._distinct,
|
|
102
|
-
this._partial,
|
|
103
|
-
this._joinedPartial,
|
|
104
|
-
partial,
|
|
105
|
-
);
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
public rightJoin<InputTable extends AbstractTable<InputTable>, TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(
|
|
109
|
-
fromTable: { new(db: DB): InputTable ;},
|
|
110
|
-
table: { new(db: DB): IToTable ;},
|
|
111
|
-
from: (table: CheckTwoTypes<InputTable, TTable, TTable1>) => AbstractColumn<TColumn, boolean, boolean, CheckTwoTypes<InputTable, TTable, TTable1>>,
|
|
112
|
-
to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean, IToTable>,
|
|
113
|
-
partial?: IToPartial,
|
|
114
|
-
): SelectTRBWithTwoJoins<TTable, TTable1, IToTable, TPartial, TPartial1, IToPartial> {
|
|
115
|
-
const toTable = this._table.db.create(table);
|
|
116
|
-
const tableFrom = this._table.db.create(fromTable);
|
|
117
|
-
|
|
118
|
-
const fromColumn = from(tableFrom as unknown as CheckTwoTypes<InputTable, TTable, TTable1>);
|
|
119
|
-
const toColumn = to(toTable);
|
|
120
|
-
|
|
121
|
-
const join = new JoinWith(toTable.tableName(), toTable.mapServiceToDb())
|
|
122
|
-
.columns(fromColumn, toColumn).joinStrategy(JoinStrategy.RIGHT_JOIN);
|
|
123
|
-
|
|
124
|
-
return new SelectTRBWithTwoJoins(
|
|
125
|
-
this._table,
|
|
126
|
-
this._session,
|
|
127
|
-
this._filter,
|
|
128
|
-
this._join,
|
|
129
|
-
join,
|
|
130
|
-
this._props,
|
|
131
|
-
this._orderBy,
|
|
132
|
-
this._order,
|
|
133
|
-
this._distinct,
|
|
134
|
-
this._partial,
|
|
135
|
-
this._joinedPartial,
|
|
136
|
-
partial,
|
|
137
|
-
);
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
public fullJoin<InputTable extends AbstractTable<InputTable>, TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(
|
|
141
|
-
fromTable: { new(db: DB): InputTable ;},
|
|
142
|
-
table: { new(db: DB): IToTable ;},
|
|
143
|
-
from: (table: CheckTwoTypes<InputTable, TTable, TTable1>) => AbstractColumn<TColumn, boolean, boolean, CheckTwoTypes<InputTable, TTable, TTable1>>,
|
|
144
|
-
to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean, IToTable>,
|
|
145
|
-
partial?: IToPartial,
|
|
146
|
-
): SelectTRBWithTwoJoins<TTable, TTable1, IToTable, TPartial, TPartial1, IToPartial> {
|
|
147
|
-
const toTable = this._table.db.create(table);
|
|
148
|
-
const tableFrom = this._table.db.create(fromTable);
|
|
149
|
-
|
|
150
|
-
const fromColumn = from(tableFrom as unknown as CheckTwoTypes<InputTable, TTable, TTable1>);
|
|
151
|
-
const toColumn = to(toTable);
|
|
152
|
-
|
|
153
|
-
const join = new JoinWith(toTable.tableName(), toTable.mapServiceToDb())
|
|
154
|
-
.columns(fromColumn, toColumn).joinStrategy(JoinStrategy.FULL_JOIN);
|
|
155
|
-
|
|
156
|
-
return new SelectTRBWithTwoJoins(
|
|
157
|
-
this._table,
|
|
158
|
-
this._session,
|
|
159
|
-
this._filter,
|
|
160
|
-
this._join,
|
|
161
|
-
join,
|
|
162
|
-
this._props,
|
|
163
|
-
this._orderBy,
|
|
164
|
-
this._order,
|
|
165
|
-
this._distinct,
|
|
166
|
-
this._partial,
|
|
167
|
-
this._joinedPartial,
|
|
168
|
-
partial,
|
|
169
|
-
);
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
protected joins(): Array<{
|
|
173
|
-
join: Join<any>, partial?: {[name: string]: AbstractColumn<ColumnType<any>, boolean, boolean, any>},
|
|
174
|
-
id?: number
|
|
175
|
-
}> {
|
|
176
|
-
return [{ join: this._join, partial: this._joinedPartial, id: 1 }];
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
protected mapResponse(result: QueryResult<any>): SelectResponseJoin<TTable, TTable1, TPartial, TPartial1> {
|
|
180
|
-
const parent: {
|
|
181
|
-
[name in keyof ExtractModel<TTable1>]: AbstractColumn<ColumnType>;
|
|
182
|
-
} = this._join.mappedServiceToDb;
|
|
183
|
-
|
|
184
|
-
const response = this.fullOrPartial(this._table.mapServiceToDb(), result, this._partial);
|
|
185
|
-
const objects = this.fullOrPartial(parent, result, this._joinedPartial, 1);
|
|
186
|
-
|
|
187
|
-
return new SelectResponseJoin(response, objects);
|
|
188
|
-
}
|
|
189
|
-
}
|
|
@@ -1,231 +0,0 @@
|
|
|
1
|
-
/* eslint-disable max-len */
|
|
2
|
-
/* eslint-disable import/no-cycle */
|
|
3
|
-
import { QueryResult } from 'pg';
|
|
4
|
-
import { AbstractColumn } from '../../../columns/column';
|
|
5
|
-
import ColumnType from '../../../columns/types/columnType';
|
|
6
|
-
import DB from '../../../db/db';
|
|
7
|
-
import { ISession } from '../../../db/session';
|
|
8
|
-
import AbstractTable from '../../../tables/abstractTable';
|
|
9
|
-
import { CheckFourTypes, ExtractModel, PartialFor } from '../../../tables/inferTypes';
|
|
10
|
-
import Order from '../../highLvlBuilders/order';
|
|
11
|
-
import Expr from '../../requestBuilders/where/where';
|
|
12
|
-
import Join, { JoinStrategy } from '../join';
|
|
13
|
-
import JoinWith from '../joinWith';
|
|
14
|
-
import SelectResponseThreeJoins from '../responses/selectResponseThreeJoins';
|
|
15
|
-
import AbstractJoined from './abstractJoinBuilder';
|
|
16
|
-
import SelectTRBWithFourJoins from './selectWithFourJoins';
|
|
17
|
-
|
|
18
|
-
export default class SelectTRBWithThreeJoins<TTable extends AbstractTable<TTable>,
|
|
19
|
-
TTable1 extends AbstractTable<TTable1>, TTable2 extends AbstractTable<TTable2>, TTable3 extends AbstractTable<TTable3>,
|
|
20
|
-
TPartial extends PartialFor<TTable> = {},
|
|
21
|
-
TPartial1 extends PartialFor<TTable1> = {},
|
|
22
|
-
TPartial2 extends PartialFor<TTable2> = {},
|
|
23
|
-
TPartial3 extends PartialFor<TTable3> = {}>
|
|
24
|
-
extends AbstractJoined<TTable, SelectResponseThreeJoins<TTable, TTable1, TTable2, TTable3, TPartial, TPartial1, TPartial2, TPartial3>, TPartial> {
|
|
25
|
-
private _join1: Join<TTable1>;
|
|
26
|
-
private _join2: Join<TTable2>;
|
|
27
|
-
private _join3: Join<TTable3>;
|
|
28
|
-
|
|
29
|
-
private _joinedPartial?: TPartial1;
|
|
30
|
-
private _joinedPartial1?: TPartial2;
|
|
31
|
-
private _joinedPartial2?: TPartial3;
|
|
32
|
-
|
|
33
|
-
public constructor(
|
|
34
|
-
table: TTable,
|
|
35
|
-
session: ISession,
|
|
36
|
-
filter: Expr,
|
|
37
|
-
join1: Join<TTable1>,
|
|
38
|
-
join2: Join<TTable2>,
|
|
39
|
-
join3: Join<TTable3>,
|
|
40
|
-
props: {limit?:number, offset?:number},
|
|
41
|
-
orderBy?: AbstractColumn<ColumnType, boolean, boolean>,
|
|
42
|
-
order?: Order,
|
|
43
|
-
distinct?: AbstractColumn<ColumnType, boolean, boolean>,
|
|
44
|
-
tablePartial?: TPartial,
|
|
45
|
-
joinedPartial?: TPartial1,
|
|
46
|
-
joinedPartial1?: TPartial2,
|
|
47
|
-
joinedPartial2?: TPartial3,
|
|
48
|
-
) {
|
|
49
|
-
super(table, filter, session, props, orderBy, order, distinct, tablePartial);
|
|
50
|
-
this._join1 = join1;
|
|
51
|
-
this._join2 = join2;
|
|
52
|
-
this._join3 = join3;
|
|
53
|
-
|
|
54
|
-
this._joinedPartial = joinedPartial;
|
|
55
|
-
this._joinedPartial1 = joinedPartial1;
|
|
56
|
-
this._joinedPartial2 = joinedPartial2;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
public innerJoin<InputTable extends AbstractTable<InputTable>, TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(
|
|
60
|
-
fromTable: { new(db: DB): InputTable ;},
|
|
61
|
-
table: { new(db: DB): IToTable ;},
|
|
62
|
-
from: (table: CheckFourTypes<InputTable, TTable, TTable1, TTable2, TTable3>) => AbstractColumn<TColumn, boolean, boolean, CheckFourTypes<InputTable, TTable, TTable1, TTable2, TTable3>>,
|
|
63
|
-
to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean, IToTable>,
|
|
64
|
-
partial?: IToPartial,
|
|
65
|
-
): SelectTRBWithFourJoins<TTable, TTable1, TTable2, TTable3, IToTable, TPartial, TPartial1, TPartial2, TPartial3, IToPartial> {
|
|
66
|
-
const toTable = this._table.db.create(table);
|
|
67
|
-
const tableFrom = this._table.db.create(fromTable);
|
|
68
|
-
|
|
69
|
-
const fromColumn = from(tableFrom as unknown as CheckFourTypes<InputTable, TTable, TTable1, TTable2, TTable3>);
|
|
70
|
-
const toColumn = to(toTable);
|
|
71
|
-
|
|
72
|
-
const join = new JoinWith(toTable.tableName(), toTable.mapServiceToDb())
|
|
73
|
-
.columns(fromColumn, toColumn).joinStrategy(JoinStrategy.INNER_JOIN);
|
|
74
|
-
|
|
75
|
-
return new SelectTRBWithFourJoins(
|
|
76
|
-
this._table,
|
|
77
|
-
this._session,
|
|
78
|
-
this._filter,
|
|
79
|
-
this._join1,
|
|
80
|
-
this._join2,
|
|
81
|
-
this._join3,
|
|
82
|
-
join,
|
|
83
|
-
this._props,
|
|
84
|
-
this._orderBy,
|
|
85
|
-
this._order,
|
|
86
|
-
this._distinct,
|
|
87
|
-
this._partial,
|
|
88
|
-
this._joinedPartial,
|
|
89
|
-
this._joinedPartial1,
|
|
90
|
-
this._joinedPartial2,
|
|
91
|
-
partial,
|
|
92
|
-
);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
public leftJoin<InputTable extends AbstractTable<InputTable>, TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(
|
|
96
|
-
fromTable: { new(db: DB): InputTable ;},
|
|
97
|
-
table: { new(db: DB): IToTable ;},
|
|
98
|
-
from: (table: CheckFourTypes<InputTable, TTable, TTable1, TTable2, TTable3>) => AbstractColumn<TColumn, boolean, boolean, CheckFourTypes<InputTable, TTable, TTable1, TTable2, TTable3>>,
|
|
99
|
-
to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean, IToTable>,
|
|
100
|
-
partial?: IToPartial,
|
|
101
|
-
): SelectTRBWithFourJoins<TTable, TTable1, TTable2, TTable3, IToTable, TPartial, TPartial1, TPartial2, TPartial3, IToPartial> {
|
|
102
|
-
const toTable = this._table.db.create(table);
|
|
103
|
-
const tableFrom = this._table.db.create(fromTable);
|
|
104
|
-
|
|
105
|
-
const fromColumn = from(tableFrom as unknown as CheckFourTypes<InputTable, TTable, TTable1, TTable2, TTable3>);
|
|
106
|
-
const toColumn = to(toTable);
|
|
107
|
-
|
|
108
|
-
const join = new JoinWith(toTable.tableName(), toTable.mapServiceToDb())
|
|
109
|
-
.columns(fromColumn, toColumn).joinStrategy(JoinStrategy.LEFT_JOIN);
|
|
110
|
-
|
|
111
|
-
return new SelectTRBWithFourJoins(
|
|
112
|
-
this._table,
|
|
113
|
-
this._session,
|
|
114
|
-
this._filter,
|
|
115
|
-
this._join1,
|
|
116
|
-
this._join2,
|
|
117
|
-
this._join3,
|
|
118
|
-
join,
|
|
119
|
-
this._props,
|
|
120
|
-
this._orderBy,
|
|
121
|
-
this._order,
|
|
122
|
-
this._distinct,
|
|
123
|
-
this._partial,
|
|
124
|
-
this._joinedPartial,
|
|
125
|
-
this._joinedPartial1,
|
|
126
|
-
this._joinedPartial2,
|
|
127
|
-
partial,
|
|
128
|
-
);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
public rightJoin<InputTable extends AbstractTable<InputTable>, TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(
|
|
132
|
-
fromTable: { new(db: DB): InputTable ;},
|
|
133
|
-
table: { new(db: DB): IToTable ;},
|
|
134
|
-
from: (table: CheckFourTypes<InputTable, TTable, TTable1, TTable2, TTable3>) => AbstractColumn<TColumn, boolean, boolean, CheckFourTypes<InputTable, TTable, TTable1, TTable2, TTable3>>,
|
|
135
|
-
to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean, IToTable>,
|
|
136
|
-
partial?: IToPartial,
|
|
137
|
-
): SelectTRBWithFourJoins<TTable, TTable1, TTable2, TTable3, IToTable, TPartial, TPartial1, TPartial2, TPartial3, IToPartial> {
|
|
138
|
-
const toTable = this._table.db.create(table);
|
|
139
|
-
const tableFrom = this._table.db.create(fromTable);
|
|
140
|
-
|
|
141
|
-
const fromColumn = from(tableFrom as unknown as CheckFourTypes<InputTable, TTable, TTable1, TTable2, TTable3>);
|
|
142
|
-
const toColumn = to(toTable);
|
|
143
|
-
|
|
144
|
-
const join = new JoinWith(toTable.tableName(), toTable.mapServiceToDb())
|
|
145
|
-
.columns(fromColumn, toColumn).joinStrategy(JoinStrategy.RIGHT_JOIN);
|
|
146
|
-
|
|
147
|
-
return new SelectTRBWithFourJoins(
|
|
148
|
-
this._table,
|
|
149
|
-
this._session,
|
|
150
|
-
this._filter,
|
|
151
|
-
this._join1,
|
|
152
|
-
this._join2,
|
|
153
|
-
this._join3,
|
|
154
|
-
join,
|
|
155
|
-
this._props,
|
|
156
|
-
this._orderBy,
|
|
157
|
-
this._order,
|
|
158
|
-
this._distinct,
|
|
159
|
-
this._partial,
|
|
160
|
-
this._joinedPartial,
|
|
161
|
-
this._joinedPartial1,
|
|
162
|
-
this._joinedPartial2,
|
|
163
|
-
partial,
|
|
164
|
-
);
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
public fullJoin<InputTable extends AbstractTable<InputTable>, TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(
|
|
168
|
-
fromTable: { new(db: DB): InputTable ;},
|
|
169
|
-
table: { new(db: DB): IToTable ;},
|
|
170
|
-
from: (table: CheckFourTypes<InputTable, TTable, TTable1, TTable2, TTable3>) => AbstractColumn<TColumn, boolean, boolean, CheckFourTypes<InputTable, TTable, TTable1, TTable2, TTable3>>,
|
|
171
|
-
to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean, IToTable>,
|
|
172
|
-
partial?: IToPartial,
|
|
173
|
-
): SelectTRBWithFourJoins<TTable, TTable1, TTable2, TTable3, IToTable, TPartial, TPartial1, TPartial2, TPartial3, IToPartial> {
|
|
174
|
-
const toTable = this._table.db.create(table);
|
|
175
|
-
const tableFrom = this._table.db.create(fromTable);
|
|
176
|
-
|
|
177
|
-
const fromColumn = from(tableFrom as unknown as CheckFourTypes<InputTable, TTable, TTable1, TTable2, TTable3>);
|
|
178
|
-
const toColumn = to(toTable);
|
|
179
|
-
|
|
180
|
-
const join = new JoinWith(toTable.tableName(), toTable.mapServiceToDb())
|
|
181
|
-
.columns(fromColumn, toColumn).joinStrategy(JoinStrategy.FULL_JOIN);
|
|
182
|
-
|
|
183
|
-
return new SelectTRBWithFourJoins(
|
|
184
|
-
this._table,
|
|
185
|
-
this._session,
|
|
186
|
-
this._filter,
|
|
187
|
-
this._join1,
|
|
188
|
-
this._join2,
|
|
189
|
-
this._join3,
|
|
190
|
-
join,
|
|
191
|
-
this._props,
|
|
192
|
-
this._orderBy,
|
|
193
|
-
this._order,
|
|
194
|
-
this._distinct,
|
|
195
|
-
this._partial,
|
|
196
|
-
this._joinedPartial,
|
|
197
|
-
this._joinedPartial1,
|
|
198
|
-
this._joinedPartial2,
|
|
199
|
-
partial,
|
|
200
|
-
);
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
protected mapResponse(result: QueryResult<any>)
|
|
204
|
-
: SelectResponseThreeJoins<TTable, TTable1, TTable2, TTable3, TPartial, TPartial1, TPartial2, TPartial3> {
|
|
205
|
-
const parent: {
|
|
206
|
-
[name in keyof ExtractModel<TTable1>]: AbstractColumn<ColumnType>
|
|
207
|
-
} = this._join1.mappedServiceToDb;
|
|
208
|
-
const parentTwo:{
|
|
209
|
-
[name in keyof ExtractModel<TTable2>]: AbstractColumn<ColumnType>;
|
|
210
|
-
} = this._join2.mappedServiceToDb;
|
|
211
|
-
const parentThree:{
|
|
212
|
-
[name in keyof ExtractModel<TTable3>]: AbstractColumn<ColumnType>;
|
|
213
|
-
} = this._join3.mappedServiceToDb;
|
|
214
|
-
|
|
215
|
-
const response = this.fullOrPartial(this._table.mapServiceToDb(), result, this._partial);
|
|
216
|
-
const objects = this.fullOrPartial(parent, result, this._joinedPartial, 1);
|
|
217
|
-
const objectsTwo = this.fullOrPartial(parentTwo, result, this._joinedPartial1, 2);
|
|
218
|
-
const objectsThree = this.fullOrPartial(parentThree, result, this._joinedPartial2, 3);
|
|
219
|
-
|
|
220
|
-
return new SelectResponseThreeJoins(response, objects, objectsTwo, objectsThree);
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
protected joins(): Array<{
|
|
224
|
-
join: Join<any>, partial?: {[name: string]: AbstractColumn<ColumnType<any>, boolean, boolean, any>},
|
|
225
|
-
id?: number
|
|
226
|
-
}> {
|
|
227
|
-
return [{ join: this._join1, partial: this._joinedPartial, id: 1 },
|
|
228
|
-
{ join: this._join2, partial: this._joinedPartial1, id: 2 },
|
|
229
|
-
{ join: this._join3, partial: this._joinedPartial2, id: 3 }];
|
|
230
|
-
}
|
|
231
|
-
}
|