@anncic-api/typeorm 3.7.17 → 3.7.19
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/configuration.js +64 -1
- package/dist/decorator/InjectEntity.js +9 -1
- package/dist/decorator/InjectRepository.js +9 -1
- package/dist/decorator/ProvideEntity.js +27 -1
- package/dist/decorator/ProvideObserve.js +17 -1
- package/dist/decorator/ProvideRepository.js +12 -1
- package/dist/decorator/ProvideSearch.js +25 -1
- package/dist/decorator/ProvideSharding.js +14 -1
- package/dist/decorator/VirtualColumn.js +13 -1
- package/dist/definition/Repository.js +217 -1
- package/dist/helper/getDataSourceEntity.js +17 -1
- package/dist/helper/getProvideObserve.js +9 -1
- package/dist/helper/preCreateShardingTables.js +1 -1
- package/dist/helper/sleep.js +7 -1
- package/dist/index.js +51 -1
- package/dist/interface.js +326 -1
- package/dist/interfaceSharding.js +239 -1
- package/package.json +2 -2
|
@@ -1 +1,239 @@
|
|
|
1
|
-
const a16_0x45610b=a16_0x5015;function a16_0x1c28(){const _0x287709=['target','find','message','getPrototypeOf','baseTableName','ShardingStrategy','\x22\x20after\x203\x20retries:\x20','metadata','[Sharding]\x20Failed\x20to\x20create\x20table\x20\x22','1bafnFi','preCreateTables','assign','\x22\x20was\x20not\x20created','5YOnfXf','getCurrentApplicationContext','checkTableExists','2135758LBdWED','create','getRawAndEntities','getClassMetadata','@midwayjs/core','search','tableName','QueryBuilder','release','warn','getUpdateTableName','createQueryRunner','clearTableExistsCache','apply','1688184KPQAaE','464eFdIXn','call','size','createTables','(((.+)+)+)+$','manager','getSelectTableName','get','./interface','tablePath','ensureTableExists','parameters','connection','getPreCreateTableNames','set','getTableName','constructor','createTableFromMetadata','UpdateQueryBuilder','defineProperty','SelectQueryBuilder','expressionMap','113292hQtCnN','typeorm','delete','2485593cZYpRS','DeleteQueryBuilder','1876310zqhjsj','has','aliases','entityMetadata','getInsertTableName','[Sharding]\x20Custom\x20createTables\x20failed,\x20fallback\x20to\x20default:','nativeParameters','InsertQueryBuilder','clear','22484495rnIFPa','Table','execute','prototype','45GXNNnf','toString','72583zPHEae','ENTIFY_SHARDING_KEY','strategy','getDeleteTableName','dataSource'];a16_0x1c28=function(){return _0x287709;};return a16_0x1c28();}(function(_0x2ce63f,_0x819bc7){const _0x1d98c3=a16_0x5015,_0x26e297=_0x2ce63f();while(!![]){try{const _0x3c8f8c=parseInt(_0x1d98c3(0x1f1))/0x1*(parseInt(_0x1d98c3(0x1f8))/0x2)+parseInt(_0x1d98c3(0x220))/0x3+parseInt(_0x1d98c3(0x206))/0x4+parseInt(_0x1d98c3(0x1f5))/0x5*(parseInt(_0x1d98c3(0x21d))/0x6)+parseInt(_0x1d98c3(0x231))/0x7*(-parseInt(_0x1d98c3(0x207))/0x8)+-parseInt(_0x1d98c3(0x22f))/0x9*(-parseInt(_0x1d98c3(0x222))/0xa)+-parseInt(_0x1d98c3(0x22b))/0xb;if(_0x3c8f8c===_0x819bc7)break;else _0x26e297['push'](_0x26e297['shift']());}catch(_0x2ff46e){_0x26e297['push'](_0x26e297['shift']());}}}(a16_0x1c28,0x99d1e));function a16_0x5015(_0x437cd8,_0xe99775){const _0x4ad100=a16_0x1c28();return a16_0x5015=function(_0x2340b7,_0x1c7675){_0x2340b7=_0x2340b7-0x1e7;let _0x1c28c2=_0x4ad100[_0x2340b7];return _0x1c28c2;},a16_0x5015(_0x437cd8,_0xe99775);}const a16_0x1c7675=(function(){let _0x3e9481=!![];return function(_0x591332,_0x1f0d1d){const _0x13e4f6=_0x3e9481?function(){const _0xd3a607=a16_0x5015;if(_0x1f0d1d){const _0x34ea63=_0x1f0d1d[_0xd3a607(0x205)](_0x591332,arguments);return _0x1f0d1d=null,_0x34ea63;}}:function(){};return _0x3e9481=![],_0x13e4f6;};}()),a16_0x2340b7=a16_0x1c7675(this,function(){const _0x2e1adc=a16_0x5015;return a16_0x2340b7[_0x2e1adc(0x230)]()[_0x2e1adc(0x1fd)](_0x2e1adc(0x20b))[_0x2e1adc(0x230)]()[_0x2e1adc(0x217)](a16_0x2340b7)[_0x2e1adc(0x1fd)](_0x2e1adc(0x20b));});a16_0x2340b7();'use strict';Object[a16_0x45610b(0x21a)](exports,'__esModule',{'value':!![]}),exports[a16_0x45610b(0x1ed)]=void 0x0,exports[a16_0x45610b(0x204)]=clearTableExistsCache;const core_1=require(a16_0x45610b(0x1fc)),typeorm_1=require(a16_0x45610b(0x21e)),interface_1=require(a16_0x45610b(0x20f)),tableExistsCache=new Map(),MAX_CACHE_SIZE=0x3e8;class ShardingStrategy{async[a16_0x45610b(0x1f7)](_0x5c7272,_0x55c432){const _0x554764=a16_0x45610b;var _0xc1a52e;let _0x1444d3=tableExistsCache[_0x554764(0x20e)](_0x5c7272[_0x554764(0x1e7)]);!_0x1444d3&&tableExistsCache[_0x554764(0x215)](_0x5c7272[_0x554764(0x1e7)],_0x1444d3=new Map());if(_0x1444d3[_0x554764(0x223)](_0x55c432))return(_0xc1a52e=_0x1444d3['get'](_0x55c432))!==null&&_0xc1a52e!==void 0x0?_0xc1a52e:![];const _0x35d35e=_0x5c7272[_0x554764(0x20c)]['connection']['createQueryRunner']();try{return await _0x35d35e['hasTable'](_0x55c432)&&(_0x1444d3[_0x554764(0x209)]>=MAX_CACHE_SIZE&&_0x1444d3[_0x554764(0x22a)](),_0x1444d3[_0x554764(0x215)](_0x55c432,!![])),_0x1444d3[_0x554764(0x20e)](_0x55c432)||![];}finally{await _0x35d35e[_0x554764(0x200)]();}}async[a16_0x45610b(0x218)](_0x5567b8,_0x3ad1d8){const _0x4e3627=a16_0x45610b;var _0xc9439f;const _0x471a9b=_0x5567b8[_0x4e3627(0x20c)][_0x4e3627(0x213)][_0x4e3627(0x203)]();try{const _0x42fd4f=Object[_0x4e3627(0x1f3)](Object[_0x4e3627(0x1f9)](Object[_0x4e3627(0x1eb)](_0x5567b8[_0x4e3627(0x225)])),_0x5567b8['entityMetadata']);Object[_0x4e3627(0x21a)](_0x42fd4f,_0x4e3627(0x1fe),{'get':()=>_0x3ad1d8,'enumerable':!![],'configurable':!![]});const _0x4071ea=typeorm_1[_0x4e3627(0x22c)][_0x4e3627(0x1f9)](_0x42fd4f,_0x5567b8[_0x4e3627(0x1e7)]['driver']);await _0x471a9b['createTable'](_0x4071ea,!![],![]);if(!await _0x471a9b['hasTable'](_0x3ad1d8))throw new Error('Table\x20\x22'+_0x3ad1d8+_0x4e3627(0x1f4));(_0xc9439f=tableExistsCache[_0x4e3627(0x20e)](_0x5567b8[_0x4e3627(0x1e7)]))===null||_0xc9439f===void 0x0?void 0x0:_0xc9439f[_0x4e3627(0x215)](_0x3ad1d8,!![]);}finally{await _0x471a9b[_0x4e3627(0x200)]();}}async[a16_0x45610b(0x211)](_0x52c03f,_0x2b13f3){const _0x39e59b=a16_0x45610b;if(await this[_0x39e59b(0x1f7)](_0x52c03f,_0x2b13f3))return;let _0x2d6975=![];if(this[_0x39e59b(0x20a)])try{_0x2d6975=await this[_0x39e59b(0x20a)](_0x52c03f,_0x2b13f3);}catch(_0x2e8fb3){console[_0x39e59b(0x201)](_0x39e59b(0x227),_0x2e8fb3);}if(!_0x2d6975&&!await this[_0x39e59b(0x1f7)](_0x52c03f,_0x2b13f3)){let _0x426ff8;for(let _0x22487d=0x0;_0x22487d<0x3;_0x22487d++){try{await this[_0x39e59b(0x218)](_0x52c03f,_0x2b13f3);return;}catch(_0x3eb2e3){_0x426ff8=_0x3eb2e3,await new Promise(_0x33cc8d=>setTimeout(_0x33cc8d,0x32*(_0x22487d+0x1)));if(await this[_0x39e59b(0x1f7)](_0x52c03f,_0x2b13f3))return;}}throw new Error(_0x39e59b(0x1f0)+_0x2b13f3+_0x39e59b(0x1ee)+(_0x426ff8 instanceof Error?_0x426ff8[_0x39e59b(0x1ea)]:String(_0x426ff8)));}}async['preCreateTables'](_0x3c2d76,_0x4ac4ca){const _0x4297fd=a16_0x45610b;var _0xb0d072;const _0x523129=_0x4ac4ca||await((_0xb0d072=this[_0x4297fd(0x214)])===null||_0xb0d072===void 0x0?void 0x0:_0xb0d072[_0x4297fd(0x208)](this,_0x3c2d76[_0x4297fd(0x1ec)]))||[];for(const _0x4449c2 of _0x523129){_0x4449c2&&_0x4449c2!==_0x3c2d76[_0x4297fd(0x1ec)]&&await this[_0x4297fd(0x211)](_0x3c2d76,_0x4449c2);}}}exports['ShardingStrategy']=ShardingStrategy;const METHODS=[a16_0x45610b(0x20d),a16_0x45610b(0x226),a16_0x45610b(0x202),a16_0x45610b(0x234)];function getQueryType(_0x5cbb91){const _0x5a40bb=a16_0x45610b;return _0x5cbb91 instanceof typeorm_1[_0x5a40bb(0x21b)]?0x0:_0x5cbb91 instanceof typeorm_1['InsertQueryBuilder']?0x1:_0x5cbb91 instanceof typeorm_1[_0x5a40bb(0x219)]?0x2:0x3;}function resolveTableName(_0x10558c,_0x46349c,_0x1163d7,_0x5ab3fc){const _0x11ca5a=a16_0x45610b;var _0x2ca97e,_0x34980f;const _0x9733a3=_0x10558c[METHODS[_0x5ab3fc]];if(_0x9733a3){const _0x250045=_0x9733a3['call'](_0x10558c,_0x46349c,_0x1163d7);if(_0x250045)return _0x250045;}return(_0x34980f=(_0x2ca97e=_0x10558c[_0x11ca5a(0x216)])===null||_0x2ca97e===void 0x0?void 0x0:_0x2ca97e[_0x11ca5a(0x208)](_0x10558c,_0x46349c,_0x1163d7))!==null&&_0x34980f!==void 0x0?_0x34980f:null;}function getShardingMeta(_0x84a24b){const _0x11d99f=a16_0x45610b;var _0x138a36;const _0x3c5a7f=(0x0,core_1[_0x11d99f(0x1fb)])(interface_1[_0x11d99f(0x232)],_0x84a24b);if(!(_0x3c5a7f===null||_0x3c5a7f===void 0x0?void 0x0:_0x3c5a7f[_0x11d99f(0x233)]))return null;return{'strategy':_0x3c5a7f[_0x11d99f(0x233)],'tableName':(_0x138a36=(0x0,core_1[_0x11d99f(0x1fb)])(interface_1['ENTIFY_MODULE_SOURCE'],_0x84a24b))===null||_0x138a36===void 0x0?void 0x0:_0x138a36[_0x11d99f(0x1fe)]};}function getShardingTableNameSync(_0x2d8a4a,_0x38af58){const _0x4476bd=a16_0x45610b;var _0x440dd2,_0x5c829e,_0x1ace54,_0x53ecc5,_0x281686,_0x4a4cab;const _0x4aa532=(_0x1ace54=(_0x5c829e=(_0x440dd2=_0x2d8a4a[_0x4476bd(0x21c)])===null||_0x440dd2===void 0x0?void 0x0:_0x440dd2[_0x4476bd(0x224)])===null||_0x5c829e===void 0x0?void 0x0:_0x5c829e[_0x4476bd(0x1e9)](_0x2404c6=>{const _0x3f1ee6=_0x4476bd;var _0x1d1e4e;return _0x2404c6[_0x3f1ee6(0x210)]===_0x38af58||((_0x1d1e4e=_0x2404c6['metadata'])===null||_0x1d1e4e===void 0x0?void 0x0:_0x1d1e4e[_0x3f1ee6(0x1fe)])===_0x38af58;}))===null||_0x1ace54===void 0x0?void 0x0:_0x1ace54[_0x4476bd(0x1ef)];if(!(_0x4aa532===null||_0x4aa532===void 0x0?void 0x0:_0x4aa532[_0x4476bd(0x1e8)]))return null;const _0x1cc031=getShardingMeta(_0x4aa532[_0x4476bd(0x1e8)]);if(!_0x1cc031)return null;try{const _0x15add7=(_0x53ecc5=(0x0,core_1[_0x4476bd(0x1f6)])())===null||_0x53ecc5===void 0x0?void 0x0:_0x53ecc5[_0x4476bd(0x20e)](_0x1cc031['strategy']);if(!_0x15add7)return null;const _0x3658f0=_0x1cc031['tableName']||_0x4aa532[_0x4476bd(0x1fe)],_0x84c73e={...(_0x281686=_0x2d8a4a[_0x4476bd(0x21c)])===null||_0x281686===void 0x0?void 0x0:_0x281686[_0x4476bd(0x228)],...(_0x4a4cab=_0x2d8a4a[_0x4476bd(0x21c)])===null||_0x4a4cab===void 0x0?void 0x0:_0x4a4cab[_0x4476bd(0x212)]},_0x50cced=resolveTableName(_0x15add7,_0x3658f0,_0x84c73e,getQueryType(_0x2d8a4a));return _0x50cced&&_0x50cced!==_0x4aa532['tableName']?_0x50cced:null;}catch{}return null;}async function ensureShardingTablesExist(_0x50ee23){const _0x1a7b81=a16_0x45610b;var _0x2a5a21,_0x986995,_0x2b67eb;const _0x41b188=(0x0,core_1[_0x1a7b81(0x1f6)])();if(!_0x41b188)return;const _0x211cce={...(_0x2a5a21=_0x50ee23['expressionMap'])===null||_0x2a5a21===void 0x0?void 0x0:_0x2a5a21[_0x1a7b81(0x228)],...(_0x986995=_0x50ee23[_0x1a7b81(0x21c)])===null||_0x986995===void 0x0?void 0x0:_0x986995[_0x1a7b81(0x212)]},_0x7d13bf=getQueryType(_0x50ee23);for(const _0x41cc9b of((_0x2b67eb=_0x50ee23[_0x1a7b81(0x21c)])===null||_0x2b67eb===void 0x0?void 0x0:_0x2b67eb[_0x1a7b81(0x224)])||[]){const _0x596070=_0x41cc9b[_0x1a7b81(0x1ef)],_0x16caf5=(_0x596070===null||_0x596070===void 0x0?void 0x0:_0x596070[_0x1a7b81(0x1e8)])&&getShardingMeta(_0x596070[_0x1a7b81(0x1e8)]);if(!_0x16caf5)continue;try{const _0x2e35da=await _0x41b188['getAsync'](_0x16caf5[_0x1a7b81(0x233)]);if(!_0x2e35da)continue;const _0x5f4151=_0x16caf5['tableName']||_0x596070['tableName'],_0x441204=resolveTableName(_0x2e35da,_0x5f4151,_0x211cce,_0x7d13bf)||_0x5f4151,_0x384a9={'entity':_0x596070[_0x1a7b81(0x1e8)],'baseTableName':_0x5f4151,'dataSource':_0x50ee23[_0x1a7b81(0x213)],'entityMetadata':_0x596070,'manager':_0x50ee23['connection'][_0x1a7b81(0x20c)]};_0x441204!==_0x5f4151&&await _0x2e35da[_0x1a7b81(0x211)](_0x384a9,_0x441204),await _0x2e35da[_0x1a7b81(0x1f2)](_0x384a9);}catch(_0x2afb19){console['warn']('[Sharding]\x20Ensure\x20table\x20exists\x20failed:',_0x2afb19);}}}const _origGetTableName=typeorm_1['QueryBuilder'][a16_0x45610b(0x22e)]['getTableName'],_getRawAndEntities=typeorm_1[a16_0x45610b(0x21b)][a16_0x45610b(0x22e)][a16_0x45610b(0x1fa)],_insert=typeorm_1[a16_0x45610b(0x229)][a16_0x45610b(0x22e)][a16_0x45610b(0x22d)],_update=typeorm_1[a16_0x45610b(0x219)]['prototype']['execute'],_delete=typeorm_1[a16_0x45610b(0x221)][a16_0x45610b(0x22e)][a16_0x45610b(0x22d)];typeorm_1[a16_0x45610b(0x1ff)][a16_0x45610b(0x22e)][a16_0x45610b(0x216)]=function(_0x3bf83d){return _origGetTableName['call'](this,getShardingTableNameSync(this,_0x3bf83d)||_0x3bf83d);},typeorm_1[a16_0x45610b(0x21b)][a16_0x45610b(0x22e)]['getRawAndEntities']=async function(){const _0x104584=a16_0x45610b;return await ensureShardingTablesExist(this),_getRawAndEntities[_0x104584(0x208)](this);},typeorm_1[a16_0x45610b(0x229)][a16_0x45610b(0x22e)]['execute']=async function(){return await ensureShardingTablesExist(this),_insert['call'](this);},typeorm_1[a16_0x45610b(0x219)][a16_0x45610b(0x22e)][a16_0x45610b(0x22d)]=async function(){const _0x30a0cb=a16_0x45610b;return await ensureShardingTablesExist(this),_update[_0x30a0cb(0x208)](this);},typeorm_1[a16_0x45610b(0x221)]['prototype'][a16_0x45610b(0x22d)]=async function(){const _0x40b643=a16_0x45610b;return await ensureShardingTablesExist(this),_delete[_0x40b643(0x208)](this);};function clearTableExistsCache(_0x1a6e58,_0x5419a4){const _0x4c9fe4=a16_0x45610b;var _0x140fd2,_0x580c80;if(_0x1a6e58&&_0x5419a4)(_0x140fd2=tableExistsCache[_0x4c9fe4(0x20e)](_0x1a6e58))===null||_0x140fd2===void 0x0?void 0x0:_0x140fd2[_0x4c9fe4(0x21f)](_0x5419a4);else{if(_0x1a6e58)(_0x580c80=tableExistsCache[_0x4c9fe4(0x20e)](_0x1a6e58))===null||_0x580c80===void 0x0?void 0x0:_0x580c80[_0x4c9fe4(0x22a)]();else tableExistsCache['forEach'](_0xe19b59=>_0xe19b59[_0x4c9fe4(0x22a)]());}}
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ShardingStrategy = void 0;
|
|
4
|
+
exports.clearTableExistsCache = clearTableExistsCache;
|
|
5
|
+
const core_1 = require("@midwayjs/core");
|
|
6
|
+
const typeorm_1 = require("typeorm");
|
|
7
|
+
const interface_1 = require("./interface");
|
|
8
|
+
const tableExistsCache = new Map();
|
|
9
|
+
const MAX_CACHE_SIZE = 1000;
|
|
10
|
+
class ShardingStrategy {
|
|
11
|
+
async checkTableExists(ctx, tableName) {
|
|
12
|
+
var _a;
|
|
13
|
+
let cache = tableExistsCache.get(ctx.dataSource);
|
|
14
|
+
if (!cache) {
|
|
15
|
+
tableExistsCache.set(ctx.dataSource, cache = new Map());
|
|
16
|
+
}
|
|
17
|
+
if (cache.has(tableName)) {
|
|
18
|
+
return (_a = cache.get(tableName)) !== null && _a !== void 0 ? _a : false;
|
|
19
|
+
}
|
|
20
|
+
const queryRunner = ctx.manager.connection.createQueryRunner();
|
|
21
|
+
try {
|
|
22
|
+
if (await queryRunner.hasTable(tableName)) {
|
|
23
|
+
if (cache.size >= MAX_CACHE_SIZE) {
|
|
24
|
+
cache.clear();
|
|
25
|
+
}
|
|
26
|
+
cache.set(tableName, true);
|
|
27
|
+
}
|
|
28
|
+
return cache.get(tableName) || false;
|
|
29
|
+
}
|
|
30
|
+
finally {
|
|
31
|
+
await queryRunner.release();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async createTableFromMetadata(ctx, tableName) {
|
|
35
|
+
var _a;
|
|
36
|
+
const queryRunner = ctx.manager.connection.createQueryRunner();
|
|
37
|
+
try {
|
|
38
|
+
const tempMetadata = Object.assign(Object.create(Object.getPrototypeOf(ctx.entityMetadata)), ctx.entityMetadata);
|
|
39
|
+
Object.defineProperty(tempMetadata, 'tableName', { get: () => tableName, enumerable: true, configurable: true });
|
|
40
|
+
const table = typeorm_1.Table.create(tempMetadata, ctx.dataSource.driver);
|
|
41
|
+
table.foreignKeys = [];
|
|
42
|
+
await queryRunner.createTable(table, true, false);
|
|
43
|
+
if (!(await queryRunner.hasTable(tableName))) {
|
|
44
|
+
throw new Error(`Table "${tableName}" was not created`);
|
|
45
|
+
}
|
|
46
|
+
(_a = tableExistsCache.get(ctx.dataSource)) === null || _a === void 0 ? void 0 : _a.set(tableName, true);
|
|
47
|
+
}
|
|
48
|
+
finally {
|
|
49
|
+
await queryRunner.release();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
async ensureTableExists(ctx, tableName) {
|
|
53
|
+
if (await this.checkTableExists(ctx, tableName)) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
let created = false;
|
|
57
|
+
if (this.createTables) {
|
|
58
|
+
try {
|
|
59
|
+
created = await this.createTables(ctx, tableName);
|
|
60
|
+
}
|
|
61
|
+
catch (e) {
|
|
62
|
+
console.warn('[Sharding] Custom createTables failed, fallback to default:', e);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
if (!created && !(await this.checkTableExists(ctx, tableName))) {
|
|
66
|
+
let lastError;
|
|
67
|
+
for (let i = 0; i < 3; i++) {
|
|
68
|
+
try {
|
|
69
|
+
await this.createTableFromMetadata(ctx, tableName);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
catch (e) {
|
|
73
|
+
lastError = e;
|
|
74
|
+
await new Promise(r => setTimeout(r, 50 * (i + 1)));
|
|
75
|
+
if (await this.checkTableExists(ctx, tableName)) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
throw new Error(`[Sharding] Failed to create table "${tableName}" after 3 retries: ${lastError instanceof Error ? lastError.message : String(lastError)}`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
async preCreateTables(ctx, tableNames) {
|
|
84
|
+
var _a;
|
|
85
|
+
const names = tableNames || (await ((_a = this.getPreCreateTableNames) === null || _a === void 0 ? void 0 : _a.call(this, ctx.baseTableName))) || [];
|
|
86
|
+
for (const name of names) {
|
|
87
|
+
if (name && name !== ctx.baseTableName) {
|
|
88
|
+
await this.ensureTableExists(ctx, name);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.ShardingStrategy = ShardingStrategy;
|
|
94
|
+
const METHODS = ['getSelectTableName', 'getInsertTableName', 'getUpdateTableName', 'getDeleteTableName'];
|
|
95
|
+
function getQueryType(qb) {
|
|
96
|
+
return qb instanceof typeorm_1.SelectQueryBuilder ? 0
|
|
97
|
+
: qb instanceof typeorm_1.InsertQueryBuilder ? 1
|
|
98
|
+
: qb instanceof typeorm_1.UpdateQueryBuilder ? 2
|
|
99
|
+
: 3;
|
|
100
|
+
}
|
|
101
|
+
function resolveTableName(strategy, baseTableName, params, type) {
|
|
102
|
+
var _a, _b;
|
|
103
|
+
const method = strategy[METHODS[type]];
|
|
104
|
+
if (method) {
|
|
105
|
+
const result = method.call(strategy, baseTableName, params);
|
|
106
|
+
if (result) {
|
|
107
|
+
return result;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return (_b = (_a = strategy.getTableName) === null || _a === void 0 ? void 0 : _a.call(strategy, baseTableName, params)) !== null && _b !== void 0 ? _b : null;
|
|
111
|
+
}
|
|
112
|
+
function getShardingMeta(entity) {
|
|
113
|
+
var _a;
|
|
114
|
+
const meta = (0, core_1.getClassMetadata)(interface_1.ENTIFY_SHARDING_KEY, entity);
|
|
115
|
+
if (!(meta === null || meta === void 0 ? void 0 : meta.strategy)) {
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
return {
|
|
119
|
+
strategy: meta.strategy,
|
|
120
|
+
tableName: (_a = (0, core_1.getClassMetadata)(interface_1.ENTIFY_MODULE_SOURCE, entity)) === null || _a === void 0 ? void 0 : _a.tableName
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
function getShardingTableNameSync(qb, tablePath) {
|
|
124
|
+
var _a, _b, _c, _d, _e, _f;
|
|
125
|
+
const metadata = (_c = (_b = (_a = qb.expressionMap) === null || _a === void 0 ? void 0 : _a.aliases) === null || _b === void 0 ? void 0 : _b.find((a) => { var _a; return a.tablePath === tablePath || ((_a = a.metadata) === null || _a === void 0 ? void 0 : _a.tableName) === tablePath; })) === null || _c === void 0 ? void 0 : _c.metadata;
|
|
126
|
+
if (!(metadata === null || metadata === void 0 ? void 0 : metadata.target)) {
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
const meta = getShardingMeta(metadata.target);
|
|
130
|
+
if (!meta) {
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
try {
|
|
134
|
+
const strategy = (_d = (0, core_1.getCurrentApplicationContext)()) === null || _d === void 0 ? void 0 : _d.get(meta.strategy);
|
|
135
|
+
if (!strategy) {
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
138
|
+
const baseTableName = meta.tableName || metadata.tableName;
|
|
139
|
+
const params = { ...(_e = qb.expressionMap) === null || _e === void 0 ? void 0 : _e.nativeParameters, ...(_f = qb.expressionMap) === null || _f === void 0 ? void 0 : _f.parameters };
|
|
140
|
+
const result = resolveTableName(strategy, baseTableName, params, getQueryType(qb));
|
|
141
|
+
return result && result !== metadata.tableName ? result : null;
|
|
142
|
+
}
|
|
143
|
+
catch { }
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
async function ensureShardingTablesExist(qb) {
|
|
147
|
+
var _a, _b, _c;
|
|
148
|
+
const ctx = (0, core_1.getCurrentApplicationContext)();
|
|
149
|
+
if (!ctx) {
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
const params = { ...(_a = qb.expressionMap) === null || _a === void 0 ? void 0 : _a.nativeParameters, ...(_b = qb.expressionMap) === null || _b === void 0 ? void 0 : _b.parameters };
|
|
153
|
+
const type = getQueryType(qb);
|
|
154
|
+
for (const alias of ((_c = qb.expressionMap) === null || _c === void 0 ? void 0 : _c.aliases) || []) {
|
|
155
|
+
const metadata = alias.metadata;
|
|
156
|
+
const meta = (metadata === null || metadata === void 0 ? void 0 : metadata.target) && getShardingMeta(metadata.target);
|
|
157
|
+
if (!meta) {
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
160
|
+
try {
|
|
161
|
+
const strategy = await ctx.getAsync(meta.strategy);
|
|
162
|
+
if (!strategy) {
|
|
163
|
+
continue;
|
|
164
|
+
}
|
|
165
|
+
const baseTableName = meta.tableName || metadata.tableName;
|
|
166
|
+
const tableName = resolveTableName(strategy, baseTableName, params, type) || baseTableName;
|
|
167
|
+
const shardingCtx = {
|
|
168
|
+
entity: metadata.target,
|
|
169
|
+
baseTableName,
|
|
170
|
+
dataSource: qb.connection,
|
|
171
|
+
entityMetadata: metadata,
|
|
172
|
+
manager: qb.connection.manager
|
|
173
|
+
};
|
|
174
|
+
if (tableName !== baseTableName) {
|
|
175
|
+
await strategy.ensureTableExists(shardingCtx, tableName);
|
|
176
|
+
}
|
|
177
|
+
await strategy.preCreateTables(shardingCtx);
|
|
178
|
+
}
|
|
179
|
+
catch (e) {
|
|
180
|
+
console.warn('[Sharding] Ensure table exists failed:', e);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
const _origGetTableName = typeorm_1.QueryBuilder.prototype.getTableName;
|
|
185
|
+
const _getRawAndEntities = typeorm_1.SelectQueryBuilder.prototype.getRawAndEntities;
|
|
186
|
+
const _insert = typeorm_1.InsertQueryBuilder.prototype.execute;
|
|
187
|
+
const _update = typeorm_1.UpdateQueryBuilder.prototype.execute;
|
|
188
|
+
const _delete = typeorm_1.DeleteQueryBuilder.prototype.execute;
|
|
189
|
+
typeorm_1.QueryBuilder.prototype.getTableName = function (tablePath) {
|
|
190
|
+
return _origGetTableName.call(this, getShardingTableNameSync(this, tablePath) || tablePath);
|
|
191
|
+
};
|
|
192
|
+
typeorm_1.SelectQueryBuilder.prototype.getRawAndEntities = async function () {
|
|
193
|
+
var _a, _b, _c, _d;
|
|
194
|
+
await ensureShardingTablesExist(this);
|
|
195
|
+
const result = await _getRawAndEntities.call(this);
|
|
196
|
+
if (((_a = result === null || result === void 0 ? void 0 : result.raw) === null || _a === void 0 ? void 0 : _a.length) > 0 && ((_b = result === null || result === void 0 ? void 0 : result.entities) === null || _b === void 0 ? void 0 : _b.length) === 0) {
|
|
197
|
+
const metadata = (_d = (_c = this.expressionMap) === null || _c === void 0 ? void 0 : _c.mainAlias) === null || _d === void 0 ? void 0 : _d.metadata;
|
|
198
|
+
if (metadata === null || metadata === void 0 ? void 0 : metadata.target) {
|
|
199
|
+
const EntityClass = metadata.target;
|
|
200
|
+
result.entities = result.raw.map((row) => {
|
|
201
|
+
const entity = new EntityClass();
|
|
202
|
+
for (const column of metadata.columns || []) {
|
|
203
|
+
const propertyName = column.propertyName;
|
|
204
|
+
const databaseName = column.databaseName;
|
|
205
|
+
if (row.hasOwnProperty(databaseName)) {
|
|
206
|
+
entity[propertyName] = row[databaseName];
|
|
207
|
+
}
|
|
208
|
+
else if (row.hasOwnProperty(propertyName)) {
|
|
209
|
+
entity[propertyName] = row[propertyName];
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
return entity;
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
return result;
|
|
217
|
+
};
|
|
218
|
+
typeorm_1.InsertQueryBuilder.prototype.execute = async function () {
|
|
219
|
+
await ensureShardingTablesExist(this);
|
|
220
|
+
return _insert.call(this);
|
|
221
|
+
};
|
|
222
|
+
typeorm_1.UpdateQueryBuilder.prototype.execute = async function () {
|
|
223
|
+
await ensureShardingTablesExist(this);
|
|
224
|
+
return _update.call(this);
|
|
225
|
+
};
|
|
226
|
+
typeorm_1.DeleteQueryBuilder.prototype.execute = async function () {
|
|
227
|
+
await ensureShardingTablesExist(this);
|
|
228
|
+
return _delete.call(this);
|
|
229
|
+
};
|
|
230
|
+
function clearTableExistsCache(ds, tableName) {
|
|
231
|
+
var _a, _b;
|
|
232
|
+
if (ds && tableName)
|
|
233
|
+
(_a = tableExistsCache.get(ds)) === null || _a === void 0 ? void 0 : _a.delete(tableName);
|
|
234
|
+
else if (ds)
|
|
235
|
+
(_b = tableExistsCache.get(ds)) === null || _b === void 0 ? void 0 : _b.clear();
|
|
236
|
+
else
|
|
237
|
+
tableExistsCache.forEach(c => c.clear());
|
|
238
|
+
}
|
|
239
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlU2hhcmRpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW50ZXJmYWNlU2hhcmRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBcWhCQSxzREFJQztBQTNnQkQseUNBQWdGO0FBQ2hGLHFDQUF5SztBQUV6SywyQ0FBd0U7QUFPeEUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBb0MsQ0FBQztBQU9yRSxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUM7QUFrQzVCLE1BQXNCLGdCQUFnQjtJQW9FbEMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQW9CLEVBQUUsU0FBaUI7O1FBRTFELElBQUksS0FBSyxHQUFHLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1QsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsS0FBSyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM1RCxDQUFDO1FBR0QsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDdkIsT0FBTyxNQUFBLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLG1DQUFJLEtBQUssQ0FBQztRQUN6QyxDQUFDO1FBR0QsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMvRCxJQUFJLENBQUM7WUFFRCxJQUFJLE1BQU0sV0FBVyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUV4QyxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksY0FBYyxFQUFFLENBQUM7b0JBQy9CLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDbEIsQ0FBQztnQkFDRCxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMvQixDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEtBQUssQ0FBQztRQUN6QyxDQUFDO2dCQUFTLENBQUM7WUFFUCxNQUFNLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQyxDQUFDO0lBQ0wsQ0FBQztJQVNTLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxHQUFvQixFQUFFLFNBQWlCOztRQUMzRSxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQy9ELElBQUksQ0FBQztZQUVELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNqSCxNQUFNLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFHakgsTUFBTSxLQUFLLEdBQUcsZUFBSyxDQUFDLE1BQU0sQ0FBQyxZQUE4QixFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7WUFHbEYsS0FBSyxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7WUFPdkIsTUFBTSxXQUFXLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFHbEQsSUFBSSxDQUFDLENBQUMsTUFBTSxXQUFXLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDM0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLFNBQVMsbUJBQW1CLENBQUMsQ0FBQztZQUM1RCxDQUFDO1lBR0QsTUFBQSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQywwQ0FBRSxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9ELENBQUM7Z0JBQVMsQ0FBQztZQUNQLE1BQU0sV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hDLENBQUM7SUFDTCxDQUFDO0lBWUQsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEdBQW9CLEVBQUUsU0FBaUI7UUFDM0QsSUFBSSxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUM5QyxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUM7Z0JBQ0QsT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUE7WUFDckQsQ0FBQztZQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ1QsT0FBTyxDQUFDLElBQUksQ0FBQyw2REFBNkQsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNuRixDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDN0QsSUFBSSxTQUFjLENBQUM7WUFDbkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUM7b0JBQ0QsTUFBTSxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO29CQUNuRCxPQUFPO2dCQUNYLENBQUM7Z0JBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztvQkFDVCxTQUFTLEdBQUcsQ0FBQyxDQUFDO29CQUNkLE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3BELElBQUksTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUM7d0JBQzlDLE9BQU87b0JBQ1gsQ0FBQztnQkFDTCxDQUFDO1lBQ0wsQ0FBQztZQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXNDLFNBQVMsc0JBQXNCLFNBQVMsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0osQ0FBQztJQUNMLENBQUM7SUFTRCxLQUFLLENBQUMsZUFBZSxDQUFDLEdBQW9CLEVBQUUsVUFBcUI7O1FBQzdELE1BQU0sS0FBSyxHQUFHLFVBQVUsSUFBSSxDQUFDLE1BQU0sQ0FBQSxNQUFBLElBQUksQ0FBQyxzQkFBc0IscURBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFBLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0YsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUV2QixJQUFJLElBQUksSUFBSSxJQUFJLEtBQUssR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNyQyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDNUMsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0NBQ0o7QUFuTUQsNENBbU1DO0FBTUQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsQ0FBVSxDQUFDO0FBU2xILFNBQVMsWUFBWSxDQUFDLEVBQU87SUFDekIsT0FBTyxFQUFFLFlBQVksNEJBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLEVBQUUsWUFBWSw0QkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsQyxDQUFDLENBQUMsRUFBRSxZQUFZLDRCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNsQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLENBQUM7QUFZRCxTQUFTLGdCQUFnQixDQUFDLFFBQTBCLEVBQUUsYUFBcUIsRUFBRSxNQUFXLEVBQUUsSUFBWTs7SUFDbEcsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLElBQUksTUFBTSxFQUFFLENBQUM7UUFDVCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDNUQsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxNQUFBLE1BQUEsUUFBUSxDQUFDLFlBQVkseURBQUcsYUFBYSxFQUFFLE1BQU0sQ0FBQyxtQ0FBSSxJQUFJLENBQUM7QUFDbEUsQ0FBQztBQVFELFNBQVMsZUFBZSxDQUFDLE1BQVc7O0lBQ2hDLE1BQU0sSUFBSSxHQUFHLElBQUEsdUJBQWdCLEVBQUMsK0JBQW1CLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0QsSUFBSSxDQUFDLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFFBQVEsQ0FBQSxFQUFFLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELE9BQU87UUFDSCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7UUFDdkIsU0FBUyxFQUFFLE1BQUEsSUFBQSx1QkFBZ0IsRUFBQyxnQ0FBb0IsRUFBRSxNQUFNLENBQUMsMENBQUUsU0FBUztLQUN2RSxDQUFDO0FBQ04sQ0FBQztBQWVELFNBQVMsd0JBQXdCLENBQUMsRUFBTyxFQUFFLFNBQWlCOztJQUV4RCxNQUFNLFFBQVEsR0FBRyxNQUFBLE1BQUEsTUFBQSxFQUFFLENBQUMsYUFBYSwwQ0FBRSxPQUFPLDBDQUFFLElBQUksQ0FDNUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxXQUFDLE9BQUEsQ0FBQyxDQUFDLFNBQVMsS0FBSyxTQUFTLElBQUksQ0FBQSxNQUFBLENBQUMsQ0FBQyxRQUFRLDBDQUFFLFNBQVMsTUFBSyxTQUFTLENBQUEsRUFBQSxDQUMvRSwwQ0FBRSxRQUFRLENBQUM7SUFHWixJQUFJLENBQUMsQ0FBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsTUFBTSxDQUFBLEVBQUUsQ0FBQztRQUNwQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBR0QsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDUixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBSSxDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsTUFBQSxJQUFBLG1DQUE0QixHQUFFLDBDQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFxQixDQUFDO1FBQ3hGLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNaLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFHRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFDM0QsTUFBTSxNQUFNLEdBQUcsRUFBRSxHQUFHLE1BQUEsRUFBRSxDQUFDLGFBQWEsMENBQUUsZ0JBQWdCLEVBQUUsR0FBRyxNQUFBLEVBQUUsQ0FBQyxhQUFhLDBDQUFFLFVBQVUsRUFBRSxDQUFDO1FBQzFGLE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBR25GLE9BQU8sTUFBTSxJQUFJLE1BQU0sS0FBSyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNuRSxDQUFDO0lBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUVYLE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFjRCxLQUFLLFVBQVUseUJBQXlCLENBQUMsRUFBTzs7SUFDNUMsTUFBTSxHQUFHLEdBQUcsSUFBQSxtQ0FBNEIsR0FBRSxDQUFDO0lBQzNDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNQLE9BQU87SUFDWCxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsRUFBRSxHQUFHLE1BQUEsRUFBRSxDQUFDLGFBQWEsMENBQUUsZ0JBQWdCLEVBQUUsR0FBRyxNQUFBLEVBQUUsQ0FBQyxhQUFhLDBDQUFFLFVBQVUsRUFBRSxDQUFDO0lBQzFGLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUU5QixLQUFLLE1BQU0sS0FBSyxJQUFJLENBQUEsTUFBQSxFQUFFLENBQUMsYUFBYSwwQ0FBRSxPQUFPLEtBQUksRUFBRSxFQUFFLENBQUM7UUFDbEQsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUNoQyxNQUFNLElBQUksR0FBRyxDQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxNQUFNLEtBQUksZUFBZSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDUixTQUFTO1FBQ2IsQ0FBQztRQUVELElBQUksQ0FBQztZQUNELE1BQU0sUUFBUSxHQUFHLE1BQU0sR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFxQixDQUFDO1lBQ3ZFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDWixTQUFTO1lBQ2IsQ0FBQztZQUVELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQztZQUMzRCxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxhQUFhLENBQUM7WUFFM0YsTUFBTSxXQUFXLEdBQW9CO2dCQUNqQyxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07Z0JBQ3ZCLGFBQWE7Z0JBQ2IsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVO2dCQUN6QixjQUFjLEVBQUUsUUFBUTtnQkFDeEIsT0FBTyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTzthQUNqQyxDQUFDO1lBRUYsSUFBSSxTQUFTLEtBQUssYUFBYSxFQUFFLENBQUM7Z0JBQzlCLE1BQU0sUUFBUSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUM3RCxDQUFDO1lBRUQsTUFBTSxRQUFRLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1QsT0FBTyxDQUFDLElBQUksQ0FBQyx3Q0FBd0MsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM5RCxDQUFDO0lBQ0wsQ0FBQztBQUNMLENBQUM7QUFLRCxNQUFNLGlCQUFpQixHQUFJLHNCQUFvQixDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7QUFDdkUsTUFBTSxrQkFBa0IsR0FBRyw0QkFBa0IsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUM7QUFDMUUsTUFBTSxPQUFPLEdBQUcsNEJBQWtCLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztBQUNyRCxNQUFNLE9BQU8sR0FBRyw0QkFBa0IsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDO0FBQ3JELE1BQU0sT0FBTyxHQUFHLDRCQUFrQixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7QUFRcEQsc0JBQW9CLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxVQUFVLFNBQWlCO0lBQ3RFLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksU0FBUyxDQUFDLENBQUM7QUFDaEcsQ0FBQyxDQUFDO0FBTUQsNEJBQWtCLENBQUMsU0FBUyxDQUFDLGlCQUF5QixHQUFHLEtBQUs7O0lBQzNELE1BQU0seUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFHdEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFHbkQsSUFBSSxDQUFBLE1BQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLEdBQUcsMENBQUUsTUFBTSxJQUFHLENBQUMsSUFBSSxDQUFBLE1BQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFFBQVEsMENBQUUsTUFBTSxNQUFLLENBQUMsRUFBRSxDQUFDO1FBQzVELE1BQU0sUUFBUSxHQUFHLE1BQUEsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxTQUFTLDBDQUFFLFFBQVEsQ0FBQztRQUN6RCxJQUFJLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxNQUFNLEVBQUUsQ0FBQztZQUVuQixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQ3BDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDMUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFFakMsS0FBSyxNQUFNLE1BQU0sSUFBSSxRQUFRLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRSxDQUFDO29CQUMxQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO29CQUN6QyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO29CQUN6QyxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQzt3QkFDbkMsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDN0MsQ0FBQzt5QkFBTSxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQzt3QkFDMUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDN0MsQ0FBQztnQkFDTCxDQUFDO2dCQUNELE9BQU8sTUFBTSxDQUFDO1lBQ2xCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUM7QUFNRCw0QkFBa0IsQ0FBQyxTQUFTLENBQUMsT0FBZSxHQUFHLEtBQUs7SUFDakQsTUFBTSx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDO0FBTUQsNEJBQWtCLENBQUMsU0FBUyxDQUFDLE9BQWUsR0FBRyxLQUFLO0lBQ2pELE1BQU0seUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQztBQU1ELDRCQUFrQixDQUFDLFNBQVMsQ0FBQyxPQUFlLEdBQUcsS0FBSztJQUNqRCxNQUFNLHlCQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM5QixDQUFDLENBQUM7QUEwQkYsU0FBZ0IscUJBQXFCLENBQUMsRUFBZSxFQUFFLFNBQWtCOztJQUNyRSxJQUFJLEVBQUUsSUFBSSxTQUFTO1FBQUUsTUFBQSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLDBDQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM1RCxJQUFJLEVBQUU7UUFBRSxNQUFBLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsMENBQUUsS0FBSyxFQUFFLENBQUM7O1FBQzFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQ2xELENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anncic-api/typeorm",
|
|
3
|
-
"version": "3.7.
|
|
3
|
+
"version": "3.7.19",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": [
|
|
@@ -23,5 +23,5 @@
|
|
|
23
23
|
"javascript-obfuscator": "^4.0.2",
|
|
24
24
|
"typescript": "^5.5.4"
|
|
25
25
|
},
|
|
26
|
-
"gitHead": "
|
|
26
|
+
"gitHead": "27c546847dde1a6d582ae67cf78185dc5763da35"
|
|
27
27
|
}
|