vona-module-a-orm 5.1.4 → 5.1.6
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/cli/entity/metadata/generate.ts +13 -3
- package/cli/model/metadata/generate.ts +6 -3
- package/cli/model/metadata/magic.ts +6 -1
- package/dist/.metadata/locales.d.ts.map +1 -1
- package/dist/bean/aopMethod.transaction.d.ts.map +1 -1
- package/dist/bean/bean.database.d.ts.map +1 -1
- package/dist/bean/bean.databaseDialectBase.d.ts +3 -3
- package/dist/bean/bean.databaseDialectBase.d.ts.map +1 -1
- package/dist/bean/bean.model/bean.model_cache.d.ts.map +1 -1
- package/dist/bean/bean.model/bean.model_crud.d.ts.map +1 -1
- package/dist/bean/bean.model/bean.model_crud_inner.d.ts.map +1 -1
- package/dist/bean/bean.model/bean.model_crud_table.d.ts.map +1 -1
- package/dist/bean/bean.model/bean.model_knex.d.ts.map +1 -1
- package/dist/bean/bean.model/bean.model_meta.d.ts.map +1 -1
- package/dist/bean/bean.model/bean.model_utils.d.ts +1 -0
- package/dist/bean/bean.model/bean.model_utils.d.ts.map +1 -1
- package/dist/bean/bean.model/bean.model_view.d.ts.map +1 -1
- package/dist/bean/event.clientNameReal.d.ts.map +1 -1
- package/dist/bean/event.columnsClear.d.ts.map +1 -1
- package/dist/bean/queue.doubleDelete.d.ts.map +1 -1
- package/dist/bean/schedule.softDeletionPrune.d.ts.map +1 -1
- package/dist/common/buildWhere.d.ts.map +1 -1
- package/dist/common/utils.d.ts.map +1 -1
- package/dist/config/config.d.ts +3 -0
- package/dist/config/config.d.ts.map +1 -1
- package/dist/extend/schemaBuilder.d.ts.map +1 -1
- package/dist/extend/tableBuilder.d.ts.map +1 -1
- package/dist/index.js +59 -28
- package/dist/index.js.map +1 -1
- package/dist/lib/const.d.ts.map +1 -1
- package/dist/lib/databaseDialect.d.ts.map +1 -1
- package/dist/lib/dto/dtoAggregate.d.ts.map +1 -1
- package/dist/lib/dto/dtoCreate.d.ts.map +1 -1
- package/dist/lib/dto/dtoGet.d.ts.map +1 -1
- package/dist/lib/dto/dtoGroup.d.ts.map +1 -1
- package/dist/lib/dto/dtoListAndCount.d.ts.map +1 -1
- package/dist/lib/dto/dtoMutate.d.ts.map +1 -1
- package/dist/lib/dto/dtoQueryPage.d.ts.map +1 -1
- package/dist/lib/dto/dtoSelectAndCount.d.ts.map +1 -1
- package/dist/lib/dto/dtoUpdate.d.ts.map +1 -1
- package/dist/lib/entity.d.ts.map +1 -1
- package/dist/lib/modelCacheBase.d.ts.map +1 -1
- package/dist/lib/relations.d.ts.map +1 -1
- package/dist/lib/relationsDynamic.d.ts.map +1 -1
- package/dist/lib/relationsMutate.d.ts.map +1 -1
- package/dist/lib/relationsStatic.d.ts.map +1 -1
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/service/columnsCache_.d.ts.map +1 -1
- package/dist/service/database.d.ts.map +1 -1
- package/dist/service/databaseClient_.d.ts.map +1 -1
- package/dist/service/relations_.d.ts.map +1 -1
- package/dist/service/transaction_.d.ts.map +1 -1
- package/dist/types/dto/dtoGet.d.ts.map +1 -1
- package/dist/types/dto/dtoGroup.d.ts.map +1 -1
- package/dist/types/dto/dtoMutate.d.ts.map +1 -1
- package/dist/types/dto/dtoQueryBase.d.ts.map +1 -1
- package/dist/types/dto/dtoSelectAndCount.d.ts.map +1 -1
- package/dist/types/entity.d.ts.map +1 -1
- package/dist/types/model.d.ts +5 -1
- package/dist/types/model.d.ts.map +1 -1
- package/dist/types/modelAggr.d.ts.map +1 -1
- package/dist/types/modelCount.d.ts.map +1 -1
- package/dist/types/modelGeneral.d.ts.map +1 -1
- package/dist/types/modelGroup.d.ts.map +1 -1
- package/dist/types/modelIncrement.d.ts.map +1 -1
- package/dist/types/modelWhere.d.ts.map +1 -1
- package/dist/types/onion/entity.d.ts +2 -2
- package/dist/types/onion/entity.d.ts.map +1 -1
- package/dist/types/onion/model.d.ts.map +1 -1
- package/dist/types/relations.d.ts.map +1 -1
- package/dist/types/relationsAggr.d.ts +1 -1
- package/dist/types/relationsAggr.d.ts.map +1 -1
- package/dist/types/relationsColumns.d.ts.map +1 -1
- package/dist/types/relationsDef.d.ts.map +1 -1
- package/dist/types/relationsDefDynamic.d.ts.map +1 -1
- package/dist/types/relationsDefMutate.d.ts.map +1 -1
- package/dist/types/relationsGroup.d.ts.map +1 -1
- package/dist/types/relationsMutate.d.ts.map +1 -1
- package/dist/types/relationsTables.d.ts.map +1 -1
- package/dist/types/transaction.d.ts.map +1 -1
- package/dist-cli/entity/metadata/generate.js +4 -1
- package/dist-cli/model/metadata/generate.js +4 -2
- package/package.json +1 -1
- package/src/.metadata/locales.ts +6 -1
- package/src/bean/aopMethod.transaction.ts +9 -2
- package/src/bean/bean.database.ts +33 -8
- package/src/bean/bean.databaseDialectBase.ts +50 -15
- package/src/bean/bean.model/bean.model_cache.ts +130 -46
- package/src/bean/bean.model/bean.model_crud.ts +28 -7
- package/src/bean/bean.model/bean.model_crud_inner.ts +48 -16
- package/src/bean/bean.model/bean.model_crud_table.ts +25 -5
- package/src/bean/bean.model/bean.model_knex.ts +18 -5
- package/src/bean/bean.model/bean.model_meta.ts +23 -5
- package/src/bean/bean.model/bean.model_utils.ts +63 -12
- package/src/bean/bean.model/bean.model_view.ts +20 -5
- package/src/bean/event.clientNameReal.ts +4 -1
- package/src/bean/event.columnsClear.ts +4 -1
- package/src/bean/queue.doubleDelete.ts +9 -2
- package/src/bean/schedule.softDeletionPrune.ts +3 -1
- package/src/common/buildWhere.ts +30 -5
- package/src/common/utils.ts +6 -2
- package/src/config/config.ts +3 -0
- package/src/extend/schemaBuilder.ts +2 -1
- package/src/extend/tableBuilder.ts +32 -19
- package/src/lib/const.ts +3 -1
- package/src/lib/databaseDialect.ts +3 -1
- package/src/lib/dto/dtoAggregate.ts +18 -6
- package/src/lib/dto/dtoCreate.ts +24 -4
- package/src/lib/dto/dtoGet.ts +82 -17
- package/src/lib/dto/dtoGroup.ts +24 -8
- package/src/lib/dto/dtoListAndCount.ts +3 -1
- package/src/lib/dto/dtoMutate.ts +26 -7
- package/src/lib/dto/dtoQueryPage.ts +4 -1
- package/src/lib/dto/dtoSelectAndCount.ts +3 -1
- package/src/lib/dto/dtoUpdate.ts +24 -4
- package/src/lib/entity.ts +10 -4
- package/src/lib/modelCacheBase.ts +9 -3
- package/src/lib/relations.ts +22 -4
- package/src/lib/relationsDynamic.ts +29 -7
- package/src/lib/relationsMutate.ts +28 -5
- package/src/lib/relationsStatic.ts +4 -1
- package/src/lib/utils.ts +11 -2
- package/src/main.ts +10 -2
- package/src/service/columnsCache_.ts +8 -6
- package/src/service/database.ts +34 -10
- package/src/service/databaseClient_.ts +4 -1
- package/src/service/relations_.ts +98 -23
- package/src/service/transaction_.ts +14 -4
- package/src/types/dto/dtoGet.ts +14 -6
- package/src/types/dto/dtoGroup.ts +2 -1
- package/src/types/dto/dtoMutate.ts +102 -20
- package/src/types/dto/dtoQueryBase.ts +5 -1
- package/src/types/dto/dtoSelectAndCount.ts +4 -1
- package/src/types/entity.ts +3 -1
- package/src/types/entityBase.ts +1 -1
- package/src/types/entityBaseInner.ts +4 -4
- package/src/types/entityBaseSimple.ts +1 -1
- package/src/types/model.ts +73 -16
- package/src/types/modelAggr.ts +18 -6
- package/src/types/modelCount.ts +4 -1
- package/src/types/modelGeneral.ts +26 -5
- package/src/types/modelGroup.ts +8 -2
- package/src/types/modelIncrement.ts +4 -1
- package/src/types/modelWhere.ts +12 -3
- package/src/types/onion/entity.ts +2 -2
- package/src/types/onion/model.ts +20 -4
- package/src/types/relations.ts +151 -47
- package/src/types/relationsAggr.ts +35 -11
- package/src/types/relationsColumns.ts +80 -57
- package/src/types/relationsDef.ts +82 -29
- package/src/types/relationsDefDynamic.ts +59 -13
- package/src/types/relationsDefMutate.ts +3 -1
- package/src/types/relationsGroup.ts +32 -10
- package/src/types/relationsMutate.ts +60 -19
- package/src/types/relationsTables.ts +16 -14
- package/src/types/transaction.ts +14 -2
|
@@ -3,10 +3,22 @@ import type { ServiceDb } from '../service/db_.ts';
|
|
|
3
3
|
import type { IDatabaseClientRecord } from './database.ts';
|
|
4
4
|
import type { TypeModelSelectAggrParamsAggrs } from './modelAggr.ts';
|
|
5
5
|
import type { IBuildModelSelectGeneralParamsBasic } from './modelGeneral.ts';
|
|
6
|
-
import type {
|
|
6
|
+
import type {
|
|
7
|
+
TypeModelColumn,
|
|
8
|
+
TypeModelColumnsPatch,
|
|
9
|
+
TypeModelColumnsStrict,
|
|
10
|
+
} from './modelWhere.ts';
|
|
7
11
|
import type { IModelClassRecord, TypeModelOptionsTable } from './onion/model.ts';
|
|
8
|
-
import type {
|
|
9
|
-
|
|
12
|
+
import type {
|
|
13
|
+
TypeModelClassLike,
|
|
14
|
+
TypeModelOfModelLike,
|
|
15
|
+
TypeModelsClassLikeGeneral,
|
|
16
|
+
TypeSymbolKeyEntity,
|
|
17
|
+
} from './relations.ts';
|
|
18
|
+
import type {
|
|
19
|
+
TypeEntityTableColumnNamesOfGeneral,
|
|
20
|
+
TypeEntityTableColumnsOfGeneral,
|
|
21
|
+
} from './relationsColumns.ts';
|
|
10
22
|
import type { TypeEntityTableNamesOfGeneral } from './relationsTables.ts';
|
|
11
23
|
|
|
12
24
|
export type TypeModelRelationType = 'hasOne' | 'belongsTo' | 'hasMany' | 'belongsToMany';
|
|
@@ -22,11 +34,11 @@ export type TypeModelRelationType = 'hasOne' | 'belongsTo' | 'hasMany' | 'belong
|
|
|
22
34
|
// use optional ? for app config
|
|
23
35
|
export interface IModelRelationHasOne<
|
|
24
36
|
MODEL extends BeanModelMeta | keyof IModelClassRecord,
|
|
25
|
-
KEY extends keyof TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity] | undefined =
|
|
37
|
+
KEY extends keyof TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity] | undefined =
|
|
38
|
+
keyof TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity],
|
|
26
39
|
AUTOLOAD extends boolean = false,
|
|
27
|
-
COLUMNS extends TypeModelColumn<TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity]> | undefined =
|
|
28
|
-
TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity]
|
|
29
|
-
>,
|
|
40
|
+
COLUMNS extends TypeModelColumn<TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity]> | undefined =
|
|
41
|
+
TypeModelColumn<TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity]>,
|
|
30
42
|
> {
|
|
31
43
|
type?: 'hasOne';
|
|
32
44
|
model?: TypeModelClassLike<MODEL>;
|
|
@@ -38,9 +50,8 @@ export interface IModelRelationBelongsTo<
|
|
|
38
50
|
MODELSelf extends BeanModelMeta | keyof IModelClassRecord,
|
|
39
51
|
MODEL extends BeanModelMeta | keyof IModelClassRecord,
|
|
40
52
|
AUTOLOAD extends boolean = false,
|
|
41
|
-
COLUMNS extends TypeModelColumn<TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity]> | undefined =
|
|
42
|
-
TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity]
|
|
43
|
-
>,
|
|
53
|
+
COLUMNS extends TypeModelColumn<TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity]> | undefined =
|
|
54
|
+
TypeModelColumn<TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity]>,
|
|
44
55
|
> {
|
|
45
56
|
type?: 'belongsTo';
|
|
46
57
|
model?: TypeModelClassLike<MODEL>;
|
|
@@ -50,44 +61,67 @@ export interface IModelRelationBelongsTo<
|
|
|
50
61
|
|
|
51
62
|
export interface IModelRelationHasMany<
|
|
52
63
|
MODEL extends BeanModelMeta | keyof IModelClassRecord,
|
|
53
|
-
KEY extends keyof TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity] | undefined =
|
|
64
|
+
KEY extends keyof TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity] | undefined =
|
|
65
|
+
keyof TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity],
|
|
54
66
|
AUTOLOAD extends boolean = false,
|
|
55
|
-
COLUMNS extends TypeModelColumn<TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity]> | undefined =
|
|
56
|
-
TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity]
|
|
57
|
-
>,
|
|
67
|
+
COLUMNS extends TypeModelColumn<TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity]> | undefined =
|
|
68
|
+
TypeModelColumn<TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity]>,
|
|
58
69
|
ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined,
|
|
59
|
-
Aggrs extends
|
|
60
|
-
|
|
70
|
+
Aggrs extends
|
|
71
|
+
| TypeModelSelectAggrParamsAggrs<TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity]>
|
|
72
|
+
| undefined = undefined,
|
|
73
|
+
Groups extends
|
|
74
|
+
| TypeModelColumnsStrict<TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity]>
|
|
75
|
+
| undefined = undefined,
|
|
61
76
|
> {
|
|
62
77
|
type?: 'hasMany';
|
|
63
78
|
model?: TypeModelClassLike<MODEL>;
|
|
64
79
|
key?: KEY;
|
|
65
|
-
options?: IModelRelationOptionsMany<
|
|
80
|
+
options?: IModelRelationOptionsMany<
|
|
81
|
+
TypeModelOfModelLike<MODEL>,
|
|
82
|
+
AUTOLOAD,
|
|
83
|
+
COLUMNS,
|
|
84
|
+
ModelJoins,
|
|
85
|
+
Aggrs,
|
|
86
|
+
Groups
|
|
87
|
+
>;
|
|
66
88
|
}
|
|
67
89
|
|
|
68
90
|
export interface IModelRelationBelongsToMany<
|
|
69
91
|
MODELMiddle extends BeanModelMeta | keyof IModelClassRecord,
|
|
70
92
|
MODEL extends BeanModelMeta | keyof IModelClassRecord,
|
|
71
93
|
AUTOLOAD extends boolean = false,
|
|
72
|
-
COLUMNS extends TypeModelColumn<TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity]> | undefined =
|
|
73
|
-
TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity]
|
|
74
|
-
>,
|
|
94
|
+
COLUMNS extends TypeModelColumn<TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity]> | undefined =
|
|
95
|
+
TypeModelColumn<TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity]>,
|
|
75
96
|
ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined,
|
|
76
|
-
Aggrs extends
|
|
77
|
-
|
|
97
|
+
Aggrs extends
|
|
98
|
+
| TypeModelSelectAggrParamsAggrs<TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity]>
|
|
99
|
+
| undefined = undefined,
|
|
100
|
+
Groups extends
|
|
101
|
+
| TypeModelColumnsStrict<TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity]>
|
|
102
|
+
| undefined = undefined,
|
|
78
103
|
> {
|
|
79
104
|
type?: 'belongsToMany';
|
|
80
105
|
modelMiddle?: TypeModelClassLike<MODELMiddle>;
|
|
81
106
|
model?: TypeModelClassLike<MODEL>;
|
|
82
107
|
keyFrom?: keyof TypeModelOfModelLike<MODELMiddle>[TypeSymbolKeyEntity];
|
|
83
108
|
keyTo?: keyof TypeModelOfModelLike<MODELMiddle>[TypeSymbolKeyEntity];
|
|
84
|
-
options?: IModelRelationOptionsMany<
|
|
109
|
+
options?: IModelRelationOptionsMany<
|
|
110
|
+
TypeModelOfModelLike<MODEL>,
|
|
111
|
+
AUTOLOAD,
|
|
112
|
+
COLUMNS,
|
|
113
|
+
ModelJoins,
|
|
114
|
+
Aggrs,
|
|
115
|
+
Groups
|
|
116
|
+
>;
|
|
85
117
|
}
|
|
86
118
|
|
|
87
119
|
export interface IModelRelationOptionsOne<
|
|
88
120
|
MODEL extends BeanModelMeta,
|
|
89
121
|
AUTOLOAD extends boolean = false,
|
|
90
|
-
COLUMNS extends TypeModelColumn<MODEL[TypeSymbolKeyEntity]> | undefined = TypeModelColumn<
|
|
122
|
+
COLUMNS extends TypeModelColumn<MODEL[TypeSymbolKeyEntity]> | undefined = TypeModelColumn<
|
|
123
|
+
MODEL[TypeSymbolKeyEntity]
|
|
124
|
+
>,
|
|
91
125
|
> extends IModelRelationOptionsMetaWrapper {
|
|
92
126
|
autoload?: AUTOLOAD;
|
|
93
127
|
columns?: TypeModelColumnsPatch<MODEL[TypeSymbolKeyEntity], COLUMNS>;
|
|
@@ -96,17 +130,23 @@ export interface IModelRelationOptionsOne<
|
|
|
96
130
|
export interface IModelRelationOptionsMany<
|
|
97
131
|
MODEL extends BeanModelMeta,
|
|
98
132
|
AUTOLOAD extends boolean = false,
|
|
99
|
-
COLUMNS extends TypeModelColumn<MODEL[TypeSymbolKeyEntity]> | undefined = TypeModelColumn<
|
|
133
|
+
COLUMNS extends TypeModelColumn<MODEL[TypeSymbolKeyEntity]> | undefined = TypeModelColumn<
|
|
134
|
+
MODEL[TypeSymbolKeyEntity]
|
|
135
|
+
>,
|
|
100
136
|
ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined,
|
|
101
137
|
Aggrs extends TypeModelSelectAggrParamsAggrs<MODEL[TypeSymbolKeyEntity]> | undefined = undefined,
|
|
102
138
|
Groups extends TypeModelColumnsStrict<MODEL[TypeSymbolKeyEntity]> | undefined = undefined,
|
|
103
139
|
>
|
|
104
|
-
extends
|
|
140
|
+
extends
|
|
141
|
+
IModelRelationOptionsMetaWrapper,
|
|
142
|
+
IModelRelationOptionsMany_Raw<MODEL, AUTOLOAD, COLUMNS, ModelJoins, Aggrs, Groups> {}
|
|
105
143
|
|
|
106
144
|
export type IModelRelationOptionsMany_Raw<
|
|
107
145
|
MODEL extends BeanModelMeta,
|
|
108
146
|
AUTOLOAD extends boolean = false,
|
|
109
|
-
COLUMNS extends TypeModelColumn<MODEL[TypeSymbolKeyEntity]> | undefined = TypeModelColumn<
|
|
147
|
+
COLUMNS extends TypeModelColumn<MODEL[TypeSymbolKeyEntity]> | undefined = TypeModelColumn<
|
|
148
|
+
MODEL[TypeSymbolKeyEntity]
|
|
149
|
+
>,
|
|
110
150
|
ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined,
|
|
111
151
|
Aggrs extends TypeModelSelectAggrParamsAggrs<MODEL[TypeSymbolKeyEntity]> | undefined = undefined,
|
|
112
152
|
Groups extends TypeModelColumnsStrict<MODEL[TypeSymbolKeyEntity]> | undefined = undefined,
|
|
@@ -130,7 +170,15 @@ export interface IBuildModelRelationOptionsMany<
|
|
|
130
170
|
Columns extends {} | undefined = undefined,
|
|
131
171
|
Aggrs extends TypeModelSelectAggrParamsAggrs<TRecord> | undefined = undefined,
|
|
132
172
|
Groups extends TypeModelColumnsStrict<TRecord> | undefined = undefined,
|
|
133
|
-
> extends IBuildModelSelectGeneralParamsBasic<
|
|
173
|
+
> extends IBuildModelSelectGeneralParamsBasic<
|
|
174
|
+
TRecord,
|
|
175
|
+
COLUMNS,
|
|
176
|
+
TableNames,
|
|
177
|
+
ColumnNames,
|
|
178
|
+
Columns,
|
|
179
|
+
Aggrs,
|
|
180
|
+
Groups
|
|
181
|
+
> {
|
|
134
182
|
autoload?: AUTOLOAD;
|
|
135
183
|
}
|
|
136
184
|
|
|
@@ -147,6 +195,11 @@ export interface IModelRelationOptionsMetaWrapper {
|
|
|
147
195
|
meta?: IModelRelationOptionsMeta;
|
|
148
196
|
}
|
|
149
197
|
|
|
150
|
-
export type TypeModelRelationOptionsMetaClient =
|
|
198
|
+
export type TypeModelRelationOptionsMetaClient =
|
|
199
|
+
| '_auto_'
|
|
200
|
+
| '_initial_'
|
|
201
|
+
| '_inherit_'
|
|
202
|
+
| keyof IDatabaseClientRecord
|
|
203
|
+
| ServiceDb;
|
|
151
204
|
|
|
152
205
|
export type IRelationItem = [string, any, any, any, boolean];
|
|
@@ -1,10 +1,27 @@
|
|
|
1
1
|
import type { BeanModelMeta } from '../bean/bean.model/bean.model_meta.ts';
|
|
2
|
-
import type {
|
|
2
|
+
import type {
|
|
3
|
+
IModelRelationIncludeWrapper,
|
|
4
|
+
IModelSelectParamsJoin,
|
|
5
|
+
IModelSelectParamsOrder,
|
|
6
|
+
} from './model.ts';
|
|
3
7
|
import type { TypeModelSelectAggrParamsAggrs } from './modelAggr.ts';
|
|
4
|
-
import type {
|
|
8
|
+
import type {
|
|
9
|
+
TypeModelColumn,
|
|
10
|
+
TypeModelColumnsPatch,
|
|
11
|
+
TypeModelColumnsStrict,
|
|
12
|
+
TypeModelWhere,
|
|
13
|
+
} from './modelWhere.ts';
|
|
5
14
|
import type { IModelClassRecord } from './onion/model.ts';
|
|
6
|
-
import type {
|
|
7
|
-
|
|
15
|
+
import type {
|
|
16
|
+
TypeModelClassLike,
|
|
17
|
+
TypeModelOfModelLike,
|
|
18
|
+
TypeModelsClassLikeGeneral,
|
|
19
|
+
TypeSymbolKeyEntity,
|
|
20
|
+
} from './relations.ts';
|
|
21
|
+
import type {
|
|
22
|
+
TypeEntityTableColumnNamesOfGeneral,
|
|
23
|
+
TypeEntityTableColumnsOfGeneral,
|
|
24
|
+
} from './relationsColumns.ts';
|
|
8
25
|
import type { IModelRelationOptionsMetaWrapper } from './relationsDef.ts';
|
|
9
26
|
import type { TypeModelSelectGroupParamsColumnNames } from './relationsGroup.ts';
|
|
10
27
|
import type { TypeEntityTableNamesOfGeneral } from './relationsTables.ts';
|
|
@@ -18,7 +35,8 @@ import type { TypeEntityTableNamesOfGeneral } from './relationsTables.ts';
|
|
|
18
35
|
export interface IModelRelationHasOneDynamic<
|
|
19
36
|
MODEL extends BeanModelMeta | keyof IModelClassRecord,
|
|
20
37
|
KEY extends keyof TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity],
|
|
21
|
-
OPTIONS extends IModelRelationOptionsOneDynamic<TypeModelOfModelLike<MODEL>> | undefined =
|
|
38
|
+
OPTIONS extends IModelRelationOptionsOneDynamic<TypeModelOfModelLike<MODEL>> | undefined =
|
|
39
|
+
undefined,
|
|
22
40
|
> {
|
|
23
41
|
type?: 'hasOne';
|
|
24
42
|
model?: TypeModelClassLike<MODEL>;
|
|
@@ -29,7 +47,8 @@ export interface IModelRelationHasOneDynamic<
|
|
|
29
47
|
export interface IModelRelationBelongsToDynamic<
|
|
30
48
|
MODELSelf extends BeanModelMeta | keyof IModelClassRecord,
|
|
31
49
|
MODEL extends BeanModelMeta | keyof IModelClassRecord,
|
|
32
|
-
OPTIONS extends IModelRelationOptionsOneDynamic<TypeModelOfModelLike<MODEL>> | undefined =
|
|
50
|
+
OPTIONS extends IModelRelationOptionsOneDynamic<TypeModelOfModelLike<MODEL>> | undefined =
|
|
51
|
+
undefined,
|
|
33
52
|
> {
|
|
34
53
|
type?: 'belongsTo';
|
|
35
54
|
model?: TypeModelClassLike<MODEL>;
|
|
@@ -40,7 +59,9 @@ export interface IModelRelationBelongsToDynamic<
|
|
|
40
59
|
export interface IModelRelationHasManyDynamic<
|
|
41
60
|
MODEL extends BeanModelMeta | keyof IModelClassRecord,
|
|
42
61
|
KEY extends keyof TypeModelOfModelLike<MODEL>[TypeSymbolKeyEntity],
|
|
43
|
-
OPTIONS extends
|
|
62
|
+
OPTIONS extends
|
|
63
|
+
| IModelRelationOptionsManyDynamic<TypeModelOfModelLike<MODEL>, ModelJoins, Group>
|
|
64
|
+
| undefined = undefined,
|
|
44
65
|
ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined,
|
|
45
66
|
Group extends boolean | undefined = undefined,
|
|
46
67
|
> {
|
|
@@ -53,7 +74,9 @@ export interface IModelRelationHasManyDynamic<
|
|
|
53
74
|
export interface IModelRelationBelongsToManyDynamic<
|
|
54
75
|
MODELMiddle extends BeanModelMeta | keyof IModelClassRecord,
|
|
55
76
|
MODEL extends BeanModelMeta | keyof IModelClassRecord,
|
|
56
|
-
OPTIONS extends
|
|
77
|
+
OPTIONS extends
|
|
78
|
+
| IModelRelationOptionsManyDynamic<TypeModelOfModelLike<MODEL>, ModelJoins, Group>
|
|
79
|
+
| undefined = undefined,
|
|
57
80
|
ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined,
|
|
58
81
|
Group extends boolean | undefined = undefined,
|
|
59
82
|
> {
|
|
@@ -67,7 +90,10 @@ export interface IModelRelationBelongsToManyDynamic<
|
|
|
67
90
|
|
|
68
91
|
export interface IModelRelationOptionsOneDynamic<MODEL extends BeanModelMeta>
|
|
69
92
|
extends IModelRelationOptionsMetaWrapper, IModelRelationIncludeWrapper<MODEL> {
|
|
70
|
-
columns?: TypeModelColumnsPatch<
|
|
93
|
+
columns?: TypeModelColumnsPatch<
|
|
94
|
+
MODEL[TypeSymbolKeyEntity],
|
|
95
|
+
TypeModelColumn<MODEL[TypeSymbolKeyEntity]>
|
|
96
|
+
>;
|
|
71
97
|
}
|
|
72
98
|
|
|
73
99
|
export interface IModelRelationOptionsManyDynamic<
|
|
@@ -78,12 +104,23 @@ export interface IModelRelationOptionsManyDynamic<
|
|
|
78
104
|
extends
|
|
79
105
|
IModelRelationOptionsMetaWrapper,
|
|
80
106
|
IModelRelationIncludeWrapper<MODEL>,
|
|
81
|
-
Omit<
|
|
107
|
+
Omit<
|
|
108
|
+
IModelRelationOptionsManyDynamic_Raw<
|
|
109
|
+
MODEL,
|
|
110
|
+
false,
|
|
111
|
+
TypeModelColumn<MODEL[TypeSymbolKeyEntity]>,
|
|
112
|
+
ModelJoins,
|
|
113
|
+
Group
|
|
114
|
+
>,
|
|
115
|
+
'autoload'
|
|
116
|
+
> {}
|
|
82
117
|
|
|
83
118
|
export type IModelRelationOptionsManyDynamic_Raw<
|
|
84
119
|
MODEL extends BeanModelMeta,
|
|
85
120
|
AUTOLOAD extends boolean = false,
|
|
86
|
-
COLUMNS extends TypeModelColumn<MODEL[TypeSymbolKeyEntity]> = TypeModelColumn<
|
|
121
|
+
COLUMNS extends TypeModelColumn<MODEL[TypeSymbolKeyEntity]> = TypeModelColumn<
|
|
122
|
+
MODEL[TypeSymbolKeyEntity]
|
|
123
|
+
>,
|
|
87
124
|
ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined,
|
|
88
125
|
Group extends boolean | undefined = undefined,
|
|
89
126
|
> = IBuildModelRelationOptionsManyDynamic<
|
|
@@ -104,7 +141,14 @@ export interface IBuildModelRelationOptionsManyDynamic<
|
|
|
104
141
|
ColumnNames = keyof TRecord,
|
|
105
142
|
Columns extends {} | undefined = undefined,
|
|
106
143
|
Group extends boolean | undefined = undefined,
|
|
107
|
-
> extends IBuildModelSelectGeneralParamsBasicDynamic<
|
|
144
|
+
> extends IBuildModelSelectGeneralParamsBasicDynamic<
|
|
145
|
+
TRecord,
|
|
146
|
+
COLUMNS,
|
|
147
|
+
TableNames,
|
|
148
|
+
ColumnNames,
|
|
149
|
+
Columns,
|
|
150
|
+
Group
|
|
151
|
+
> {
|
|
108
152
|
autoload?: AUTOLOAD;
|
|
109
153
|
}
|
|
110
154
|
|
|
@@ -122,7 +166,9 @@ export interface IBuildModelSelectGeneralParamsBasicDynamic<
|
|
|
122
166
|
groups?: TypeModelColumnsStrict<TRecord>;
|
|
123
167
|
where?: TypeModelWhere<TRecord, Columns>;
|
|
124
168
|
joins?: IModelSelectParamsJoin<TRecord, TableNames, ColumnNames>[];
|
|
125
|
-
orders?: Group extends true
|
|
169
|
+
orders?: Group extends true
|
|
170
|
+
? IModelSelectParamsOrder<TypeModelSelectGroupParamsColumnNames<TRecord>>[]
|
|
171
|
+
: IModelSelectParamsOrder<ColumnNames>[];
|
|
126
172
|
limit?: number;
|
|
127
173
|
offset?: number;
|
|
128
174
|
}
|
|
@@ -8,4 +8,6 @@ export interface IModelRelationOptionsOneMutate<MODEL extends BeanModelMeta>
|
|
|
8
8
|
export interface IModelRelationOptionsManyMutate<MODEL extends BeanModelMeta>
|
|
9
9
|
extends IModelRelationOptionsMetaWrapper, IModelRelationIncludeWrapper<MODEL> {}
|
|
10
10
|
|
|
11
|
-
export interface IModelRelationOptionsBelongsToManyMutate<
|
|
11
|
+
export interface IModelRelationOptionsBelongsToManyMutate<
|
|
12
|
+
_MODEL extends BeanModelMeta,
|
|
13
|
+
> extends IModelRelationOptionsMetaWrapper {}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import type { TypeModelSelectAggrParamsAggrs } from './modelAggr.ts';
|
|
2
2
|
import type { TypeModelColumnsStrict } from './modelWhere.ts';
|
|
3
|
-
import type {
|
|
3
|
+
import type {
|
|
4
|
+
TypeUtilGetParamsAggrs,
|
|
5
|
+
TypeUtilGetParamsColumns,
|
|
6
|
+
TypeUtilGetParamsGroups,
|
|
7
|
+
TypeUtilGetRelationOptionsGroups,
|
|
8
|
+
} from './relations.ts';
|
|
4
9
|
import type {
|
|
5
10
|
TypeModelAggrRelationResultAggr,
|
|
6
11
|
TypeModelAggrRelationResultAggrs,
|
|
@@ -16,18 +21,24 @@ export type TypeModelGroupRelationResult<TRecord, TOptions> = TypeModelGroupRela
|
|
|
16
21
|
TypeUtilGetParamsColumns<TOptions>
|
|
17
22
|
>;
|
|
18
23
|
|
|
19
|
-
export type TypeModelGroupRelationResultGroups<TRecord, Aggrs, Groups, Columns> = Groups extends
|
|
24
|
+
export type TypeModelGroupRelationResultGroups<TRecord, Aggrs, Groups, Columns> = Groups extends
|
|
25
|
+
| string
|
|
26
|
+
| string[]
|
|
20
27
|
? TypeModelGroupRelationResultGroupsObject<TRecord, Groups, Columns> &
|
|
21
28
|
(Aggrs extends {}
|
|
22
29
|
? TypeRecordAggrsValuesToObject<
|
|
23
30
|
TypeRecordAggrsValues<{
|
|
24
|
-
[K in keyof Aggrs]: K extends string
|
|
31
|
+
[K in keyof Aggrs]: K extends string
|
|
32
|
+
? TypeModelAggrRelationResultAggr<K, TypeUtilAggrPrepareColumns<Aggrs[K]>>
|
|
33
|
+
: never;
|
|
25
34
|
}>
|
|
26
35
|
>
|
|
27
36
|
: {})
|
|
28
37
|
: {}; // not use undefined
|
|
29
38
|
|
|
30
|
-
export type TypeModelGroupRelationResultGroupsObject<TRecord, Groups, Columns> = Columns extends
|
|
39
|
+
export type TypeModelGroupRelationResultGroupsObject<TRecord, Groups, Columns> = Columns extends
|
|
40
|
+
| string
|
|
41
|
+
| string[]
|
|
31
42
|
? { [K in TypeUtilAggrPrepareColumns<Columns>]: K extends keyof TRecord ? TRecord[K] : never }
|
|
32
43
|
: Groups extends string | string[]
|
|
33
44
|
? { [K in TypeUtilAggrPrepareColumns<Groups>]: K extends keyof TRecord ? TRecord[K] : never }
|
|
@@ -36,23 +47,34 @@ export type TypeModelGroupRelationResultGroupsObject<TRecord, Groups, Columns> =
|
|
|
36
47
|
export type TypeModelSelectGroupParamsColumnNames<
|
|
37
48
|
TRecord,
|
|
38
49
|
ColumnNames extends TypeModelColumnsStrict<TRecord> | undefined = TypeModelColumnsStrict<TRecord>,
|
|
39
|
-
Aggrs extends TypeModelSelectAggrParamsAggrs<TRecord> | undefined =
|
|
50
|
+
Aggrs extends TypeModelSelectAggrParamsAggrs<TRecord> | undefined =
|
|
51
|
+
TypeModelSelectAggrParamsAggrs<TRecord>,
|
|
40
52
|
> =
|
|
41
|
-
| (ColumnNames extends TypeModelColumnsStrict<TRecord>
|
|
42
|
-
|
|
53
|
+
| (ColumnNames extends TypeModelColumnsStrict<TRecord>
|
|
54
|
+
? TypeUtilAggrPrepareColumns<ColumnNames>
|
|
55
|
+
: never)
|
|
56
|
+
| (Aggrs extends TypeModelSelectAggrParamsAggrs<TRecord>
|
|
57
|
+
? keyof TypeModelAggrRelationResultAggrs<Aggrs>
|
|
58
|
+
: never);
|
|
43
59
|
|
|
44
60
|
export type TypeModelSelectGroupParamsColumns<
|
|
45
61
|
TRecord,
|
|
46
62
|
ColumnNames extends TypeModelColumnsStrict<TRecord> | undefined = TypeModelColumnsStrict<TRecord>,
|
|
47
|
-
Aggrs extends TypeModelSelectAggrParamsAggrs<TRecord> | undefined =
|
|
63
|
+
Aggrs extends TypeModelSelectAggrParamsAggrs<TRecord> | undefined =
|
|
64
|
+
TypeModelSelectAggrParamsAggrs<TRecord>,
|
|
48
65
|
> = (TypeUtilAggrPrepareColumns<ColumnNames> extends string
|
|
49
66
|
? { [K in TypeUtilAggrPrepareColumns<ColumnNames>]: K extends keyof TRecord ? TRecord[K] : never }
|
|
50
67
|
: {}) &
|
|
51
68
|
TypeModelAggrRelationResultAggrsToNumberType<TypeModelAggrRelationResultAggrs<Aggrs>>;
|
|
52
69
|
|
|
53
|
-
export type TypeModelAggrRelationResultAggrsToNumberType<Columns> = {
|
|
70
|
+
export type TypeModelAggrRelationResultAggrsToNumberType<Columns> = {
|
|
71
|
+
[K in keyof Columns]: string;
|
|
72
|
+
}; // not use BigNumber or number | string
|
|
54
73
|
|
|
55
|
-
export type TypeUtilGetGroupsFromRelationAndIncludeWrapper<
|
|
74
|
+
export type TypeUtilGetGroupsFromRelationAndIncludeWrapper<
|
|
75
|
+
Relation,
|
|
76
|
+
IncludeWrapper extends {} | undefined | unknown,
|
|
77
|
+
> =
|
|
56
78
|
TypeUtilGetParamsGroups<IncludeWrapper> extends string | string[]
|
|
57
79
|
? TypeUtilGetParamsGroups<IncludeWrapper>
|
|
58
80
|
: TypeUtilGetRelationOptionsGroups<Relation>;
|
|
@@ -15,16 +15,18 @@ import type {
|
|
|
15
15
|
} from './relations.ts';
|
|
16
16
|
import type { IModelRelationOptionsMetaWrapper } from './relationsDef.ts';
|
|
17
17
|
|
|
18
|
-
export type TypeModelMutateParamsInclude<MODEL extends BeanModelMeta | undefined> =
|
|
19
|
-
TypeUtilGetModelOptions<MODEL
|
|
20
|
-
>;
|
|
18
|
+
export type TypeModelMutateParamsInclude<MODEL extends BeanModelMeta | undefined> =
|
|
19
|
+
TypeModelMutateParamsIncludeByModelOptions<TypeUtilGetModelOptions<MODEL>>;
|
|
21
20
|
|
|
22
|
-
export type TypeModelMutateParamsIncludeByModelOptions<
|
|
23
|
-
ModelOptions extends IDecoratorModelOptions
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
export type TypeModelMutateParamsIncludeByModelOptions<
|
|
22
|
+
ModelOptions extends IDecoratorModelOptions | undefined,
|
|
23
|
+
> = ModelOptions extends IDecoratorModelOptions
|
|
24
|
+
? {
|
|
25
|
+
[relationName in keyof ModelOptions['relations']]?: TypeModelMutateParamsRelationOptions<
|
|
26
|
+
ModelOptions['relations'][relationName]
|
|
27
|
+
>;
|
|
28
|
+
}
|
|
29
|
+
: never;
|
|
28
30
|
|
|
29
31
|
export type TypeModelMutateParamsRelationOptions<Relation> =
|
|
30
32
|
| boolean
|
|
@@ -40,13 +42,28 @@ export type TypeModelMutateRelationResultMergeInclude<
|
|
|
40
42
|
> = {
|
|
41
43
|
[RelationName in keyof TModelOptions['relations']]: TInclude extends {} // not use ?: for OmitNever take effect
|
|
42
44
|
? TInclude[RelationName] extends {} | boolean
|
|
43
|
-
? TypeModelMutateRelationResultMergeIncludeWrapper<
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
? TypeModelMutateRelationResultMergeIncludeWrapper<
|
|
46
|
+
TModelOptions['relations'][RelationName],
|
|
47
|
+
TInclude[RelationName],
|
|
48
|
+
TForInsertResult
|
|
49
|
+
>
|
|
50
|
+
: TypeModelMutateRelationResultMergeAutoload<
|
|
51
|
+
TModelOptions['relations'][RelationName],
|
|
52
|
+
TForInsertResult
|
|
53
|
+
>
|
|
54
|
+
: TypeModelMutateRelationResultMergeAutoload<
|
|
55
|
+
TModelOptions['relations'][RelationName],
|
|
56
|
+
TForInsertResult
|
|
57
|
+
>;
|
|
46
58
|
};
|
|
47
59
|
|
|
48
|
-
export type TypeModelMutateRelationResultMergeAutoload<
|
|
49
|
-
|
|
60
|
+
export type TypeModelMutateRelationResultMergeAutoload<
|
|
61
|
+
Relation,
|
|
62
|
+
TForInsertResult extends boolean | undefined = undefined,
|
|
63
|
+
> =
|
|
64
|
+
TypeUtilGetRelationOptionsAutoload<Relation> extends true
|
|
65
|
+
? TypeUtilMutateGetRelationEntityByType<Relation, undefined, TForInsertResult>
|
|
66
|
+
: never;
|
|
50
67
|
|
|
51
68
|
export type TypeModelMutateRelationResultMergeIncludeWrapper<
|
|
52
69
|
Relation,
|
|
@@ -83,13 +100,22 @@ export type TypeUtilMutateGetEntityByType<
|
|
|
83
100
|
: TYPE extends 'belongsToMany'
|
|
84
101
|
? Array<{ id: TableIdentity; deleted?: boolean }> | undefined
|
|
85
102
|
: TYPE extends 'hasMany'
|
|
86
|
-
?
|
|
103
|
+
?
|
|
104
|
+
| Array<TypeModelMutateRelationData<TRecord, TModel, IncludeWrapper, TForInsertResult>>
|
|
105
|
+
| undefined
|
|
87
106
|
: TypeModelMutateRelationData<TRecord, TModel, IncludeWrapper, TForInsertResult> | undefined;
|
|
88
107
|
|
|
89
108
|
export type TypeModelMutateRelationResultMergeWith<
|
|
90
109
|
TWith extends {} | undefined | unknown,
|
|
91
110
|
TForInsertResult extends boolean | undefined = undefined,
|
|
92
|
-
> = TWith extends {}
|
|
111
|
+
> = TWith extends {}
|
|
112
|
+
? {
|
|
113
|
+
[RelationName in keyof TWith]: TypeModelMutateRelationResultMergeWithRelation<
|
|
114
|
+
TWith[RelationName],
|
|
115
|
+
TForInsertResult
|
|
116
|
+
>;
|
|
117
|
+
}
|
|
118
|
+
: {};
|
|
93
119
|
|
|
94
120
|
export type TypeModelMutateRelationResultMergeWithRelation<
|
|
95
121
|
WithRelation,
|
|
@@ -99,7 +125,11 @@ export type TypeModelMutateRelationResultMergeWithRelation<
|
|
|
99
125
|
: WithRelation extends true
|
|
100
126
|
? never
|
|
101
127
|
: WithRelation extends {}
|
|
102
|
-
? TypeUtilMutateGetRelationEntityByType<
|
|
128
|
+
? TypeUtilMutateGetRelationEntityByType<
|
|
129
|
+
WithRelation,
|
|
130
|
+
TypeUtilGetRelationOptions<WithRelation>,
|
|
131
|
+
TForInsertResult
|
|
132
|
+
>
|
|
103
133
|
: never;
|
|
104
134
|
|
|
105
135
|
export type TypeModelMutateRelationData<
|
|
@@ -111,8 +141,19 @@ export type TypeModelMutateRelationData<
|
|
|
111
141
|
(TModel extends BeanModelMeta
|
|
112
142
|
? Partial<
|
|
113
143
|
OmitNever<
|
|
114
|
-
TypeModelMutateRelationResultMergeInclude<
|
|
144
|
+
TypeModelMutateRelationResultMergeInclude<
|
|
145
|
+
TypeUtilGetModelOptions<TModel>,
|
|
146
|
+
TypeUtilGetParamsInlcude<TOptionsRelation>,
|
|
147
|
+
TForInsertResult
|
|
148
|
+
>
|
|
115
149
|
>
|
|
116
150
|
> &
|
|
117
|
-
Partial<
|
|
151
|
+
Partial<
|
|
152
|
+
OmitNever<
|
|
153
|
+
TypeModelMutateRelationResultMergeWith<
|
|
154
|
+
TypeUtilGetParamsWith<TOptionsRelation>,
|
|
155
|
+
TForInsertResult
|
|
156
|
+
>
|
|
157
|
+
>
|
|
158
|
+
>
|
|
118
159
|
: {});
|
|
@@ -10,23 +10,25 @@ import type {
|
|
|
10
10
|
TypeUtilGetRelationEntityMeta,
|
|
11
11
|
} from './relations.ts';
|
|
12
12
|
|
|
13
|
-
export type TypeEntityTableNames<EntityMeta extends { $table: string } | undefined> =
|
|
14
|
-
? TableName
|
|
15
|
-
: never;
|
|
13
|
+
export type TypeEntityTableNames<EntityMeta extends { $table: string } | undefined> =
|
|
14
|
+
EntityMeta extends { $table: infer TableName } ? TableName : never;
|
|
16
15
|
|
|
17
|
-
export type TypeEntityTableNamesOfModelOptions<TModelOptions extends IDecoratorModelOptions> =
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
export type TypeEntityTableNamesOfModelOptions<TModelOptions extends IDecoratorModelOptions> =
|
|
17
|
+
TModelOptions['relations'] extends {}
|
|
18
|
+
? TypeRecordValues<{
|
|
19
|
+
[RelationName in keyof TModelOptions['relations']]: TypeEntityTableNames<
|
|
20
|
+
TypeUtilGetRelationEntityMeta<TModelOptions['relations'][RelationName]>
|
|
21
|
+
>;
|
|
22
|
+
}>
|
|
23
|
+
: never;
|
|
24
24
|
|
|
25
|
-
export type TypeEntityTableNamesOfModelJoins<TModelJoins extends TypeModelsClassLikeGeneral> =
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
export type TypeEntityTableNamesOfModelJoins<TModelJoins extends TypeModelsClassLikeGeneral> =
|
|
26
|
+
TypeEntityTableNames<
|
|
27
|
+
TypeModelOfModelLike<TypeConfirmArray<TModelJoins>[number]>[TypeSymbolKeyEntityMeta]
|
|
28
|
+
>;
|
|
28
29
|
|
|
29
|
-
export type TypeEntityTableNamesOfModelClass<TModel extends BeanModelMeta> =
|
|
30
|
+
export type TypeEntityTableNamesOfModelClass<TModel extends BeanModelMeta> =
|
|
31
|
+
TypeEntityTableNamesOfModelOptions<TypeUtilGetModelOptions<TModel>>;
|
|
30
32
|
|
|
31
33
|
export type TypeEntityTableNamesOfGeneral<
|
|
32
34
|
TModelJoins extends TypeModelsClassLikeGeneral | undefined,
|
package/src/types/transaction.ts
CHANGED
|
@@ -7,9 +7,21 @@ export const TransactionIsolationLevelsMap = {
|
|
|
7
7
|
SNAPSHOT: 'snapshot',
|
|
8
8
|
};
|
|
9
9
|
|
|
10
|
-
export type TypeTransactionIsolationLevels =
|
|
10
|
+
export type TypeTransactionIsolationLevels =
|
|
11
|
+
| 'DEFAULT'
|
|
12
|
+
| 'READ_UNCOMMITTED'
|
|
13
|
+
| 'READ_COMMITTED'
|
|
14
|
+
| 'REPEATABLE_READ'
|
|
15
|
+
| 'SERIALIZABLE'
|
|
16
|
+
| 'SNAPSHOT';
|
|
11
17
|
|
|
12
|
-
export type TypeTransactionPropagation =
|
|
18
|
+
export type TypeTransactionPropagation =
|
|
19
|
+
| 'REQUIRED'
|
|
20
|
+
| 'SUPPORTS'
|
|
21
|
+
| 'MANDATORY'
|
|
22
|
+
| 'REQUIRES_NEW'
|
|
23
|
+
| 'NOT_SUPPORTED'
|
|
24
|
+
| 'NEVER';
|
|
13
25
|
|
|
14
26
|
// export type TransactionPropagation=''
|
|
15
27
|
export interface ITransactionOptions {
|