vona-module-a-orm 5.0.96 → 5.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +0 -0
- package/cli/entity/metadata/generate.ts +2 -1
- package/cli/model/metadata/generate.ts +6 -2
- package/cli/model/metadata/magic.ts +15 -6
- package/dist/.metadata/index.d.ts +1 -0
- package/dist/.metadata/index.d.ts.map +1 -0
- package/dist/.metadata/locales.d.ts +1 -0
- package/dist/.metadata/locales.d.ts.map +1 -0
- package/dist/.metadata/this.d.ts +1 -0
- package/dist/.metadata/this.d.ts.map +1 -0
- package/dist/bean/aopMethod.transaction.d.ts +2 -1
- package/dist/bean/aopMethod.transaction.d.ts.map +1 -0
- package/dist/bean/bean.database.d.ts +2 -1
- package/dist/bean/bean.database.d.ts.map +1 -0
- package/dist/bean/bean.databaseDialectBase.d.ts +2 -1
- package/dist/bean/bean.databaseDialectBase.d.ts.map +1 -0
- package/dist/bean/bean.model/bean.model_cache.d.ts +5 -1
- package/dist/bean/bean.model/bean.model_cache.d.ts.map +1 -0
- package/dist/bean/bean.model/bean.model_crud.d.ts +1 -0
- package/dist/bean/bean.model/bean.model_crud.d.ts.map +1 -0
- package/dist/bean/bean.model/bean.model_crud_inner.d.ts +3 -1
- package/dist/bean/bean.model/bean.model_crud_inner.d.ts.map +1 -0
- package/dist/bean/bean.model/bean.model_crud_table.d.ts +1 -0
- package/dist/bean/bean.model/bean.model_crud_table.d.ts.map +1 -0
- package/dist/bean/bean.model/bean.model_knex.d.ts +1 -0
- package/dist/bean/bean.model/bean.model_knex.d.ts.map +1 -0
- package/dist/bean/bean.model/bean.model_meta.d.ts +3 -2
- package/dist/bean/bean.model/bean.model_meta.d.ts.map +1 -0
- package/dist/bean/bean.model/bean.model_utils.d.ts +5 -3
- package/dist/bean/bean.model/bean.model_utils.d.ts.map +1 -0
- package/dist/bean/bean.model/bean.model_view.d.ts +1 -0
- package/dist/bean/bean.model/bean.model_view.d.ts.map +1 -0
- package/dist/bean/bean.model.d.ts +1 -0
- package/dist/bean/bean.model.d.ts.map +1 -0
- package/dist/bean/bean.modelBase.d.ts +1 -0
- package/dist/bean/bean.modelBase.d.ts.map +1 -0
- package/dist/bean/broadcast.columnsClear.d.ts +2 -1
- package/dist/bean/broadcast.columnsClear.d.ts.map +1 -0
- package/dist/bean/event.clientNameReal.d.ts +2 -1
- package/dist/bean/event.clientNameReal.d.ts.map +1 -0
- package/dist/bean/event.columnsClear.d.ts +2 -1
- package/dist/bean/event.columnsClear.d.ts.map +1 -0
- package/dist/bean/hmr.entity.d.ts +1 -0
- package/dist/bean/hmr.entity.d.ts.map +1 -0
- package/dist/bean/hmr.model.d.ts +1 -0
- package/dist/bean/hmr.model.d.ts.map +1 -0
- package/dist/bean/queue.doubleDelete.d.ts +2 -1
- package/dist/bean/queue.doubleDelete.d.ts.map +1 -0
- package/dist/bean/schedule.softDeletionPrune.d.ts +1 -0
- package/dist/bean/schedule.softDeletionPrune.d.ts.map +1 -0
- package/dist/common/buildWhere.d.ts +1 -0
- package/dist/common/buildWhere.d.ts.map +1 -0
- package/dist/common/checkWhere.d.ts +1 -0
- package/dist/common/checkWhere.d.ts.map +1 -0
- package/dist/common/index.d.ts +1 -0
- package/dist/common/index.d.ts.map +1 -0
- package/dist/common/utils.d.ts +2 -1
- package/dist/common/utils.d.ts.map +1 -0
- package/dist/config/config.d.ts +1 -0
- package/dist/config/config.d.ts.map +1 -0
- package/dist/config/errors.d.ts +1 -0
- package/dist/config/errors.d.ts.map +1 -0
- package/dist/config/locale/en-us.d.ts +1 -0
- package/dist/config/locale/en-us.d.ts.map +1 -0
- package/dist/config/locale/zh-cn.d.ts +1 -0
- package/dist/config/locale/zh-cn.d.ts.map +1 -0
- package/dist/extend/index.d.ts +1 -0
- package/dist/extend/index.d.ts.map +1 -0
- package/dist/extend/schemaBuilder.d.ts +1 -0
- package/dist/extend/schemaBuilder.d.ts.map +1 -0
- package/dist/extend/tableBuilder.d.ts +1 -0
- package/dist/extend/tableBuilder.d.ts.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +94 -15
- package/dist/index.js.map +1 -0
- package/dist/lib/const.d.ts +1 -0
- package/dist/lib/const.d.ts.map +1 -0
- package/dist/lib/databaseDialect.d.ts +1 -0
- package/dist/lib/databaseDialect.d.ts.map +1 -0
- package/dist/lib/dto/dto.d.ts +3 -0
- package/dist/lib/dto/dto.d.ts.map +1 -0
- package/dist/lib/dto/dtoAggregate.d.ts +3 -2
- package/dist/lib/dto/dtoAggregate.d.ts.map +1 -0
- package/dist/lib/dto/dtoCreate.d.ts +2 -1
- package/dist/lib/dto/dtoCreate.d.ts.map +1 -0
- package/dist/lib/dto/dtoGet.d.ts +2 -1
- package/dist/lib/dto/dtoGet.d.ts.map +1 -0
- package/dist/lib/dto/dtoGroup.d.ts +2 -1
- package/dist/lib/dto/dtoGroup.d.ts.map +1 -0
- package/dist/lib/dto/dtoListAndCount.d.ts +4 -0
- package/dist/lib/dto/dtoListAndCount.d.ts.map +1 -0
- package/dist/lib/dto/dtoMutate.d.ts +3 -2
- package/dist/lib/dto/dtoMutate.d.ts.map +1 -0
- package/dist/lib/dto/dtoQuery.d.ts +1 -0
- package/dist/lib/dto/dtoQuery.d.ts.map +1 -0
- package/dist/lib/dto/dtoQueryPage.d.ts +1 -0
- package/dist/lib/dto/dtoQueryPage.d.ts.map +1 -0
- package/dist/lib/dto/dtoSelectAndCount.d.ts +2 -1
- package/dist/lib/dto/dtoSelectAndCount.d.ts.map +1 -0
- package/dist/lib/dto/dtoUpdate.d.ts +2 -1
- package/dist/lib/dto/dtoUpdate.d.ts.map +1 -0
- package/dist/lib/dto/index.d.ts +1 -0
- package/dist/lib/dto/index.d.ts.map +1 -0
- package/dist/lib/entity.d.ts +1 -0
- package/dist/lib/entity.d.ts.map +1 -0
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/model.d.ts +1 -0
- package/dist/lib/model.d.ts.map +1 -0
- package/dist/lib/modelCacheBase.d.ts +2 -1
- package/dist/lib/modelCacheBase.d.ts.map +1 -0
- package/dist/lib/relations.d.ts +5 -4
- package/dist/lib/relations.d.ts.map +1 -0
- package/dist/lib/relationsDynamic.d.ts +5 -4
- package/dist/lib/relationsDynamic.d.ts.map +1 -0
- package/dist/lib/relationsMutate.d.ts +4 -3
- package/dist/lib/relationsMutate.d.ts.map +1 -0
- package/dist/lib/relationsStatic.d.ts +1 -0
- package/dist/lib/relationsStatic.d.ts.map +1 -0
- package/dist/lib/utils.d.ts +1 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/main.d.ts +2 -1
- package/dist/main.d.ts.map +1 -0
- package/dist/service/cacheEntity_.d.ts +1 -0
- package/dist/service/cacheEntity_.d.ts.map +1 -0
- package/dist/service/cacheQuery_.d.ts +1 -0
- package/dist/service/cacheQuery_.d.ts.map +1 -0
- package/dist/service/columnsCache_.d.ts +2 -1
- package/dist/service/columnsCache_.d.ts.map +1 -0
- package/dist/service/columns_.d.ts +2 -1
- package/dist/service/columns_.d.ts.map +1 -0
- package/dist/service/database.d.ts +2 -1
- package/dist/service/database.d.ts.map +1 -0
- package/dist/service/databaseAsyncLocalStorage_.d.ts +1 -0
- package/dist/service/databaseAsyncLocalStorage_.d.ts.map +1 -0
- package/dist/service/databaseClient_.d.ts +2 -1
- package/dist/service/databaseClient_.d.ts.map +1 -0
- package/dist/service/db_.d.ts +2 -1
- package/dist/service/db_.d.ts.map +1 -0
- package/dist/service/entityResolver_.d.ts +1 -0
- package/dist/service/entityResolver_.d.ts.map +1 -0
- package/dist/service/modelResolver_.d.ts +1 -0
- package/dist/service/modelResolver_.d.ts.map +1 -0
- package/dist/service/relations_.d.ts +2 -1
- package/dist/service/relations_.d.ts.map +1 -0
- package/dist/service/transactionAsyncLocalStorage_.d.ts +1 -0
- package/dist/service/transactionAsyncLocalStorage_.d.ts.map +1 -0
- package/dist/service/transactionConsistency/342/200/214_.d.ts +1 -0
- package/dist/service/transactionConsistency/342/200/214_.d.ts.map +1 -0
- package/dist/service/transactionFiber_.d.ts +1 -0
- package/dist/service/transactionFiber_.d.ts.map +1 -0
- package/dist/service/transactionState_.d.ts +2 -1
- package/dist/service/transactionState_.d.ts.map +1 -0
- package/dist/service/transaction_.d.ts +2 -1
- package/dist/service/transaction_.d.ts.map +1 -0
- package/dist/types/columns.d.ts +1 -0
- package/dist/types/columns.d.ts.map +1 -0
- package/dist/types/config.d.ts +1 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/database.d.ts +1 -0
- package/dist/types/database.d.ts.map +1 -0
- package/dist/types/depth.d.ts +1 -0
- package/dist/types/depth.d.ts.map +1 -0
- package/dist/types/dialect.d.ts +1 -0
- package/dist/types/dialect.d.ts.map +1 -0
- package/dist/types/dto/dtoAggregate.d.ts +1 -0
- package/dist/types/dto/dtoAggregate.d.ts.map +1 -0
- package/dist/types/dto/dtoGet.d.ts +3 -2
- package/dist/types/dto/dtoGet.d.ts.map +1 -0
- package/dist/types/dto/dtoGroup.d.ts +1 -0
- package/dist/types/dto/dtoGroup.d.ts.map +1 -0
- package/dist/types/dto/dtoListAndCount.d.ts +8 -0
- package/dist/types/dto/dtoListAndCount.d.ts.map +1 -0
- package/dist/types/dto/dtoMutate.d.ts +8 -9
- package/dist/types/dto/dtoMutate.d.ts.map +1 -0
- package/dist/types/dto/dtoQueryBase.d.ts +1 -0
- package/dist/types/dto/dtoQueryBase.d.ts.map +1 -0
- package/dist/types/dto/dtoQueryPageBase.d.ts +1 -0
- package/dist/types/dto/dtoQueryPageBase.d.ts.map +1 -0
- package/dist/types/dto/dtoSelectAndCount.d.ts +2 -1
- package/dist/types/dto/dtoSelectAndCount.d.ts.map +1 -0
- package/dist/types/dto/index.d.ts +2 -0
- package/dist/types/dto/index.d.ts.map +1 -0
- package/dist/types/entity.d.ts +1 -0
- package/dist/types/entity.d.ts.map +1 -0
- package/dist/types/entityBase.d.ts +1 -0
- package/dist/types/entityBase.d.ts.map +1 -0
- package/dist/types/entityBaseEmpty.d.ts +1 -0
- package/dist/types/entityBaseEmpty.d.ts.map +1 -0
- package/dist/types/entityBaseInner.d.ts +1 -0
- package/dist/types/entityBaseInner.d.ts.map +1 -0
- package/dist/types/entityBaseSimple.d.ts +1 -0
- package/dist/types/entityBaseSimple.d.ts.map +1 -0
- package/dist/types/extra.d.ts +1 -0
- package/dist/types/extra.d.ts.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/logger.d.ts +1 -0
- package/dist/types/logger.d.ts.map +1 -0
- package/dist/types/model.d.ts +3 -2
- package/dist/types/model.d.ts.map +1 -0
- package/dist/types/modelAggr.d.ts +2 -1
- package/dist/types/modelAggr.d.ts.map +1 -0
- package/dist/types/modelCount.d.ts +2 -1
- package/dist/types/modelCount.d.ts.map +1 -0
- package/dist/types/modelGeneral.d.ts +4 -3
- package/dist/types/modelGeneral.d.ts.map +1 -0
- package/dist/types/modelGroup.d.ts +2 -1
- package/dist/types/modelGroup.d.ts.map +1 -0
- package/dist/types/modelIncrement.d.ts +19 -0
- package/dist/types/modelIncrement.d.ts.map +1 -0
- package/dist/types/modelWhere.d.ts +2 -1
- package/dist/types/modelWhere.d.ts.map +1 -0
- package/dist/types/onion/databaseDialect.d.ts +1 -0
- package/dist/types/onion/databaseDialect.d.ts.map +1 -0
- package/dist/types/onion/entity.d.ts +1 -0
- package/dist/types/onion/entity.d.ts.map +1 -0
- package/dist/types/onion/index.d.ts +1 -0
- package/dist/types/onion/index.d.ts.map +1 -0
- package/dist/types/onion/model.d.ts +1 -0
- package/dist/types/onion/model.d.ts.map +1 -0
- package/dist/types/onion/table.d.ts +1 -0
- package/dist/types/onion/table.d.ts.map +1 -0
- package/dist/types/relations.d.ts +10 -11
- package/dist/types/relations.d.ts.map +1 -0
- package/dist/types/relationsAggr.d.ts +2 -1
- package/dist/types/relationsAggr.d.ts.map +1 -0
- package/dist/types/relationsColumns.d.ts +5 -4
- package/dist/types/relationsColumns.d.ts.map +1 -0
- package/dist/types/relationsDef.d.ts +5 -4
- package/dist/types/relationsDef.d.ts.map +1 -0
- package/dist/types/relationsDefDynamic.d.ts +6 -5
- package/dist/types/relationsDefDynamic.d.ts.map +1 -0
- package/dist/types/relationsDefMutate.d.ts +1 -0
- package/dist/types/relationsDefMutate.d.ts.map +1 -0
- package/dist/types/relationsGroup.d.ts +1 -0
- package/dist/types/relationsGroup.d.ts.map +1 -0
- package/dist/types/relationsMutate.d.ts +4 -3
- package/dist/types/relationsMutate.d.ts.map +1 -0
- package/dist/types/relationsTables.d.ts +1 -0
- package/dist/types/relationsTables.d.ts.map +1 -0
- package/dist/types/transaction.d.ts +1 -0
- package/dist/types/transaction.d.ts.map +1 -0
- package/dist-cli/entity/metadata/generate.js +1 -1
- package/dist-cli/model/metadata/generate.js +4 -2
- package/dist-cli/model/metadata/magic.js +2 -2
- package/package.json +40 -36
- package/src/.metadata/index.ts +348 -0
- package/src/.metadata/locales.ts +13 -0
- package/src/.metadata/this.ts +2 -0
- package/src/bean/aopMethod.transaction.ts +18 -0
- package/src/bean/bean.database.ts +57 -0
- package/src/bean/bean.databaseDialectBase.ts +149 -0
- package/src/bean/bean.model/bean.model_cache.ts +815 -0
- package/src/bean/bean.model/bean.model_crud.ts +46 -0
- package/src/bean/bean.model/bean.model_crud_inner.ts +281 -0
- package/src/bean/bean.model/bean.model_crud_table.ts +59 -0
- package/src/bean/bean.model/bean.model_knex.ts +60 -0
- package/src/bean/bean.model/bean.model_meta.ts +204 -0
- package/src/bean/bean.model/bean.model_utils.ts +275 -0
- package/src/bean/bean.model/bean.model_view.ts +129 -0
- package/src/bean/bean.model.ts +8 -0
- package/src/bean/bean.modelBase.ts +8 -0
- package/src/bean/broadcast.columnsClear.ts +24 -0
- package/src/bean/event.clientNameReal.ts +10 -0
- package/src/bean/event.columnsClear.ts +13 -0
- package/src/bean/hmr.entity.ts +12 -0
- package/src/bean/hmr.model.ts +16 -0
- package/src/bean/queue.doubleDelete.ts +29 -0
- package/src/bean/schedule.softDeletionPrune.ts +45 -0
- package/src/common/buildWhere.ts +238 -0
- package/src/common/checkWhere.ts +128 -0
- package/src/common/index.ts +3 -0
- package/src/common/utils.ts +74 -0
- package/src/config/config.ts +60 -0
- package/src/config/errors.ts +3 -0
- package/src/config/locale/en-us.ts +8 -0
- package/src/config/locale/zh-cn.ts +8 -0
- package/src/extend/index.ts +12 -0
- package/src/extend/schemaBuilder.ts +29 -0
- package/src/extend/tableBuilder.ts +87 -0
- package/src/index.ts +10 -0
- package/src/lib/const.ts +58 -0
- package/src/lib/databaseDialect.ts +7 -0
- package/src/lib/dto/dto.ts +21 -0
- package/src/lib/dto/dtoAggregate.ts +51 -0
- package/src/lib/dto/dtoCreate.ts +14 -0
- package/src/lib/dto/dtoGet.ts +159 -0
- package/src/lib/dto/dtoGroup.ts +57 -0
- package/src/lib/dto/dtoListAndCount.ts +16 -0
- package/src/lib/dto/dtoMutate.ts +82 -0
- package/src/lib/dto/dtoQuery.ts +9 -0
- package/src/lib/dto/dtoQueryPage.ts +9 -0
- package/src/lib/dto/dtoSelectAndCount.ts +20 -0
- package/src/lib/dto/dtoUpdate.ts +16 -0
- package/src/lib/dto/index.ts +1 -0
- package/src/lib/entity.ts +25 -0
- package/src/lib/index.ts +9 -0
- package/src/lib/model.ts +7 -0
- package/src/lib/modelCacheBase.ts +98 -0
- package/src/lib/relations.ts +118 -0
- package/src/lib/relationsDynamic.ts +75 -0
- package/src/lib/relationsMutate.ts +60 -0
- package/src/lib/relationsStatic.ts +18 -0
- package/src/lib/utils.ts +45 -0
- package/src/main.ts +79 -0
- package/src/service/cacheEntity_.ts +37 -0
- package/src/service/cacheQuery_.ts +20 -0
- package/src/service/columnsCache_.ts +69 -0
- package/src/service/columns_.ts +64 -0
- package/src/service/database.ts +126 -0
- package/src/service/databaseAsyncLocalStorage_.ts +29 -0
- package/src/service/databaseClient_.ts +124 -0
- package/src/service/db_.ts +77 -0
- package/src/service/entityResolver_.ts +25 -0
- package/src/service/modelResolver_.ts +19 -0
- package/src/service/relations_.ts +444 -0
- package/src/service/transactionAsyncLocalStorage_.ts +31 -0
- package/src/service/transactionConsistency/342/200/214_.ts +37 -0
- package/src/service/transactionFiber_.ts +42 -0
- package/src/service/transactionState_.ts +35 -0
- package/src/service/transaction_.ts +147 -0
- package/src/types/columns.ts +8 -0
- package/src/types/config.ts +23 -0
- package/src/types/database.ts +64 -0
- package/src/types/depth.ts +55 -0
- package/src/types/dialect.ts +17 -0
- package/src/types/dto/dtoAggregate.ts +3 -0
- package/src/types/dto/dtoGet.ts +23 -0
- package/src/types/dto/dtoGroup.ts +3 -0
- package/src/types/dto/dtoListAndCount.ts +7 -0
- package/src/types/dto/dtoMutate.ts +231 -0
- package/src/types/dto/dtoQueryBase.ts +18 -0
- package/src/types/dto/dtoQueryPageBase.ts +18 -0
- package/src/types/dto/dtoSelectAndCount.ts +11 -0
- package/src/types/dto/index.ts +8 -0
- package/src/types/entity.ts +15 -0
- package/src/types/entityBase.ts +11 -0
- package/src/types/entityBaseEmpty.ts +1 -0
- package/src/types/entityBaseInner.ts +18 -0
- package/src/types/entityBaseSimple.ts +9 -0
- package/src/types/extra.ts +23 -0
- package/src/types/index.ts +30 -0
- package/src/types/logger.ts +6 -0
- package/src/types/model.ts +152 -0
- package/src/types/modelAggr.ts +69 -0
- package/src/types/modelCount.ts +40 -0
- package/src/types/modelGeneral.ts +61 -0
- package/src/types/modelGroup.ts +48 -0
- package/src/types/modelIncrement.ts +50 -0
- package/src/types/modelWhere.ts +85 -0
- package/src/types/onion/databaseDialect.ts +22 -0
- package/src/types/onion/entity.ts +33 -0
- package/src/types/onion/index.ts +4 -0
- package/src/types/onion/model.ts +68 -0
- package/src/types/onion/table.ts +1 -0
- package/src/types/relations.ts +243 -0
- package/src/types/relationsAggr.ts +31 -0
- package/src/types/relationsColumns.ts +116 -0
- package/src/types/relationsDef.ts +152 -0
- package/src/types/relationsDefDynamic.ts +128 -0
- package/src/types/relationsDefMutate.ts +11 -0
- package/src/types/relationsGroup.ts +58 -0
- package/src/types/relationsMutate.ts +118 -0
- package/src/types/relationsTables.ts +38 -0
- package/src/types/transaction.ts +23 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import type { BeanModelMeta } from '../bean/bean.model/bean.model_meta.ts';
|
|
2
|
+
import type { IModelRelationIncludeWrapper, IModelSelectParamsJoin, IModelSelectParamsOrder } from './model.ts';
|
|
3
|
+
import type { TypeModelSelectAggrParamsAggrs } from './modelAggr.ts';
|
|
4
|
+
import type { TypeModelColumn, TypeModelColumnsPatch, TypeModelColumnsStrict, TypeModelWhere } from './modelWhere.ts';
|
|
5
|
+
import type { IModelClassRecord } from './onion/model.ts';
|
|
6
|
+
import type { TypeModelClassLike, TypeModelOfModelLike, TypeModelsClassLikeGeneral, TypeSymbolKeyEntity } from './relations.ts';
|
|
7
|
+
import type { TypeEntityTableColumnNamesOfGeneral, TypeEntityTableColumnsOfGeneral } from './relationsColumns.ts';
|
|
8
|
+
import type { IModelRelationOptionsMetaWrapper } from './relationsDef.ts';
|
|
9
|
+
import type { TypeModelSelectGroupParamsColumnNames } from './relationsGroup.ts';
|
|
10
|
+
import type { TypeEntityTableNamesOfGeneral } from './relationsTables.ts';
|
|
11
|
+
|
|
12
|
+
// export type TypeModelRelationDynamic<MODELSelf extends BeanModelMeta | undefined, MODELTarget extends BeanModelMeta> =
|
|
13
|
+
// IModelRelationHasOneDynamic<MODELTarget> |
|
|
14
|
+
// IModelRelationBelongsToDynamic<MODELSelf, MODELTarget> |
|
|
15
|
+
// IModelRelationHasManyDynamic<MODELTarget>;
|
|
16
|
+
|
|
17
|
+
// use optional ? for app config
|
|
18
|
+
export interface IModelRelationHasOneDynamic<
|
|
19
|
+
MODEL extends BeanModelMeta | keyof IModelClassRecord,
|
|
20
|
+
KEY extends keyof TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity],
|
|
21
|
+
OPTIONS extends IModelRelationOptionsOneDynamic<TypeModelOfModelLike<MODEL>> | undefined = undefined,
|
|
22
|
+
> {
|
|
23
|
+
type?: 'hasOne';
|
|
24
|
+
model?: TypeModelClassLike<MODEL>;
|
|
25
|
+
key?: KEY;
|
|
26
|
+
options?: OPTIONS;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export interface IModelRelationBelongsToDynamic<
|
|
30
|
+
MODELSelf extends BeanModelMeta | keyof IModelClassRecord,
|
|
31
|
+
MODEL extends BeanModelMeta | keyof IModelClassRecord,
|
|
32
|
+
OPTIONS extends IModelRelationOptionsOneDynamic<TypeModelOfModelLike<MODEL>> | undefined = undefined,
|
|
33
|
+
> {
|
|
34
|
+
type?: 'belongsTo';
|
|
35
|
+
model?: TypeModelClassLike<MODEL>;
|
|
36
|
+
key?: keyof TypeModelOfModelLike<MODELSelf>[TypeSymbolKeyEntity];
|
|
37
|
+
options?: OPTIONS;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export interface IModelRelationHasManyDynamic<
|
|
41
|
+
MODEL extends BeanModelMeta | keyof IModelClassRecord,
|
|
42
|
+
KEY extends keyof TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity],
|
|
43
|
+
OPTIONS extends IModelRelationOptionsManyDynamic<TypeModelOfModelLike<MODEL>, ModelJoins, Group> | undefined = undefined,
|
|
44
|
+
ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined,
|
|
45
|
+
Group extends boolean | undefined = undefined,
|
|
46
|
+
> {
|
|
47
|
+
type?: 'hasMany';
|
|
48
|
+
model?: TypeModelClassLike<MODEL>;
|
|
49
|
+
key?: KEY;
|
|
50
|
+
options?: OPTIONS;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export interface IModelRelationBelongsToManyDynamic<
|
|
54
|
+
MODELMiddle extends BeanModelMeta | keyof IModelClassRecord,
|
|
55
|
+
MODEL extends BeanModelMeta | keyof IModelClassRecord,
|
|
56
|
+
OPTIONS extends IModelRelationOptionsManyDynamic<TypeModelOfModelLike<MODEL>, ModelJoins, Group> | undefined = undefined,
|
|
57
|
+
ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined,
|
|
58
|
+
Group extends boolean | undefined = undefined,
|
|
59
|
+
> {
|
|
60
|
+
type?: 'belongsToMany';
|
|
61
|
+
modelMiddle?: TypeModelClassLike<MODELMiddle>;
|
|
62
|
+
model?: TypeModelClassLike<MODEL>;
|
|
63
|
+
keyFrom?: keyof TypeModelOfModelLike<MODELMiddle>[TypeSymbolKeyEntity];
|
|
64
|
+
keyTo?: keyof TypeModelOfModelLike<MODELMiddle>[TypeSymbolKeyEntity];
|
|
65
|
+
options?: OPTIONS;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export interface IModelRelationOptionsOneDynamic<MODEL extends BeanModelMeta>
|
|
69
|
+
extends IModelRelationOptionsMetaWrapper, IModelRelationIncludeWrapper<MODEL> {
|
|
70
|
+
columns?: TypeModelColumnsPatch<MODEL[TypeSymbolKeyEntity], TypeModelColumn<MODEL[TypeSymbolKeyEntity]>>;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export interface IModelRelationOptionsManyDynamic<
|
|
74
|
+
MODEL extends BeanModelMeta,
|
|
75
|
+
ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined,
|
|
76
|
+
Group extends boolean | undefined = undefined,
|
|
77
|
+
>
|
|
78
|
+
extends
|
|
79
|
+
IModelRelationOptionsMetaWrapper,
|
|
80
|
+
IModelRelationIncludeWrapper<MODEL>,
|
|
81
|
+
Omit<IModelRelationOptionsManyDynamic_Raw<MODEL, false, TypeModelColumn<MODEL[TypeSymbolKeyEntity]>, ModelJoins, Group>, 'autoload'> {}
|
|
82
|
+
|
|
83
|
+
export type IModelRelationOptionsManyDynamic_Raw<
|
|
84
|
+
MODEL extends BeanModelMeta,
|
|
85
|
+
AUTOLOAD extends boolean = false,
|
|
86
|
+
COLUMNS extends TypeModelColumn<MODEL[TypeSymbolKeyEntity]> = TypeModelColumn<MODEL[TypeSymbolKeyEntity]>,
|
|
87
|
+
ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined,
|
|
88
|
+
Group extends boolean | undefined = undefined,
|
|
89
|
+
> = IBuildModelRelationOptionsManyDynamic<
|
|
90
|
+
MODEL[TypeSymbolKeyEntity],
|
|
91
|
+
AUTOLOAD,
|
|
92
|
+
COLUMNS,
|
|
93
|
+
TypeEntityTableNamesOfGeneral<ModelJoins, MODEL>,
|
|
94
|
+
TypeEntityTableColumnNamesOfGeneral<ModelJoins, MODEL>,
|
|
95
|
+
TypeEntityTableColumnsOfGeneral<ModelJoins, MODEL>,
|
|
96
|
+
Group
|
|
97
|
+
>;
|
|
98
|
+
|
|
99
|
+
export interface IBuildModelRelationOptionsManyDynamic<
|
|
100
|
+
TRecord,
|
|
101
|
+
AUTOLOAD extends boolean = false,
|
|
102
|
+
COLUMNS extends TypeModelColumn<TRecord> = TypeModelColumn<TRecord>,
|
|
103
|
+
TableNames = undefined,
|
|
104
|
+
ColumnNames = keyof TRecord,
|
|
105
|
+
Columns extends {} | undefined = undefined,
|
|
106
|
+
Group extends boolean | undefined = undefined,
|
|
107
|
+
> extends IBuildModelSelectGeneralParamsBasicDynamic<TRecord, COLUMNS, TableNames, ColumnNames, Columns, Group> {
|
|
108
|
+
autoload?: AUTOLOAD;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export interface IBuildModelSelectGeneralParamsBasicDynamic<
|
|
112
|
+
TRecord,
|
|
113
|
+
COLUMNS extends TypeModelColumn<TRecord> = TypeModelColumn<TRecord>,
|
|
114
|
+
TableNames = undefined,
|
|
115
|
+
ColumnNames = keyof TRecord,
|
|
116
|
+
Columns extends {} | undefined = undefined,
|
|
117
|
+
Group extends boolean | undefined = undefined,
|
|
118
|
+
> {
|
|
119
|
+
distinct?: boolean | keyof TRecord | (keyof TRecord)[];
|
|
120
|
+
columns?: TypeModelColumnsPatch<TRecord, COLUMNS>;
|
|
121
|
+
aggrs?: TypeModelSelectAggrParamsAggrs<TRecord>;
|
|
122
|
+
groups?: TypeModelColumnsStrict<TRecord>;
|
|
123
|
+
where?: TypeModelWhere<TRecord, Columns>;
|
|
124
|
+
joins?: IModelSelectParamsJoin<TRecord, TableNames, ColumnNames>[];
|
|
125
|
+
orders?: Group extends true ? IModelSelectParamsOrder<TypeModelSelectGroupParamsColumnNames<TRecord>>[] : IModelSelectParamsOrder<ColumnNames>[];
|
|
126
|
+
limit?: number;
|
|
127
|
+
offset?: number;
|
|
128
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { BeanModelMeta } from '../bean/bean.model/bean.model_meta.ts';
|
|
2
|
+
import type { IModelRelationIncludeWrapper } from './model.ts';
|
|
3
|
+
import type { IModelRelationOptionsMetaWrapper } from './relationsDef.ts';
|
|
4
|
+
|
|
5
|
+
export interface IModelRelationOptionsOneMutate<MODEL extends BeanModelMeta>
|
|
6
|
+
extends IModelRelationOptionsMetaWrapper, IModelRelationIncludeWrapper<MODEL> {}
|
|
7
|
+
|
|
8
|
+
export interface IModelRelationOptionsManyMutate<MODEL extends BeanModelMeta>
|
|
9
|
+
extends IModelRelationOptionsMetaWrapper, IModelRelationIncludeWrapper<MODEL> {}
|
|
10
|
+
|
|
11
|
+
export interface IModelRelationOptionsBelongsToManyMutate<_MODEL extends BeanModelMeta> extends IModelRelationOptionsMetaWrapper {}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { TypeModelSelectAggrParamsAggrs } from './modelAggr.ts';
|
|
2
|
+
import type { TypeModelColumnsStrict } from './modelWhere.ts';
|
|
3
|
+
import type { TypeUtilGetParamsAggrs, TypeUtilGetParamsColumns, TypeUtilGetParamsGroups, TypeUtilGetRelationOptionsGroups } from './relations.ts';
|
|
4
|
+
import type {
|
|
5
|
+
TypeModelAggrRelationResultAggr,
|
|
6
|
+
TypeModelAggrRelationResultAggrs,
|
|
7
|
+
TypeRecordAggrsValues,
|
|
8
|
+
TypeRecordAggrsValuesToObject,
|
|
9
|
+
TypeUtilAggrPrepareColumns,
|
|
10
|
+
} from './relationsAggr.ts';
|
|
11
|
+
|
|
12
|
+
export type TypeModelGroupRelationResult<TRecord, TOptions> = TypeModelGroupRelationResultGroups<
|
|
13
|
+
TRecord,
|
|
14
|
+
TypeUtilGetParamsAggrs<TOptions>,
|
|
15
|
+
TypeUtilGetParamsGroups<TOptions>,
|
|
16
|
+
TypeUtilGetParamsColumns<TOptions>
|
|
17
|
+
>;
|
|
18
|
+
|
|
19
|
+
export type TypeModelGroupRelationResultGroups<TRecord, Aggrs, Groups, Columns> = Groups extends string | string[]
|
|
20
|
+
? TypeModelGroupRelationResultGroupsObject<TRecord, Groups, Columns> &
|
|
21
|
+
(Aggrs extends {}
|
|
22
|
+
? TypeRecordAggrsValuesToObject<
|
|
23
|
+
TypeRecordAggrsValues<{
|
|
24
|
+
[K in keyof Aggrs]: K extends string ? TypeModelAggrRelationResultAggr<K, TypeUtilAggrPrepareColumns<Aggrs[K]>> : never;
|
|
25
|
+
}>
|
|
26
|
+
>
|
|
27
|
+
: {})
|
|
28
|
+
: {}; // not use undefined
|
|
29
|
+
|
|
30
|
+
export type TypeModelGroupRelationResultGroupsObject<TRecord, Groups, Columns> = Columns extends string | string[]
|
|
31
|
+
? { [K in TypeUtilAggrPrepareColumns<Columns>]: K extends keyof TRecord ? TRecord[K] : never }
|
|
32
|
+
: Groups extends string | string[]
|
|
33
|
+
? { [K in TypeUtilAggrPrepareColumns<Groups>]: K extends keyof TRecord ? TRecord[K] : never }
|
|
34
|
+
: {};
|
|
35
|
+
|
|
36
|
+
export type TypeModelSelectGroupParamsColumnNames<
|
|
37
|
+
TRecord,
|
|
38
|
+
ColumnNames extends TypeModelColumnsStrict<TRecord> | undefined = TypeModelColumnsStrict<TRecord>,
|
|
39
|
+
Aggrs extends TypeModelSelectAggrParamsAggrs<TRecord> | undefined = TypeModelSelectAggrParamsAggrs<TRecord>,
|
|
40
|
+
> =
|
|
41
|
+
| (ColumnNames extends TypeModelColumnsStrict<TRecord> ? TypeUtilAggrPrepareColumns<ColumnNames> : never)
|
|
42
|
+
| (Aggrs extends TypeModelSelectAggrParamsAggrs<TRecord> ? keyof TypeModelAggrRelationResultAggrs<Aggrs> : never);
|
|
43
|
+
|
|
44
|
+
export type TypeModelSelectGroupParamsColumns<
|
|
45
|
+
TRecord,
|
|
46
|
+
ColumnNames extends TypeModelColumnsStrict<TRecord> | undefined = TypeModelColumnsStrict<TRecord>,
|
|
47
|
+
Aggrs extends TypeModelSelectAggrParamsAggrs<TRecord> | undefined = TypeModelSelectAggrParamsAggrs<TRecord>,
|
|
48
|
+
> = (TypeUtilAggrPrepareColumns<ColumnNames> extends string
|
|
49
|
+
? { [K in TypeUtilAggrPrepareColumns<ColumnNames>]: K extends keyof TRecord ? TRecord[K] : never }
|
|
50
|
+
: {}) &
|
|
51
|
+
TypeModelAggrRelationResultAggrsToNumberType<TypeModelAggrRelationResultAggrs<Aggrs>>;
|
|
52
|
+
|
|
53
|
+
export type TypeModelAggrRelationResultAggrsToNumberType<Columns> = { [K in keyof Columns]: string }; // not use BigNumber or number | string
|
|
54
|
+
|
|
55
|
+
export type TypeUtilGetGroupsFromRelationAndIncludeWrapper<Relation, IncludeWrapper extends {} | undefined | unknown> =
|
|
56
|
+
TypeUtilGetParamsGroups<IncludeWrapper> extends string | string[]
|
|
57
|
+
? TypeUtilGetParamsGroups<IncludeWrapper>
|
|
58
|
+
: TypeUtilGetRelationOptionsGroups<Relation>;
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import type { TableIdentity } from 'table-identity';
|
|
2
|
+
import type { OmitNever } from 'vona';
|
|
3
|
+
|
|
4
|
+
import type { BeanModelMeta } from '../bean/bean.model/bean.model_meta.ts';
|
|
5
|
+
import type { IDecoratorModelOptions } from './onion/model.ts';
|
|
6
|
+
import type {
|
|
7
|
+
TypeUtilGetModelOptions,
|
|
8
|
+
TypeUtilGetParamsInlcude,
|
|
9
|
+
TypeUtilGetParamsWith,
|
|
10
|
+
TypeUtilGetRelationEntity,
|
|
11
|
+
TypeUtilGetRelationModel,
|
|
12
|
+
TypeUtilGetRelationOptions,
|
|
13
|
+
TypeUtilGetRelationOptionsAutoload,
|
|
14
|
+
TypeUtilGetRelationType,
|
|
15
|
+
} from './relations.ts';
|
|
16
|
+
import type { IModelRelationOptionsMetaWrapper } from './relationsDef.ts';
|
|
17
|
+
|
|
18
|
+
export type TypeModelMutateParamsInclude<MODEL extends BeanModelMeta | undefined> = TypeModelMutateParamsIncludeByModelOptions<
|
|
19
|
+
TypeUtilGetModelOptions<MODEL>
|
|
20
|
+
>;
|
|
21
|
+
|
|
22
|
+
export type TypeModelMutateParamsIncludeByModelOptions<ModelOptions extends IDecoratorModelOptions | undefined> =
|
|
23
|
+
ModelOptions extends IDecoratorModelOptions
|
|
24
|
+
? {
|
|
25
|
+
[relationName in keyof ModelOptions['relations']]?: TypeModelMutateParamsRelationOptions<ModelOptions['relations'][relationName]>;
|
|
26
|
+
}
|
|
27
|
+
: never;
|
|
28
|
+
|
|
29
|
+
export type TypeModelMutateParamsRelationOptions<Relation> =
|
|
30
|
+
| boolean
|
|
31
|
+
| (IModelRelationOptionsMetaWrapper & {
|
|
32
|
+
include?: TypeModelMutateParamsInclude<TypeUtilGetRelationModel<Relation>>;
|
|
33
|
+
with?: Record<string, unknown>;
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
export type TypeModelMutateRelationResultMergeInclude<
|
|
37
|
+
TModelOptions extends IDecoratorModelOptions,
|
|
38
|
+
TInclude extends {} | undefined | unknown,
|
|
39
|
+
TForInsertResult extends boolean | undefined = undefined,
|
|
40
|
+
> = {
|
|
41
|
+
[RelationName in keyof TModelOptions['relations']]: TInclude extends {} // not use ?: for OmitNever take effect
|
|
42
|
+
? TInclude[RelationName] extends {} | boolean
|
|
43
|
+
? TypeModelMutateRelationResultMergeIncludeWrapper<TModelOptions['relations'][RelationName], TInclude[RelationName], TForInsertResult>
|
|
44
|
+
: TypeModelMutateRelationResultMergeAutoload<TModelOptions['relations'][RelationName], TForInsertResult>
|
|
45
|
+
: TypeModelMutateRelationResultMergeAutoload<TModelOptions['relations'][RelationName], TForInsertResult>;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export type TypeModelMutateRelationResultMergeAutoload<Relation, TForInsertResult extends boolean | undefined = undefined> =
|
|
49
|
+
TypeUtilGetRelationOptionsAutoload<Relation> extends true ? TypeUtilMutateGetRelationEntityByType<Relation, undefined, TForInsertResult> : never;
|
|
50
|
+
|
|
51
|
+
export type TypeModelMutateRelationResultMergeIncludeWrapper<
|
|
52
|
+
Relation,
|
|
53
|
+
IncludeWrapper,
|
|
54
|
+
TForInsertResult extends boolean | undefined = undefined,
|
|
55
|
+
> = IncludeWrapper extends false
|
|
56
|
+
? never
|
|
57
|
+
: IncludeWrapper extends true
|
|
58
|
+
? TypeUtilMutateGetRelationEntityByType<Relation, undefined, TForInsertResult>
|
|
59
|
+
: IncludeWrapper extends {}
|
|
60
|
+
? TypeUtilMutateGetRelationEntityByType<Relation, IncludeWrapper, TForInsertResult>
|
|
61
|
+
: never;
|
|
62
|
+
|
|
63
|
+
export type TypeUtilMutateGetRelationEntityByType<
|
|
64
|
+
Relation,
|
|
65
|
+
IncludeWrapper extends {} | undefined | unknown,
|
|
66
|
+
TForInsertResult extends boolean | undefined = undefined,
|
|
67
|
+
> = TypeUtilMutateGetEntityByType<
|
|
68
|
+
TypeUtilGetRelationEntity<Relation>,
|
|
69
|
+
TypeUtilGetRelationType<Relation>,
|
|
70
|
+
TypeUtilGetRelationModel<Relation>,
|
|
71
|
+
IncludeWrapper,
|
|
72
|
+
TForInsertResult
|
|
73
|
+
>;
|
|
74
|
+
|
|
75
|
+
export type TypeUtilMutateGetEntityByType<
|
|
76
|
+
TRecord,
|
|
77
|
+
TYPE,
|
|
78
|
+
TModel extends BeanModelMeta | undefined,
|
|
79
|
+
IncludeWrapper extends {} | undefined | unknown,
|
|
80
|
+
TForInsertResult extends boolean | undefined = undefined,
|
|
81
|
+
> = TYPE extends 'belongsTo'
|
|
82
|
+
? never
|
|
83
|
+
: TYPE extends 'belongsToMany'
|
|
84
|
+
? Array<{ id: TableIdentity; deleted?: boolean }> | undefined
|
|
85
|
+
: TYPE extends 'hasMany'
|
|
86
|
+
? Array<TypeModelMutateRelationData<TRecord, TModel, IncludeWrapper, TForInsertResult>> | undefined
|
|
87
|
+
: TypeModelMutateRelationData<TRecord, TModel, IncludeWrapper, TForInsertResult> | undefined;
|
|
88
|
+
|
|
89
|
+
export type TypeModelMutateRelationResultMergeWith<
|
|
90
|
+
TWith extends {} | undefined | unknown,
|
|
91
|
+
TForInsertResult extends boolean | undefined = undefined,
|
|
92
|
+
> = TWith extends {} ? { [RelationName in keyof TWith]: TypeModelMutateRelationResultMergeWithRelation<TWith[RelationName], TForInsertResult> } : {};
|
|
93
|
+
|
|
94
|
+
export type TypeModelMutateRelationResultMergeWithRelation<
|
|
95
|
+
WithRelation,
|
|
96
|
+
TForInsertResult extends boolean | undefined = undefined,
|
|
97
|
+
> = WithRelation extends false
|
|
98
|
+
? never
|
|
99
|
+
: WithRelation extends true
|
|
100
|
+
? never
|
|
101
|
+
: WithRelation extends {}
|
|
102
|
+
? TypeUtilMutateGetRelationEntityByType<WithRelation, TypeUtilGetRelationOptions<WithRelation>, TForInsertResult>
|
|
103
|
+
: never;
|
|
104
|
+
|
|
105
|
+
export type TypeModelMutateRelationData<
|
|
106
|
+
TRecord,
|
|
107
|
+
TModel extends BeanModelMeta | undefined,
|
|
108
|
+
TOptionsRelation,
|
|
109
|
+
TForInsertResult extends boolean | undefined = undefined,
|
|
110
|
+
> = (TForInsertResult extends true ? TRecord : Partial<TRecord>) &
|
|
111
|
+
(TModel extends BeanModelMeta
|
|
112
|
+
? Partial<
|
|
113
|
+
OmitNever<
|
|
114
|
+
TypeModelMutateRelationResultMergeInclude<TypeUtilGetModelOptions<TModel>, TypeUtilGetParamsInlcude<TOptionsRelation>, TForInsertResult>
|
|
115
|
+
>
|
|
116
|
+
> &
|
|
117
|
+
Partial<OmitNever<TypeModelMutateRelationResultMergeWith<TypeUtilGetParamsWith<TOptionsRelation>, TForInsertResult>>>
|
|
118
|
+
: {});
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { TypeConfirmArray, TypeRecordValues } from 'vona';
|
|
2
|
+
|
|
3
|
+
import type { BeanModelMeta } from '../bean/bean.model/bean.model_meta.ts';
|
|
4
|
+
import type { IDecoratorModelOptions } from './onion/model.ts';
|
|
5
|
+
import type {
|
|
6
|
+
TypeModelOfModelLike,
|
|
7
|
+
TypeModelsClassLikeGeneral,
|
|
8
|
+
TypeSymbolKeyEntityMeta,
|
|
9
|
+
TypeUtilGetModelOptions,
|
|
10
|
+
TypeUtilGetRelationEntityMeta,
|
|
11
|
+
} from './relations.ts';
|
|
12
|
+
|
|
13
|
+
export type TypeEntityTableNames<EntityMeta extends { $table: string } | undefined> = EntityMeta extends { $table: infer TableName }
|
|
14
|
+
? TableName
|
|
15
|
+
: never;
|
|
16
|
+
|
|
17
|
+
export type TypeEntityTableNamesOfModelOptions<TModelOptions extends IDecoratorModelOptions> = TModelOptions['relations'] extends {}
|
|
18
|
+
? TypeRecordValues<{
|
|
19
|
+
[RelationName in keyof TModelOptions['relations']]: TypeEntityTableNames<
|
|
20
|
+
TypeUtilGetRelationEntityMeta<TModelOptions['relations'][RelationName]>
|
|
21
|
+
>;
|
|
22
|
+
}>
|
|
23
|
+
: never;
|
|
24
|
+
|
|
25
|
+
export type TypeEntityTableNamesOfModelJoins<TModelJoins extends TypeModelsClassLikeGeneral> = TypeEntityTableNames<
|
|
26
|
+
TypeModelOfModelLike<TypeConfirmArray<TModelJoins>[number]>[TypeSymbolKeyEntityMeta]
|
|
27
|
+
>;
|
|
28
|
+
|
|
29
|
+
export type TypeEntityTableNamesOfModelClass<TModel extends BeanModelMeta> = TypeEntityTableNamesOfModelOptions<TypeUtilGetModelOptions<TModel>>;
|
|
30
|
+
|
|
31
|
+
export type TypeEntityTableNamesOfGeneral<
|
|
32
|
+
TModelJoins extends TypeModelsClassLikeGeneral | undefined,
|
|
33
|
+
TModel extends BeanModelMeta | undefined,
|
|
34
|
+
> = TModel extends BeanModelMeta
|
|
35
|
+
? TModelJoins extends TypeModelsClassLikeGeneral
|
|
36
|
+
? TypeEntityTableNamesOfModelJoins<TModelJoins>
|
|
37
|
+
: TypeEntityTableNamesOfModelClass<TModel>
|
|
38
|
+
: undefined;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export const TransactionIsolationLevelsMap = {
|
|
2
|
+
DEFAULT: undefined,
|
|
3
|
+
READ_UNCOMMITTED: 'read uncommitted',
|
|
4
|
+
READ_COMMITTED: 'read committed',
|
|
5
|
+
REPEATABLE_READ: 'repeatable read',
|
|
6
|
+
SERIALIZABLE: 'serializable',
|
|
7
|
+
SNAPSHOT: 'snapshot',
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export type TypeTransactionIsolationLevels = 'DEFAULT' | 'READ_UNCOMMITTED' | 'READ_COMMITTED' | 'REPEATABLE_READ' | 'SERIALIZABLE' | 'SNAPSHOT';
|
|
11
|
+
|
|
12
|
+
export type TypeTransactionPropagation = 'REQUIRED' | 'SUPPORTS' | 'MANDATORY' | 'REQUIRES_NEW' | 'NOT_SUPPORTED' | 'NEVER';
|
|
13
|
+
|
|
14
|
+
// export type TransactionPropagation=''
|
|
15
|
+
export interface ITransactionOptions {
|
|
16
|
+
isolationLevel?: TypeTransactionIsolationLevels;
|
|
17
|
+
readOnly?: boolean;
|
|
18
|
+
propagation?: TypeTransactionPropagation;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface ITransactionConsistencyCommitOptions {
|
|
22
|
+
ignoreIfNotInTransaction?: boolean;
|
|
23
|
+
}
|