vona-module-a-orm 5.1.28 → 5.1.30
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/.metadata/index.d.ts.map +1 -1
- package/dist/index.js +61 -22
- package/dist/index.js.map +1 -1
- package/dist/lib/bean.model/bean.model_view.d.ts.map +1 -1
- package/dist/lib/dto/dtoCreate.d.ts.map +1 -1
- package/dist/lib/dto/dtoUpdate.d.ts.map +1 -1
- package/dist/service/columns_.d.ts.map +1 -1
- package/dist/service/databaseDialectBase_.d.ts +3 -0
- package/dist/service/databaseDialectBase_.d.ts.map +1 -1
- package/dist/service/transactionFiber_.d.ts +2 -0
- package/dist/service/transactionFiber_.d.ts.map +1 -1
- package/dist/service/transaction_.d.ts.map +1 -1
- package/dist/types/columns.d.ts +1 -0
- package/dist/types/columns.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/.metadata/index.ts +34 -39
- package/src/lib/bean.model/bean.model_view.ts +10 -6
- package/src/lib/dto/dtoCreate.ts +5 -1
- package/src/lib/dto/dtoUpdate.ts +5 -1
- package/src/service/columns_.ts +1 -2
- package/src/service/databaseDialectBase_.ts +37 -1
- package/src/service/transactionFiber_.ts +8 -2
- package/src/service/transaction_.ts +5 -8
- package/src/types/columns.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/.metadata/index.ts"],"names":[],"mappings":"AACA,uBAAuB;AACvB,cAAc,kCAAkC,CAAC;AACjD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,sBAAsB,CAAC;AAC9B,OAAO,QAAQ,sBAAsB,CAAC;IAElC,UAAiB,gBAAgB;QAC/B,mBAAmB,EAAE,4BAA4B,CAAC;KACnD;CAGJ;AACD,OAAO,QAAQ,mBAAmB,CAAC;IAE3B,UAAiB,oBAAoB;KAGpC;IAEC,UAAiB,oBAAoB;QACnC,IAAI,aAAa,IAAI,6BAA6B,CAAC;QACnD,IAAI,UAAU,IAAI,mBAAmB,CAAC;QACtC,IAAI,aAAa,IAAI,4BAA4B,CAAC;KACnD;CACV;AACD,qBAAqB;AACrB,kBAAkB;AAClB,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;CAGrB;AACD,OAAO,QAAQ,mBAAmB,CAAC;IAE3B,UAAiB,YAAY;KAG5B;CACR;AACD,gBAAgB;AAChB,kBAAkB;AAClB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,iBAAiB;QAChC,UAAU,EAAE,YAAY,CAAC;QACzB,OAAO,EAAE,SAAS,CAAC;KACpB;CACF;AACD,gBAAgB;AAChB,qBAAqB;AACrB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0CAA0C,CAAC;AACzD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6CAA6C,CAAC;AAC5D,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAE3C,OAAO,oBAAoB,CAAC;AAC5B,OAAO,QAAQ,oBAAoB,CAAC;IAEhC,UAAiB,cAAc;QAC7B,gBAAgB,EAAE,KAAK,CAAC;KACzB;CAGJ;AACD,OAAO,QAAQ,mBAAmB,CAAC;IAE3B,UAAiB,eAAe;KAG/B;IAEC,UAAiB,eAAe;QAC9B,IAAI,aAAa,IAAI,wBAAwB,CAAC;QAC9C,IAAI,UAAU,IAAI,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/.metadata/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -9,7 +9,7 @@ import knex from 'knex';
|
|
|
9
9
|
import { BeanMutateBase } from 'vona-module-a-beanmutate';
|
|
10
10
|
import { swapDeps } from '@cabloy/deps';
|
|
11
11
|
import { $tableNameFromEntity, $tableDefaults, $columnsAll } from 'vona-module-a-ormutils';
|
|
12
|
-
import { prepareClassType, Api, v, schemaRenderVisible, getSchemaDynamic, SymbolSchemaDynamicRefId, addSchemaDynamic, getTargetDecoratorRuleColumns, mergeDtoFieldsOpenapiMetadata } from 'vona-module-a-openapiutils';
|
|
12
|
+
import { prepareClassType, Api, v, schemaRenderVisible, getSchemaDynamic, SymbolSchemaDynamicRefId, addSchemaDynamic, getTargetDecoratorRuleColumns, mergeTargetDecoratorDtoOpenapi, mergeDtoFieldsOpenapiMetadata } from 'vona-module-a-openapiutils';
|
|
13
13
|
import z from 'zod';
|
|
14
14
|
import { Broadcast, BeanBroadcastBase } from 'vona-module-a-broadcast';
|
|
15
15
|
import { Event, BeanEventBase } from 'vona-module-a-event';
|
|
@@ -142,8 +142,7 @@ let ServiceColumns = class ServiceColumns extends BeanBase {
|
|
|
142
142
|
let columns = this.serviceColumnsCache.getColumnsCache(tableName);
|
|
143
143
|
if (!columns) {
|
|
144
144
|
const dialect = this.db.dialect;
|
|
145
|
-
const
|
|
146
|
-
const map = await connection(tableName).columnInfo();
|
|
145
|
+
const map = await dialect.fetchColumns(this.db.connection, tableName);
|
|
147
146
|
columns = {};
|
|
148
147
|
for (const name in map) {
|
|
149
148
|
columns[name] = dialect.coerceColumn(map[name]);
|
|
@@ -361,14 +360,18 @@ let ServiceTransactionFiber = class ServiceTransactionFiber extends BeanBase {
|
|
|
361
360
|
}
|
|
362
361
|
async doCommit() {
|
|
363
362
|
await this._connection.commit();
|
|
364
|
-
await this._transactionConsistency.commitsDone();
|
|
365
363
|
this._connection = undefined;
|
|
366
364
|
}
|
|
367
365
|
async doRollback() {
|
|
368
366
|
await this._connection.rollback();
|
|
369
|
-
await this._transactionConsistency.compensatesDone();
|
|
370
367
|
this._connection = undefined;
|
|
371
368
|
}
|
|
369
|
+
async commitsDone() {
|
|
370
|
+
await this._transactionConsistency.commitsDone();
|
|
371
|
+
}
|
|
372
|
+
async compensatesDone() {
|
|
373
|
+
await this._transactionConsistency.compensatesDone();
|
|
374
|
+
}
|
|
372
375
|
};
|
|
373
376
|
ServiceTransactionFiber = __decorate([Service(), BeanInfo({
|
|
374
377
|
module: "a-orm"
|
|
@@ -529,20 +532,17 @@ let ServiceTransaction = class ServiceTransaction extends BeanBase {
|
|
|
529
532
|
if (fiber) {
|
|
530
533
|
await fiber.doRollback();
|
|
531
534
|
this.transactionState.remove(this._db);
|
|
535
|
+
await fiber.compensatesDone();
|
|
532
536
|
}
|
|
533
537
|
throw err;
|
|
534
538
|
}
|
|
535
|
-
|
|
536
|
-
|
|
539
|
+
if (fiber) {
|
|
540
|
+
try {
|
|
537
541
|
await fiber.doCommit();
|
|
542
|
+
} finally {
|
|
538
543
|
this.transactionState.remove(this._db);
|
|
539
544
|
}
|
|
540
|
-
|
|
541
|
-
if (fiber) {
|
|
542
|
-
await fiber.doRollback();
|
|
543
|
-
this.transactionState.remove(this._db);
|
|
544
|
-
}
|
|
545
|
-
throw err;
|
|
545
|
+
await fiber.commitsDone();
|
|
546
546
|
}
|
|
547
547
|
return res;
|
|
548
548
|
}
|
|
@@ -1621,22 +1621,26 @@ class BeanModelView extends BeanModelKnex {
|
|
|
1621
1621
|
}
|
|
1622
1622
|
async createTable(tableName, callback) {
|
|
1623
1623
|
await this.schema.createTable(tableName, callback);
|
|
1624
|
+
this.db.columns.columnsClear(tableName);
|
|
1624
1625
|
}
|
|
1625
1626
|
async dropTable(tableName) {
|
|
1626
1627
|
await this.schema.dropTable(tableName);
|
|
1628
|
+
this.db.columns.columnsClear(tableName);
|
|
1627
1629
|
}
|
|
1628
1630
|
async alterTable(tableName, callback, alterViewAuto) {
|
|
1629
1631
|
if (!alterViewAuto) {
|
|
1630
1632
|
// alter table
|
|
1631
|
-
return await this.schema.alterTable(tableName, table => {
|
|
1632
|
-
return callback(table);
|
|
1633
|
-
});
|
|
1634
|
-
}
|
|
1635
|
-
await this._viewDependentsAll_handle(tableName, async () => {
|
|
1636
1633
|
await this.schema.alterTable(tableName, table => {
|
|
1637
1634
|
return callback(table);
|
|
1638
1635
|
});
|
|
1639
|
-
}
|
|
1636
|
+
} else {
|
|
1637
|
+
await this._viewDependentsAll_handle(tableName, async () => {
|
|
1638
|
+
await this.schema.alterTable(tableName, table => {
|
|
1639
|
+
return callback(table);
|
|
1640
|
+
});
|
|
1641
|
+
});
|
|
1642
|
+
}
|
|
1643
|
+
this.db.columns.columnsClear(tableName);
|
|
1640
1644
|
}
|
|
1641
1645
|
async viewDependents(viewName) {
|
|
1642
1646
|
// builder
|
|
@@ -2187,6 +2191,9 @@ let ServiceDatabaseDialectBase = class ServiceDatabaseDialectBase extends BeanBa
|
|
|
2187
2191
|
async select(_builder, datas, _fn) {
|
|
2188
2192
|
return datas;
|
|
2189
2193
|
}
|
|
2194
|
+
async fetchColumns(connection, tableName) {
|
|
2195
|
+
return await connection(tableName).columnInfo();
|
|
2196
|
+
}
|
|
2190
2197
|
query(_result) {
|
|
2191
2198
|
throw new Error('Not Implemented');
|
|
2192
2199
|
}
|
|
@@ -2198,8 +2205,26 @@ let ServiceDatabaseDialectBase = class ServiceDatabaseDialectBase extends BeanBa
|
|
|
2198
2205
|
type: column.type
|
|
2199
2206
|
};
|
|
2200
2207
|
result.default = this._coerceColumnValue(column.type, column.defaultValue);
|
|
2208
|
+
const columnType = column.columnType;
|
|
2209
|
+
if (columnType) result.columnType = columnType;
|
|
2201
2210
|
return result;
|
|
2202
2211
|
}
|
|
2212
|
+
_isMysqlBooleanColumn(column) {
|
|
2213
|
+
return column.columnType?.trim().toLowerCase() === 'tinyint(1)';
|
|
2214
|
+
}
|
|
2215
|
+
async selectAsMysql(_builder, datas, fn) {
|
|
2216
|
+
const columns = await fn();
|
|
2217
|
+
for (const data of datas) {
|
|
2218
|
+
for (const columnName in columns) {
|
|
2219
|
+
const column = columns[columnName];
|
|
2220
|
+
if (Object.prototype.hasOwnProperty.call(data, columnName) && this._isMysqlBooleanColumn(column)) {
|
|
2221
|
+
const value = data[columnName];
|
|
2222
|
+
if (!isNil(value)) data[columnName] = safeBoolean(value);
|
|
2223
|
+
}
|
|
2224
|
+
}
|
|
2225
|
+
}
|
|
2226
|
+
return datas;
|
|
2227
|
+
}
|
|
2203
2228
|
async selectAsSqlite3(_builder, datas, fn) {
|
|
2204
2229
|
const columns = await fn();
|
|
2205
2230
|
// data
|
|
@@ -2208,7 +2233,9 @@ let ServiceDatabaseDialectBase = class ServiceDatabaseDialectBase extends BeanBa
|
|
|
2208
2233
|
const column = columns[columnName];
|
|
2209
2234
|
if (Object.prototype.hasOwnProperty.call(data, columnName)) {
|
|
2210
2235
|
const value = data[columnName];
|
|
2211
|
-
if (column.type
|
|
2236
|
+
if (BOOLEAN_COLUMN_TYPES.includes(column.type) && !isNil(value)) {
|
|
2237
|
+
data[columnName] = safeBoolean(value);
|
|
2238
|
+
} else if (column.type === 'json' && !isNil(value) && typeof value === 'string') {
|
|
2212
2239
|
data[columnName] = JSON.parse(value);
|
|
2213
2240
|
} else if (column.type === 'datetime' && !isNil(value)) {
|
|
2214
2241
|
data[columnName] = new Date(value);
|
|
@@ -3455,7 +3482,13 @@ function _DtoMutate_raw(modelLike, params, mutateTypeTopLevel, columnsOmitDefaul
|
|
|
3455
3482
|
}
|
|
3456
3483
|
|
|
3457
3484
|
function DtoCreate(modelLike, params) {
|
|
3458
|
-
|
|
3485
|
+
const dtoClass = _DtoMutate_raw(modelLike, params, 'create', ['id', 'iid', 'deleted', 'createdAt', 'updatedAt'], true, undefined);
|
|
3486
|
+
mergeTargetDecoratorDtoOpenapi({
|
|
3487
|
+
rest: {
|
|
3488
|
+
schemaScene: 'form-create'
|
|
3489
|
+
}
|
|
3490
|
+
}, dtoClass.prototype);
|
|
3491
|
+
return dtoClass;
|
|
3459
3492
|
}
|
|
3460
3493
|
|
|
3461
3494
|
function DtoListAndCount(classRef) {
|
|
@@ -3482,7 +3515,13 @@ function DtoSelectAndCount(modelLike, params) {
|
|
|
3482
3515
|
}
|
|
3483
3516
|
|
|
3484
3517
|
function DtoUpdate(modelLike, params) {
|
|
3485
|
-
|
|
3518
|
+
const dtoClass = _DtoMutate_raw(modelLike, params, 'update', ['id', 'iid', 'deleted', 'createdAt', 'updatedAt'], true, undefined);
|
|
3519
|
+
mergeTargetDecoratorDtoOpenapi({
|
|
3520
|
+
rest: {
|
|
3521
|
+
schemaScene: 'form'
|
|
3522
|
+
}
|
|
3523
|
+
}, dtoClass.prototype);
|
|
3524
|
+
return dtoClass;
|
|
3486
3525
|
}
|
|
3487
3526
|
// not use Partial/$Class.partial, for form render at frontend
|
|
3488
3527
|
|