@anncic-api/typeorm 3.7.18 → 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
package/dist/helper/sleep.js
CHANGED
|
@@ -1 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sleep = sleep;
|
|
4
|
+
function sleep(time = 200) {
|
|
5
|
+
return new Promise((resolve) => setTimeout(resolve, time));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xlZXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGVscGVyL3NsZWVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsc0JBRUM7QUFGRCxTQUFnQixLQUFLLENBQUMsT0FBYyxHQUFHO0lBQ25DLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUMvRCxDQUFDIn0=
|
package/dist/index.js
CHANGED
|
@@ -1 +1,51 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.ScopeEnum = exports.Scope = exports.Inject = exports.Provide = exports.Configuration = exports.getDataSourceEntity = exports.getProvideObserve = exports.ProvideSharding = exports.SearchScope = exports.Search = exports.ProvideSearch = exports.ProvideRepository = exports.ProvideObserve = exports.ProvideEntity = exports.InjectRepository = exports.InjectEntity = exports.VirtualColumn = exports.Repository = void 0;
|
|
18
|
+
__exportStar(require("typeorm"), exports);
|
|
19
|
+
__exportStar(require("./interface"), exports);
|
|
20
|
+
var Repository_1 = require("./definition/Repository");
|
|
21
|
+
Object.defineProperty(exports, "Repository", { enumerable: true, get: function () { return Repository_1.Repository; } });
|
|
22
|
+
var VirtualColumn_1 = require("./decorator/VirtualColumn");
|
|
23
|
+
Object.defineProperty(exports, "VirtualColumn", { enumerable: true, get: function () { return VirtualColumn_1.VirtualColumn; } });
|
|
24
|
+
var InjectEntity_1 = require("./decorator/InjectEntity");
|
|
25
|
+
Object.defineProperty(exports, "InjectEntity", { enumerable: true, get: function () { return InjectEntity_1.InjectEntity; } });
|
|
26
|
+
var InjectRepository_1 = require("./decorator/InjectRepository");
|
|
27
|
+
Object.defineProperty(exports, "InjectRepository", { enumerable: true, get: function () { return InjectRepository_1.InjectRepository; } });
|
|
28
|
+
var ProvideEntity_1 = require("./decorator/ProvideEntity");
|
|
29
|
+
Object.defineProperty(exports, "ProvideEntity", { enumerable: true, get: function () { return ProvideEntity_1.ProvideEntity; } });
|
|
30
|
+
var ProvideObserve_1 = require("./decorator/ProvideObserve");
|
|
31
|
+
Object.defineProperty(exports, "ProvideObserve", { enumerable: true, get: function () { return ProvideObserve_1.ProvideObserve; } });
|
|
32
|
+
var ProvideRepository_1 = require("./decorator/ProvideRepository");
|
|
33
|
+
Object.defineProperty(exports, "ProvideRepository", { enumerable: true, get: function () { return ProvideRepository_1.ProvideRepository; } });
|
|
34
|
+
var ProvideSearch_1 = require("./decorator/ProvideSearch");
|
|
35
|
+
Object.defineProperty(exports, "ProvideSearch", { enumerable: true, get: function () { return ProvideSearch_1.ProvideSearch; } });
|
|
36
|
+
Object.defineProperty(exports, "Search", { enumerable: true, get: function () { return ProvideSearch_1.Search; } });
|
|
37
|
+
Object.defineProperty(exports, "SearchScope", { enumerable: true, get: function () { return ProvideSearch_1.SearchScope; } });
|
|
38
|
+
var ProvideSharding_1 = require("./decorator/ProvideSharding");
|
|
39
|
+
Object.defineProperty(exports, "ProvideSharding", { enumerable: true, get: function () { return ProvideSharding_1.ProvideSharding; } });
|
|
40
|
+
var getProvideObserve_1 = require("./helper/getProvideObserve");
|
|
41
|
+
Object.defineProperty(exports, "getProvideObserve", { enumerable: true, get: function () { return getProvideObserve_1.getProvideObserve; } });
|
|
42
|
+
var getDataSourceEntity_1 = require("./helper/getDataSourceEntity");
|
|
43
|
+
Object.defineProperty(exports, "getDataSourceEntity", { enumerable: true, get: function () { return getDataSourceEntity_1.getDataSourceEntity; } });
|
|
44
|
+
var configuration_1 = require("./configuration");
|
|
45
|
+
Object.defineProperty(exports, "Configuration", { enumerable: true, get: function () { return configuration_1.CustomConfiguration; } });
|
|
46
|
+
var core_1 = require("@midwayjs/core");
|
|
47
|
+
Object.defineProperty(exports, "Provide", { enumerable: true, get: function () { return core_1.Provide; } });
|
|
48
|
+
Object.defineProperty(exports, "Inject", { enumerable: true, get: function () { return core_1.Inject; } });
|
|
49
|
+
Object.defineProperty(exports, "Scope", { enumerable: true, get: function () { return core_1.Scope; } });
|
|
50
|
+
Object.defineProperty(exports, "ScopeEnum", { enumerable: true, get: function () { return core_1.ScopeEnum; } });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwwQ0FBd0I7QUFDeEIsOENBQTRCO0FBQzVCLHNEQUFxRDtBQUE1Qyx3R0FBQSxVQUFVLE9BQUE7QUFDbkIsMkRBQTBEO0FBQWpELDhHQUFBLGFBQWEsT0FBQTtBQUN0Qix5REFBd0Q7QUFBL0MsNEdBQUEsWUFBWSxPQUFBO0FBQ3JCLGlFQUFnRTtBQUF2RCxvSEFBQSxnQkFBZ0IsT0FBQTtBQUN6QiwyREFBMEQ7QUFBakQsOEdBQUEsYUFBYSxPQUFBO0FBQ3RCLDZEQUE0RDtBQUFuRCxnSEFBQSxjQUFjLE9BQUE7QUFDdkIsbUVBQWtFO0FBQXpELHNIQUFBLGlCQUFpQixPQUFBO0FBQzFCLDJEQUErRTtBQUF0RSw4R0FBQSxhQUFhLE9BQUE7QUFBRSx1R0FBQSxNQUFNLE9BQUE7QUFBRSw0R0FBQSxXQUFXLE9BQUE7QUFDM0MsK0RBQThEO0FBQXJELGtIQUFBLGVBQWUsT0FBQTtBQUV4QixnRUFBK0Q7QUFBdEQsc0hBQUEsaUJBQWlCLE9BQUE7QUFDMUIsb0VBQW1FO0FBQTFELDBIQUFBLG1CQUFtQixPQUFBO0FBRTVCLGlEQUF1RTtBQUE5RCw4R0FBQSxtQkFBbUIsT0FBaUI7QUFDN0MsdUNBQW1FO0FBQTFELCtGQUFBLE9BQU8sT0FBQTtBQUFFLDhGQUFBLE1BQU0sT0FBQTtBQUFFLDZGQUFBLEtBQUssT0FBQTtBQUFFLGlHQUFBLFNBQVMsT0FBQSJ9
|
package/dist/interface.js
CHANGED
|
@@ -1 +1,326 @@
|
|
|
1
|
-
const a15_0x4662a7=a15_0x30d6;(function(_0x241a29,_0x2c87ca){const _0x43c89d=a15_0x30d6,_0x26550d=_0x241a29();while(!![]){try{const _0x23e603=parseInt(_0x43c89d(0x24c))/0x1*(parseInt(_0x43c89d(0x1fb))/0x2)+parseInt(_0x43c89d(0x24b))/0x3*(parseInt(_0x43c89d(0x250))/0x4)+parseInt(_0x43c89d(0x240))/0x5+parseInt(_0x43c89d(0x22e))/0x6*(parseInt(_0x43c89d(0x232))/0x7)+parseInt(_0x43c89d(0x222))/0x8*(-parseInt(_0x43c89d(0x204))/0x9)+-parseInt(_0x43c89d(0x246))/0xa+parseInt(_0x43c89d(0x1f2))/0xb;if(_0x23e603===_0x2c87ca)break;else _0x26550d['push'](_0x26550d['shift']());}catch(_0x4e2a7b){_0x26550d['push'](_0x26550d['shift']());}}}(a15_0x31ae,0x255ab));const a15_0x29ecc1=(function(){let _0x2135d9=!![];return function(_0x10bd98,_0x1332f8){const _0x2829b3=_0x2135d9?function(){const _0x35ce3d=a15_0x30d6;if(_0x1332f8){const _0x5ed5f9=_0x1332f8[_0x35ce3d(0x1ec)](_0x10bd98,arguments);return _0x1332f8=null,_0x5ed5f9;}}:function(){};return _0x2135d9=![],_0x2829b3;};}()),a15_0x9a9784=a15_0x29ecc1(this,function(){const _0x41dbda=a15_0x30d6;return a15_0x9a9784[_0x41dbda(0x218)]()['search'](_0x41dbda(0x1ea))[_0x41dbda(0x218)]()[_0x41dbda(0x20c)](a15_0x9a9784)[_0x41dbda(0x20d)](_0x41dbda(0x1ea));});a15_0x9a9784();'use strict';function a15_0x30d6(_0x44c5ac,_0x3ca673){const _0x3ac8a2=a15_0x31ae();return a15_0x30d6=function(_0x9a9784,_0x29ecc1){_0x9a9784=_0x9a9784-0x1dc;let _0x31ae51=_0x3ac8a2[_0x9a9784];return _0x31ae51;},a15_0x30d6(_0x44c5ac,_0x3ca673);}Object[a15_0x4662a7(0x227)](exports,a15_0x4662a7(0x233),{'value':!![]}),exports[a15_0x4662a7(0x1fa)]=exports['clearTableExistsCache']=exports[a15_0x4662a7(0x1dd)]=exports[a15_0x4662a7(0x23d)]=exports[a15_0x4662a7(0x217)]=exports[a15_0x4662a7(0x21d)]=exports[a15_0x4662a7(0x24f)]=exports[a15_0x4662a7(0x266)]=exports[a15_0x4662a7(0x212)]=exports[a15_0x4662a7(0x25c)]=exports[a15_0x4662a7(0x1e1)]=exports[a15_0x4662a7(0x22a)]=exports['ENTIFY_KEY']=void 0x0;const stream_1=require(a15_0x4662a7(0x225)),core_1=require(a15_0x4662a7(0x1f9)),typeorm_1=require(a15_0x4662a7(0x1e2)),DriverUtils_1=require('typeorm/driver/DriverUtils'),typeorm_2=require(a15_0x4662a7(0x1e2)),typeorm_3=require('typeorm');require(a15_0x4662a7(0x263));const sleep_1=require('./helper/sleep');exports['ENTIFY_KEY']=a15_0x4662a7(0x205),exports[a15_0x4662a7(0x22a)]='decorator:anncic-api:typeorm:entify:module',exports[a15_0x4662a7(0x1e1)]=a15_0x4662a7(0x21a),exports[a15_0x4662a7(0x25c)]='decorator:anncic-api:typeorm:entify:sharding',exports[a15_0x4662a7(0x212)]=a15_0x4662a7(0x20a),exports[a15_0x4662a7(0x266)]='decorator:anncic-api:typeorm:repository:observe',exports['MODEL_KEY']=a15_0x4662a7(0x24d),exports['MODEL_SEARCH_KEY']=a15_0x4662a7(0x23b),exports['MODEL_SEARCH_SCOPE_KEY']=a15_0x4662a7(0x202),exports[a15_0x4662a7(0x23d)]='decorator:anncic-api:typeorm:entity:virtual:column';var interfaceSharding_1=require(a15_0x4662a7(0x263));Object[a15_0x4662a7(0x227)](exports,a15_0x4662a7(0x1dd),{'enumerable':!![],'get':function(){const _0x41c720=a15_0x4662a7;return interfaceSharding_1[_0x41c720(0x1dd)];}}),Object[a15_0x4662a7(0x227)](exports,a15_0x4662a7(0x215),{'enumerable':!![],'get':function(){const _0x41baad=a15_0x4662a7;return interfaceSharding_1[_0x41baad(0x215)];}});function a15_0x31ae(){const _0x25dbb9=['DriverUtils','MODEL_SEARCH_KEY','splice','resolve','duration','getManyExplainCount','392UYYrGo','sleep','string','stream','lockMode','defineProperty','chunk','release','ENTIFY_MODULE','joinAppends','findOption','clone','113778AfIfvA','optimistic','findOne','andWhere','14SpUgyy','__esModule','skip','name','countsize','queryEntity','relations','queryResultCache','isExpired','decorator:anncic-api:typeorm:model:search','getFromCache','ENTITY_VIRTUAL_COLUMN_KEY','SelectQueryBuilder','metadata','461420JPvArQ','alias','getQueryAndParameters','createQueryBuilder','type','getExplainCount','1260200tvsuWd','findOneOrFail','end','\x20--\x20PARAMETERS:\x20','getMetadataArgsStorage','3wLnNzt','12919NSMmWL','decorator:anncic-api:typeorm:model','referencedColumnName','MODEL_KEY','374956vAXlZl','result','storeInCache','isArray','cache','findOneBy','limit','boolean','then','hasOwnProperty','EntityNotFoundError','target','ENTIFY_SHARDING_KEY','find','OptimisticLockVersionMismatchError','delay','driver','immediately','connection','./interfaceSharding','offset','alwaysEnabled','REPOSITORY_OBSERVE_KEY','OptimisticLockCanNotBeUsedError','relation','updateDateColumn','number','getClassMetadata','setFindOptions','propertyName','versionColumn','ShardingStrategy','many-to-one','cacheDuration','emit','ENTIFY_MODULE_SOURCE','typeorm','getTime','_appends','rows','ignoreErrors','map','listenerCount','one-to-one','(((.+)+)+)+$','abs','apply','options','resume','getManyAndCount','_joinAppendsResolve','getEntityValue','2613424COVgVU','expressionMap','many-to-many','records','prototype','query','joinColumns','@midwayjs/core','SearchPaginate','4KBBCOO','reject','getMany','joinColumn','default','push','relationType','decorator:anncic-api:typeorm:model:search:scope','one-to-many','38268NiLEsB','decorator:anncic-api:typeorm:entify','data','EXPLAIN\x20','destroy','getCount','decorator:anncic-api:typeorm:repository','getOne','constructor','search','all','stringify','take','function','REPOSITORY_KEY','lockVersion','length','clearTableExistsCache','isMySQLFamily','MODEL_SEARCH_SCOPE_KEY','toString','close','decorator:anncic-api:typeorm:entify:module:source','mainAlias'];a15_0x31ae=function(){return _0x25dbb9;};return a15_0x31ae();}class SearchPaginate{}exports[a15_0x4662a7(0x1fa)]=SearchPaginate,typeorm_2['SelectQueryBuilder'][a15_0x4662a7(0x1f6)][a15_0x4662a7(0x228)]=function(_0x15f087=0x64,_0x2ad735){const _0x2b381d=a15_0x4662a7;let _0x556f6a=0x1,_0x2463a3=0x64,_0x28d388=0x0,_0x4bafe2=0x0,_0x1b415a=![],_0x2e0f4e=!![];if(typeof _0x15f087=='number'||typeof _0x15f087==_0x2b381d(0x224))_0x2463a3=parseInt(''+_0x15f087);else _0x15f087&&((_0x15f087===null||_0x15f087===void 0x0?void 0x0:_0x15f087['size'])&&(_0x2463a3=parseInt(''+_0x15f087['size'])),(_0x15f087===null||_0x15f087===void 0x0?void 0x0:_0x15f087[_0x2b381d(0x236)])&&(_0x28d388=parseInt(''+_0x15f087['countsize'])),(_0x15f087===null||_0x15f087===void 0x0?void 0x0:_0x15f087[_0x2b381d(0x25f)])&&(_0x1b415a=typeof _0x15f087[_0x2b381d(0x25f)]=='boolean'?0x1f4:parseInt(''+_0x15f087[_0x2b381d(0x25f)])),typeof(_0x15f087===null||_0x15f087===void 0x0?void 0x0:_0x15f087[_0x2b381d(0x261)])==_0x2b381d(0x257)&&(_0x2e0f4e=_0x15f087[_0x2b381d(0x261)]));_0x28d388>0x0&&_0x28d388>_0x2463a3&&(_0x2463a3=_0x28d388);const _0x4e7c76=this,_0x155ad8=new stream_1['Readable']({'objectMode':!![],'highWaterMark':_0x2463a3*0x2,async 'read'(){const _0xd731b3=_0x2b381d;try{if(_0x28d388>0x0&&_0x28d388<=_0x4bafe2)this[_0xd731b3(0x1e8)](_0xd731b3(0x206))>0x0?this[_0xd731b3(0x200)](null):this[_0xd731b3(0x1e0)](_0xd731b3(0x248));else{const _0x32dcac=_0x4e7c76[_0xd731b3(0x22d)]()['limit'](Math['abs'](_0x2463a3))[_0xd731b3(0x264)]((Math[_0xd731b3(0x1eb)](_0x556f6a)-0x1)*Math[_0xd731b3(0x1eb)](_0x2463a3)),_0x3f09bc=await _0x32dcac[_0xd731b3(0x1fd)]();if((_0x3f09bc===null||_0x3f09bc===void 0x0?void 0x0:_0x3f09bc[_0xd731b3(0x214)])>0x0){_0x28d388>0x0&&_0x4bafe2+_0x3f09bc[_0xd731b3(0x214)]>_0x28d388&&_0x3f09bc[_0xd731b3(0x21e)](0x0,_0x28d388-(_0x4bafe2+_0x3f09bc[_0xd731b3(0x214)]-_0x28d388));if(typeof _0x2ad735==_0xd731b3(0x211)){const _0x2d5476=await _0x2ad735(_0x3f09bc,_0x556f6a,_0x32dcac[_0xd731b3(0x242)]());_0x2d5476&&Array[_0xd731b3(0x253)](_0x2d5476)?(_0x2d5476===null||_0x2d5476===void 0x0?void 0x0:_0x2d5476[_0xd731b3(0x214)])>0x0&&(_0x4bafe2+=_0x2d5476[_0xd731b3(0x214)],_0x28d388>0x0&&_0x4bafe2>_0x28d388&&_0x2d5476[_0xd731b3(0x21e)](0x0,_0x28d388-(_0x4bafe2-_0x28d388)),this['push'](_0x2d5476),_0x2d5476[_0xd731b3(0x214)]=0x0):(_0x4bafe2+=_0x3f09bc['length'],_0x28d388>0x0&&_0x4bafe2>_0x28d388&&_0x3f09bc[_0xd731b3(0x21e)](0x0,_0x28d388-(_0x4bafe2-_0x28d388)),this[_0xd731b3(0x200)](_0x3f09bc));}else _0x4bafe2+=_0x3f09bc[_0xd731b3(0x214)],_0x28d388>0x0&&_0x4bafe2>_0x28d388&&_0x3f09bc[_0xd731b3(0x21e)](0x0,_0x28d388-(_0x4bafe2-_0x28d388)),this[_0xd731b3(0x200)](_0x3f09bc);_0x3f09bc[_0xd731b3(0x214)]=0x0,_0x556f6a++,_0x1b415a&&typeof _0x1b415a==_0xd731b3(0x26a)&&await(0x0,sleep_1[_0xd731b3(0x223)])(_0x1b415a);}else this[_0xd731b3(0x1e8)]('data')>0x0?this['push'](null):this[_0xd731b3(0x1e0)](_0xd731b3(0x248));}}catch(_0x22b8fa){this[_0xd731b3(0x208)](_0x22b8fa);}}});return _0x155ad8['on'](_0x2b381d(0x248),()=>_0x155ad8[_0x2b381d(0x208)]()),_0x155ad8['on'](_0x2b381d(0x219),()=>_0x155ad8[_0x2b381d(0x208)]()),_0x2e0f4e&&_0x155ad8[_0x2b381d(0x1ee)](),_0x155ad8;},typeorm_3['EntityManager'][a15_0x4662a7(0x1f6)][a15_0x4662a7(0x247)]=async function(_0x2f69ca,_0x597d1b){const _0x3ddd97=a15_0x4662a7;return this[_0x3ddd97(0x230)](_0x2f69ca,_0x597d1b)[_0x3ddd97(0x258)](_0x5cf400=>{const _0x480ac5=_0x3ddd97;if(_0x5cf400===null||_0x5cf400===undefined)return Promise[_0x480ac5(0x1fc)](new typeorm_3['EntityNotFoundError'](_0x2f69ca,_0x597d1b));return Promise[_0x480ac5(0x21f)](_0x5cf400);});},typeorm_3['EntityManager'][a15_0x4662a7(0x1f6)]['findOneByOrFail']=async function(_0x1bb614,_0x1576f3){const _0x35cde2=a15_0x4662a7;return this[_0x35cde2(0x255)](_0x1bb614,_0x1576f3)[_0x35cde2(0x258)](_0x4fbb8e=>{const _0x189c19=_0x35cde2;if(_0x4fbb8e===null||_0x4fbb8e===undefined)return Promise[_0x189c19(0x1fc)](new typeorm_3[(_0x189c19(0x25a))](_0x1bb614,_0x1576f3));return Promise['resolve'](_0x4fbb8e);});},typeorm_2[a15_0x4662a7(0x23e)][a15_0x4662a7(0x1f6)]['getOne']=async function(){const _0x311f9a=a15_0x4662a7;var _0x717e64;const {entities:_0x5d80a0,raw:_0x1c7a5c}=await this['getRawAndEntities']();if(_0x5d80a0[0x0]&&this[_0x311f9a(0x1f3)][_0x311f9a(0x226)]==='optimistic'&&this[_0x311f9a(0x1f3)][_0x311f9a(0x213)]){const _0xbdfe93=this[_0x311f9a(0x1f3)][_0x311f9a(0x21b)][_0x311f9a(0x23f)];if(this['expressionMap'][_0x311f9a(0x213)]instanceof Date){const _0x2068ff=_0xbdfe93[_0x311f9a(0x269)]['getEntityValue'](_0x5d80a0[0x0]);if(_0x2068ff[_0x311f9a(0x1e3)]()!==this[_0x311f9a(0x1f3)]['lockVersion'][_0x311f9a(0x1e3)]())throw new typeorm_2['OptimisticLockVersionMismatchError'](_0xbdfe93[_0x311f9a(0x235)],this[_0x311f9a(0x1f3)][_0x311f9a(0x213)],_0x2068ff);}else{const _0x273048=_0xbdfe93[_0x311f9a(0x1dc)][_0x311f9a(0x1f1)](_0x5d80a0[0x0]);if(_0x273048!==this[_0x311f9a(0x1f3)][_0x311f9a(0x213)])throw new typeorm_2[(_0x311f9a(0x25e))](_0xbdfe93[_0x311f9a(0x235)],this[_0x311f9a(0x1f3)][_0x311f9a(0x213)],_0x273048);}}if(_0x5d80a0[0x0]&&_0x1c7a5c[0x0]){const _0x834205=(0x0,core_1[_0x311f9a(0x26b)])(exports[_0x311f9a(0x23d)],_0x5d80a0[0x0]);for(const _0x5e7fbf in _0x834205){_0x1c7a5c[0x0][_0x311f9a(0x259)](_0x5e7fbf)&&(_0x5d80a0[0x0][_0x5e7fbf]=_0x1c7a5c[0x0][_0x5e7fbf]||((_0x717e64=_0x834205[_0x5e7fbf])===null||_0x717e64===void 0x0?void 0x0:_0x717e64[_0x311f9a(0x1ff)])||'');}}return _0x5d80a0[0x0]&&typeof this[_0x311f9a(0x1f0)]==_0x311f9a(0x211)&&(_0x5d80a0[0x0]=await this[_0x311f9a(0x1f0)](_0x5d80a0[0x0])),_0x5d80a0[0x0]||null;},typeorm_2[a15_0x4662a7(0x23e)][a15_0x4662a7(0x1f6)]['getMany']=async function(){const _0x597104=a15_0x4662a7;if(this[_0x597104(0x1f3)][_0x597104(0x226)]===_0x597104(0x22f))throw new typeorm_2[(_0x597104(0x267))]();const {entities:_0x4ee9de,raw:_0x5213c2}=await this['getRawAndEntities']();return await Promise[_0x597104(0x20e)](_0x4ee9de[_0x597104(0x1e7)](async(_0x4a1734,_0x182b93)=>{const _0x52c01d=_0x597104;var _0x13095b;const _0xa9a0a8=(0x0,core_1[_0x52c01d(0x26b)])(exports[_0x52c01d(0x23d)],_0x4a1734)||{};for(const _0x1e66de in _0xa9a0a8){_0x5213c2[_0x182b93]&&_0x5213c2[_0x182b93][_0x52c01d(0x259)](_0x1e66de)&&(_0x4a1734[_0x1e66de]=_0x5213c2[_0x182b93][_0x1e66de]||((_0x13095b=_0xa9a0a8[_0x1e66de])===null||_0x13095b===void 0x0?void 0x0:_0x13095b['default'])||'');}return _0x4a1734&&typeof this[_0x52c01d(0x1f0)]=='function'&&(_0x4a1734=await this[_0x52c01d(0x1f0)](_0x4a1734)),_0x4a1734;}));},typeorm_2[a15_0x4662a7(0x23e)][a15_0x4662a7(0x1f6)][a15_0x4662a7(0x1ef)]=async function(){const _0x112587=a15_0x4662a7;return[await this[_0x112587(0x1fd)](),await this['getCount']()];},typeorm_2[a15_0x4662a7(0x23e)]['prototype'][a15_0x4662a7(0x221)]=async function(){const _0x3fbefd=a15_0x4662a7;return[await this['getMany'](),await this[_0x3fbefd(0x245)]()];},typeorm_2[a15_0x4662a7(0x23e)][a15_0x4662a7(0x1f6)][a15_0x4662a7(0x245)]=async function(){const _0x2a5664=a15_0x4662a7;var _0x208101,_0x53c33d,_0x451c2e,_0x1964d5;if(DriverUtils_1[_0x2a5664(0x21c)][_0x2a5664(0x216)](this[_0x2a5664(0x262)][_0x2a5664(0x260)])){const _0xf18427=this['obtainQueryRunner']();try{this[_0x2a5664(0x1f3)][_0x2a5664(0x237)]=![];const [_0x18c943,_0x2c8d51]=this[_0x2a5664(0x22d)]()[_0x2a5664(0x264)](undefined)[_0x2a5664(0x256)](undefined)[_0x2a5664(0x234)](undefined)[_0x2a5664(0x210)](undefined)[_0x2a5664(0x242)](),_0x37fa0f=_0x2a5664(0x207)+_0x18c943+_0x2a5664(0x249)+JSON['stringify'](_0x2c8d51),_0x3b74f8=typeof this[_0x2a5664(0x262)][_0x2a5664(0x1ed)]['cache']==='object'?this[_0x2a5664(0x262)][_0x2a5664(0x1ed)][_0x2a5664(0x254)]:{},_0x389e5e=_0x3b74f8[_0x2a5664(0x265)]&&this[_0x2a5664(0x1f3)][_0x2a5664(0x254)]||this['expressionMap']['cache'];let _0x337ab4=undefined,_0x41a34b=![];if(this['connection'][_0x2a5664(0x239)]&&_0x389e5e)try{_0x337ab4=await this[_0x2a5664(0x262)][_0x2a5664(0x239)][_0x2a5664(0x23c)]({'query':_0x37fa0f,'identifier':this['expressionMap']['cacheId'],'duration':this[_0x2a5664(0x1f3)][_0x2a5664(0x1df)]||_0x3b74f8[_0x2a5664(0x220)]||0x3e8},_0xf18427);if(_0x337ab4&&!this[_0x2a5664(0x262)]['queryResultCache'][_0x2a5664(0x23a)](_0x337ab4))return parseInt(((_0x53c33d=(_0x208101=JSON['parse'](_0x337ab4[_0x2a5664(0x251)]))===null||_0x208101===void 0x0?void 0x0:_0x208101[0x0])===null||_0x53c33d===void 0x0?void 0x0:_0x53c33d[_0x2a5664(0x1e5)])||'0');}catch(_0x30f618){if(!_0x3b74f8[_0x2a5664(0x1e6)])throw _0x30f618;_0x41a34b=!![];}const _0x1b2216=await _0xf18427[_0x2a5664(0x1f7)](_0x2a5664(0x207)+_0x18c943,_0x2c8d51,!![]);if(!_0x41a34b&&this[_0x2a5664(0x262)][_0x2a5664(0x239)]&&_0x389e5e)try{await this['connection'][_0x2a5664(0x239)][_0x2a5664(0x252)]({'query':_0x37fa0f,'time':new Date()[_0x2a5664(0x1e3)](),'identifier':this[_0x2a5664(0x1f3)]['cacheId'],'duration':this[_0x2a5664(0x1f3)][_0x2a5664(0x1df)]||_0x3b74f8[_0x2a5664(0x220)]||0x3e8,'result':JSON[_0x2a5664(0x20f)](_0x1b2216[_0x2a5664(0x1f5)])},_0x337ab4,_0xf18427);}catch(_0x264753){if(!_0x3b74f8[_0x2a5664(0x1e6)])throw _0x264753;}return parseInt(((_0x1964d5=(_0x451c2e=_0x1b2216[_0x2a5664(0x1f5)])===null||_0x451c2e===void 0x0?void 0x0:_0x451c2e[0x0])===null||_0x1964d5===void 0x0?void 0x0:_0x1964d5[_0x2a5664(0x1e5)])||'0');}catch(_0x567316){throw _0x567316;}finally{_0xf18427!==this['queryRunner']&&await _0xf18427[_0x2a5664(0x229)]();}}else return this[_0x2a5664(0x209)]();},typeorm_2[a15_0x4662a7(0x23e)][a15_0x4662a7(0x1f6)][a15_0x4662a7(0x22b)]=function(_0x30e2a8,_0x40bebb){const _0x140328=a15_0x4662a7;_0x30e2a8['startsWith'](this['alias']+'.')&&(_0x30e2a8=_0x30e2a8['substring']((this[_0x140328(0x241)]+'.')[_0x140328(0x214)]));const _0x5e99a9=typeof _0x40bebb==_0x140328(0x224)?{'alias':_0x40bebb}:_0x40bebb,_0x167aa3=this[_0x140328(0x1f3)]['mainAlias'][_0x140328(0x23f)],_0x44ece4=(0x0,typeorm_1[_0x140328(0x24a)])(),_0x56a7ed=_0x44ece4[_0x140328(0x238)][_0x140328(0x25d)](_0x4aca50=>_0x4aca50[_0x140328(0x25b)]==_0x167aa3[_0x140328(0x25b)]&&_0x4aca50[_0x140328(0x26d)]==_0x30e2a8);if((_0x167aa3===null||_0x167aa3===void 0x0?void 0x0:_0x167aa3['target'])&&(_0x56a7ed===null||_0x56a7ed===void 0x0?void 0x0:_0x56a7ed['propertyName'])){!this[_0x140328(0x1e4)]&&(this['_appends']=[]);if(_0x56a7ed[_0x140328(0x201)]==_0x140328(0x1de)||_0x56a7ed[_0x140328(0x201)]==_0x140328(0x1e9)){const _0x5f493e=_0x44ece4[_0x140328(0x1f8)][_0x140328(0x25d)](_0x303ed1=>_0x303ed1[_0x140328(0x25b)]==_0x167aa3[_0x140328(0x25b)]&&_0x303ed1[_0x140328(0x26d)]==_0x30e2a8);_0x56a7ed[_0x140328(0x26d)]==(_0x5f493e===null||_0x5f493e===void 0x0?void 0x0:_0x5f493e[_0x140328(0x26d)])&&(!this[_0x140328(0x1e4)][_0x140328(0x25d)](_0x1ba1e5=>_0x1ba1e5[_0x140328(0x241)]==((_0x5e99a9===null||_0x5e99a9===void 0x0?void 0x0:_0x5e99a9['alias'])||_0x30e2a8))&&this[_0x140328(0x1e4)][_0x140328(0x200)]({'alias':(_0x5e99a9===null||_0x5e99a9===void 0x0?void 0x0:_0x5e99a9[_0x140328(0x241)])||_0x30e2a8,'relation':_0x56a7ed,'joinColumn':_0x5f493e,'findOption':(_0x5e99a9===null||_0x5e99a9===void 0x0?void 0x0:_0x5e99a9[_0x140328(0x22c)])||undefined}));}else{if(_0x56a7ed['relationType']==_0x140328(0x203))try{const _0x174f04=_0x44ece4[_0x140328(0x238)][_0x140328(0x25d)](_0x32ea50=>_0x32ea50[_0x140328(0x25b)]==_0x56a7ed['type'](_0x56a7ed['propertyName'])&&_0x32ea50[_0x140328(0x244)](_0x32ea50['relationType'])==_0x167aa3[_0x140328(0x25b)]),_0x4e41bc=_0x44ece4['joinColumns'][_0x140328(0x25d)](_0x1229aa=>_0x1229aa[_0x140328(0x25b)]==_0x174f04[_0x140328(0x25b)]&&_0x1229aa[_0x140328(0x26d)]==_0x174f04['propertyName']);_0x174f04[_0x140328(0x26d)]==(_0x4e41bc===null||_0x4e41bc===void 0x0?void 0x0:_0x4e41bc[_0x140328(0x26d)])&&(!this['_appends'][_0x140328(0x25d)](_0x42ff60=>_0x42ff60[_0x140328(0x241)]==((_0x5e99a9===null||_0x5e99a9===void 0x0?void 0x0:_0x5e99a9[_0x140328(0x241)])||_0x30e2a8))&&this[_0x140328(0x1e4)]['push']({'alias':(_0x5e99a9===null||_0x5e99a9===void 0x0?void 0x0:_0x5e99a9[_0x140328(0x241)])||_0x30e2a8,'relation':_0x56a7ed,'joinColumn':_0x4e41bc,'findOption':(_0x5e99a9===null||_0x5e99a9===void 0x0?void 0x0:_0x5e99a9[_0x140328(0x22c)])||undefined}));}catch(_0x459de3){}}}return this;},typeorm_2[a15_0x4662a7(0x23e)][a15_0x4662a7(0x1f6)][a15_0x4662a7(0x1f0)]=async function(_0x213384){const _0x41903f=a15_0x4662a7;var _0x444a72,_0x37065d,_0x12db1c,_0x5f3acf;for(const _0x28a700 of this['_appends']||[]){if(!((_0x444a72=_0x28a700===null||_0x28a700===void 0x0?void 0x0:_0x28a700['relation'])===null||_0x444a72===void 0x0?void 0x0:_0x444a72['relationType']))continue;if(!((_0x37065d=_0x28a700===null||_0x28a700===void 0x0?void 0x0:_0x28a700[_0x41903f(0x1fe)])===null||_0x37065d===void 0x0?void 0x0:_0x37065d[_0x41903f(0x235)])||!((_0x12db1c=_0x28a700===null||_0x28a700===void 0x0?void 0x0:_0x28a700[_0x41903f(0x1fe)])===null||_0x12db1c===void 0x0?void 0x0:_0x12db1c[_0x41903f(0x24e)]))continue;if(!_0x213384[_0x28a700[_0x41903f(0x1fe)]['referencedColumnName']])continue;if(typeof((_0x5f3acf=_0x28a700===null||_0x28a700===void 0x0?void 0x0:_0x28a700[_0x41903f(0x268)])===null||_0x5f3acf===void 0x0?void 0x0:_0x5f3acf['type'])!='function')continue;if(_0x28a700[_0x41903f(0x268)]['relationType']==_0x41903f(0x1de)||_0x28a700[_0x41903f(0x268)][_0x41903f(0x201)]=='one-to-one'){const _0x1518ba=this[_0x41903f(0x262)][_0x41903f(0x243)](_0x28a700['relation'][_0x41903f(0x244)](_0x28a700['relation'][_0x41903f(0x201)]),_0x28a700[_0x41903f(0x268)][_0x41903f(0x26d)])['withDeleted']();(_0x28a700===null||_0x28a700===void 0x0?void 0x0:_0x28a700[_0x41903f(0x22c)])&&_0x1518ba[_0x41903f(0x26c)]({..._0x28a700[_0x41903f(0x22c)],'skip':0x0,'take':0x1}),_0x213384[_0x28a700[_0x41903f(0x241)]]=await _0x1518ba[_0x41903f(0x231)](_0x1518ba[_0x41903f(0x241)]+'.'+_0x28a700[_0x41903f(0x1fe)][_0x41903f(0x24e)]+'\x20=\x20:'+_0x28a700[_0x41903f(0x1fe)][_0x41903f(0x24e)],{[_0x28a700[_0x41903f(0x1fe)][_0x41903f(0x24e)]]:_0x213384[_0x28a700[_0x41903f(0x1fe)][_0x41903f(0x235)]]})[_0x41903f(0x20b)]();}else{if(_0x28a700[_0x41903f(0x268)][_0x41903f(0x201)]==_0x41903f(0x203)||_0x28a700[_0x41903f(0x268)]['relationType']==_0x41903f(0x1f4)){const _0x20488c=this[_0x41903f(0x262)][_0x41903f(0x243)](_0x28a700[_0x41903f(0x268)]['type'](_0x28a700[_0x41903f(0x268)][_0x41903f(0x201)]),_0x28a700[_0x41903f(0x268)][_0x41903f(0x26d)])['withDeleted']();(_0x28a700===null||_0x28a700===void 0x0?void 0x0:_0x28a700[_0x41903f(0x22c)])&&_0x20488c[_0x41903f(0x26c)]({'skip':0x0,'take':0xa,..._0x28a700['findOption']}),_0x213384[_0x28a700['alias']]=await _0x20488c[_0x41903f(0x231)](_0x20488c[_0x41903f(0x241)]+'.'+_0x28a700[_0x41903f(0x1fe)]['name']+'\x20=\x20:'+_0x28a700[_0x41903f(0x1fe)][_0x41903f(0x235)],{[_0x28a700[_0x41903f(0x1fe)][_0x41903f(0x235)]]:_0x213384[_0x28a700[_0x41903f(0x1fe)][_0x41903f(0x24e)]]})[_0x41903f(0x1fd)]();}}}return _0x213384;};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SearchPaginate = exports.clearTableExistsCache = exports.ShardingStrategy = exports.ENTITY_VIRTUAL_COLUMN_KEY = exports.MODEL_SEARCH_SCOPE_KEY = exports.MODEL_SEARCH_KEY = exports.MODEL_KEY = exports.REPOSITORY_OBSERVE_KEY = exports.REPOSITORY_KEY = exports.ENTIFY_SHARDING_KEY = exports.ENTIFY_MODULE_SOURCE = exports.ENTIFY_MODULE = exports.ENTIFY_KEY = void 0;
|
|
4
|
+
const stream_1 = require("stream");
|
|
5
|
+
const core_1 = require("@midwayjs/core");
|
|
6
|
+
const typeorm_1 = require("typeorm");
|
|
7
|
+
const DriverUtils_1 = require("typeorm/driver/DriverUtils");
|
|
8
|
+
const typeorm_2 = require("typeorm");
|
|
9
|
+
const typeorm_3 = require("typeorm");
|
|
10
|
+
require("./interfaceSharding");
|
|
11
|
+
const sleep_1 = require("./helper/sleep");
|
|
12
|
+
exports.ENTIFY_KEY = 'decorator:anncic-api:typeorm:entify';
|
|
13
|
+
exports.ENTIFY_MODULE = 'decorator:anncic-api:typeorm:entify:module';
|
|
14
|
+
exports.ENTIFY_MODULE_SOURCE = 'decorator:anncic-api:typeorm:entify:module:source';
|
|
15
|
+
exports.ENTIFY_SHARDING_KEY = 'decorator:anncic-api:typeorm:entify:sharding';
|
|
16
|
+
exports.REPOSITORY_KEY = 'decorator:anncic-api:typeorm:repository';
|
|
17
|
+
exports.REPOSITORY_OBSERVE_KEY = 'decorator:anncic-api:typeorm:repository:observe';
|
|
18
|
+
exports.MODEL_KEY = 'decorator:anncic-api:typeorm:model';
|
|
19
|
+
exports.MODEL_SEARCH_KEY = 'decorator:anncic-api:typeorm:model:search';
|
|
20
|
+
exports.MODEL_SEARCH_SCOPE_KEY = 'decorator:anncic-api:typeorm:model:search:scope';
|
|
21
|
+
exports.ENTITY_VIRTUAL_COLUMN_KEY = 'decorator:anncic-api:typeorm:entity:virtual:column';
|
|
22
|
+
var interfaceSharding_1 = require("./interfaceSharding");
|
|
23
|
+
Object.defineProperty(exports, "ShardingStrategy", { enumerable: true, get: function () { return interfaceSharding_1.ShardingStrategy; } });
|
|
24
|
+
Object.defineProperty(exports, "clearTableExistsCache", { enumerable: true, get: function () { return interfaceSharding_1.clearTableExistsCache; } });
|
|
25
|
+
class SearchPaginate {
|
|
26
|
+
}
|
|
27
|
+
exports.SearchPaginate = SearchPaginate;
|
|
28
|
+
typeorm_2.SelectQueryBuilder.prototype.chunk = function (optionORsize = 100, callback) {
|
|
29
|
+
let pageindex = 1, pagesize = 100, countsize = 0, countchunksize = 0, optionDelay = false, optionImmediately = true;
|
|
30
|
+
if (typeof (optionORsize) == 'number' || typeof (optionORsize) == 'string') {
|
|
31
|
+
pagesize = parseInt(`${optionORsize}`);
|
|
32
|
+
}
|
|
33
|
+
else if (optionORsize) {
|
|
34
|
+
if (optionORsize === null || optionORsize === void 0 ? void 0 : optionORsize.size) {
|
|
35
|
+
pagesize = parseInt(`${optionORsize.size}`);
|
|
36
|
+
}
|
|
37
|
+
if (optionORsize === null || optionORsize === void 0 ? void 0 : optionORsize.countsize) {
|
|
38
|
+
countsize = parseInt(`${optionORsize.countsize}`);
|
|
39
|
+
}
|
|
40
|
+
if (optionORsize === null || optionORsize === void 0 ? void 0 : optionORsize.delay) {
|
|
41
|
+
optionDelay = typeof (optionORsize.delay) == 'boolean' ? 500 : parseInt(`${optionORsize.delay}`);
|
|
42
|
+
}
|
|
43
|
+
if (typeof (optionORsize === null || optionORsize === void 0 ? void 0 : optionORsize.immediately) == 'boolean') {
|
|
44
|
+
optionImmediately = optionORsize.immediately;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (countsize > 0 && countsize > pagesize) {
|
|
48
|
+
pagesize = countsize;
|
|
49
|
+
}
|
|
50
|
+
const ChunkQueryBuilder = this, ChunkReadable = new stream_1.Readable({
|
|
51
|
+
objectMode: true,
|
|
52
|
+
highWaterMark: pagesize * 2,
|
|
53
|
+
async read() {
|
|
54
|
+
try {
|
|
55
|
+
if (countsize > 0 && countsize <= countchunksize) {
|
|
56
|
+
if (this.listenerCount('data') > 0) {
|
|
57
|
+
this.push(null);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
this.emit('end');
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
const ChunkQuery = ChunkQueryBuilder.clone().limit(Math.abs(pagesize)).offset((Math.abs(pageindex) - 1) * Math.abs(pagesize)), tmpModels = await ChunkQuery.getMany();
|
|
65
|
+
if ((tmpModels === null || tmpModels === void 0 ? void 0 : tmpModels.length) > 0) {
|
|
66
|
+
if (countsize > 0 && (countchunksize + tmpModels.length) > countsize) {
|
|
67
|
+
tmpModels.splice(0, countsize - ((countchunksize + tmpModels.length) - countsize));
|
|
68
|
+
}
|
|
69
|
+
if (typeof (callback) == 'function') {
|
|
70
|
+
const callbackModels = await callback(tmpModels, pageindex, ChunkQuery.getQueryAndParameters());
|
|
71
|
+
if (callbackModels && Array.isArray(callbackModels)) {
|
|
72
|
+
if ((callbackModels === null || callbackModels === void 0 ? void 0 : callbackModels.length) > 0) {
|
|
73
|
+
countchunksize += callbackModels.length;
|
|
74
|
+
if (countsize > 0 && countchunksize > countsize) {
|
|
75
|
+
callbackModels.splice(0, countsize - (countchunksize - countsize));
|
|
76
|
+
}
|
|
77
|
+
this.push(callbackModels), callbackModels.length = 0;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
countchunksize += tmpModels.length;
|
|
82
|
+
if (countsize > 0 && countchunksize > countsize) {
|
|
83
|
+
tmpModels.splice(0, countsize - (countchunksize - countsize));
|
|
84
|
+
}
|
|
85
|
+
this.push(tmpModels);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
countchunksize += tmpModels.length;
|
|
90
|
+
if (countsize > 0 && countchunksize > countsize) {
|
|
91
|
+
tmpModels.splice(0, countsize - (countchunksize - countsize));
|
|
92
|
+
}
|
|
93
|
+
this.push(tmpModels);
|
|
94
|
+
}
|
|
95
|
+
tmpModels.length = 0, pageindex++;
|
|
96
|
+
if (optionDelay && typeof (optionDelay) == 'number') {
|
|
97
|
+
await (0, sleep_1.sleep)(optionDelay);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
if (this.listenerCount('data') > 0) {
|
|
102
|
+
this.push(null);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
this.emit('end');
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
this.destroy(error);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
ChunkReadable.on("end", () => ChunkReadable.destroy());
|
|
116
|
+
ChunkReadable.on("close", () => ChunkReadable.destroy());
|
|
117
|
+
if (optionImmediately) {
|
|
118
|
+
ChunkReadable.resume();
|
|
119
|
+
}
|
|
120
|
+
return ChunkReadable;
|
|
121
|
+
};
|
|
122
|
+
typeorm_3.EntityManager.prototype.findOneOrFail = async function (entityClass, options) {
|
|
123
|
+
return this.findOne(entityClass, options).then(value => {
|
|
124
|
+
if (value === null || value === undefined) {
|
|
125
|
+
return Promise.reject(new typeorm_3.EntityNotFoundError(entityClass, options));
|
|
126
|
+
}
|
|
127
|
+
return Promise.resolve(value);
|
|
128
|
+
});
|
|
129
|
+
};
|
|
130
|
+
typeorm_3.EntityManager.prototype.findOneByOrFail = async function (entityClass, where) {
|
|
131
|
+
return this.findOneBy(entityClass, where).then(value => {
|
|
132
|
+
if (value === null || value === undefined) {
|
|
133
|
+
return Promise.reject(new typeorm_3.EntityNotFoundError(entityClass, where));
|
|
134
|
+
}
|
|
135
|
+
return Promise.resolve(value);
|
|
136
|
+
});
|
|
137
|
+
};
|
|
138
|
+
typeorm_2.SelectQueryBuilder.prototype.getOne = async function () {
|
|
139
|
+
var _a;
|
|
140
|
+
const { entities, raw } = await this.getRawAndEntities();
|
|
141
|
+
if (entities[0] && this.expressionMap.lockMode === "optimistic" && this.expressionMap.lockVersion) {
|
|
142
|
+
const metadata = this.expressionMap.mainAlias.metadata;
|
|
143
|
+
if (this.expressionMap.lockVersion instanceof Date) {
|
|
144
|
+
const actualVersion = metadata.updateDateColumn.getEntityValue(entities[0]);
|
|
145
|
+
if (actualVersion.getTime() !== this.expressionMap.lockVersion.getTime()) {
|
|
146
|
+
throw new typeorm_2.OptimisticLockVersionMismatchError(metadata.name, this.expressionMap.lockVersion, actualVersion);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
const actualVersion = metadata.versionColumn.getEntityValue(entities[0]);
|
|
151
|
+
if (actualVersion !== this.expressionMap.lockVersion) {
|
|
152
|
+
throw new typeorm_2.OptimisticLockVersionMismatchError(metadata.name, this.expressionMap.lockVersion, actualVersion);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
if (entities[0] && raw[0]) {
|
|
157
|
+
const metaInfo = (0, core_1.getClassMetadata)(exports.ENTITY_VIRTUAL_COLUMN_KEY, entities[0]);
|
|
158
|
+
for (const propertyKey in metaInfo) {
|
|
159
|
+
if (raw[0].hasOwnProperty(propertyKey)) {
|
|
160
|
+
entities[0][propertyKey] = raw[0][propertyKey] || ((_a = metaInfo[propertyKey]) === null || _a === void 0 ? void 0 : _a.default) || '';
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
if (entities[0] && typeof (this._joinAppendsResolve) == 'function') {
|
|
165
|
+
entities[0] = await this._joinAppendsResolve(entities[0]);
|
|
166
|
+
}
|
|
167
|
+
return entities[0] || null;
|
|
168
|
+
};
|
|
169
|
+
typeorm_2.SelectQueryBuilder.prototype.getMany = async function () {
|
|
170
|
+
if (this.expressionMap.lockMode === "optimistic") {
|
|
171
|
+
throw new typeorm_2.OptimisticLockCanNotBeUsedError();
|
|
172
|
+
}
|
|
173
|
+
const { entities, raw } = await this.getRawAndEntities();
|
|
174
|
+
return await Promise.all(entities.map(async (entitiy, index) => {
|
|
175
|
+
var _a;
|
|
176
|
+
const metaInfo = (0, core_1.getClassMetadata)(exports.ENTITY_VIRTUAL_COLUMN_KEY, entitiy) || {};
|
|
177
|
+
for (const propertyKey in metaInfo) {
|
|
178
|
+
if (raw[index] && raw[index].hasOwnProperty(propertyKey)) {
|
|
179
|
+
entitiy[propertyKey] = raw[index][propertyKey] || ((_a = metaInfo[propertyKey]) === null || _a === void 0 ? void 0 : _a.default) || '';
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
if (entitiy && typeof (this._joinAppendsResolve) == 'function') {
|
|
183
|
+
entitiy = await this._joinAppendsResolve(entitiy);
|
|
184
|
+
}
|
|
185
|
+
return entitiy;
|
|
186
|
+
}));
|
|
187
|
+
};
|
|
188
|
+
typeorm_2.SelectQueryBuilder.prototype.getManyAndCount = async function () {
|
|
189
|
+
return [await this.getMany(), await this.getCount()];
|
|
190
|
+
};
|
|
191
|
+
typeorm_2.SelectQueryBuilder.prototype.getManyExplainCount = async function () {
|
|
192
|
+
return [await this.getMany(), await this.getExplainCount()];
|
|
193
|
+
};
|
|
194
|
+
typeorm_2.SelectQueryBuilder.prototype.getExplainCount = async function () {
|
|
195
|
+
var _a, _b, _c, _d;
|
|
196
|
+
if (DriverUtils_1.DriverUtils.isMySQLFamily(this.connection.driver)) {
|
|
197
|
+
const queryRunner = this.obtainQueryRunner();
|
|
198
|
+
try {
|
|
199
|
+
this.expressionMap.queryEntity = false;
|
|
200
|
+
const [sql, parameters] = this.clone().offset(undefined).limit(undefined).skip(undefined).take(undefined).getQueryAndParameters();
|
|
201
|
+
const queryId = "EXPLAIN " + sql + " -- PARAMETERS: " + JSON.stringify(parameters);
|
|
202
|
+
const cacheOptions = typeof this.connection.options.cache === "object" ? this.connection.options.cache : {};
|
|
203
|
+
const isCachingEnabled = (cacheOptions.alwaysEnabled && this.expressionMap.cache) || this.expressionMap.cache;
|
|
204
|
+
let savedQueryResultCacheOptions = undefined, cacheError = false;
|
|
205
|
+
if (this.connection.queryResultCache && isCachingEnabled) {
|
|
206
|
+
try {
|
|
207
|
+
savedQueryResultCacheOptions = await this.connection.queryResultCache.getFromCache({
|
|
208
|
+
query: queryId,
|
|
209
|
+
identifier: this.expressionMap.cacheId,
|
|
210
|
+
duration: this.expressionMap.cacheDuration || cacheOptions.duration || 1000,
|
|
211
|
+
}, queryRunner);
|
|
212
|
+
if (savedQueryResultCacheOptions && !this.connection.queryResultCache.isExpired(savedQueryResultCacheOptions)) {
|
|
213
|
+
return parseInt(((_b = (_a = (JSON.parse(savedQueryResultCacheOptions.result))) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.rows) || '0');
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
catch (error) {
|
|
217
|
+
if (!cacheOptions.ignoreErrors) {
|
|
218
|
+
throw error;
|
|
219
|
+
}
|
|
220
|
+
cacheError = true;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
const results = await queryRunner.query(`EXPLAIN ${sql}`, parameters, true);
|
|
224
|
+
if (!cacheError && this.connection.queryResultCache && isCachingEnabled) {
|
|
225
|
+
try {
|
|
226
|
+
await this.connection.queryResultCache.storeInCache({
|
|
227
|
+
query: queryId,
|
|
228
|
+
time: new Date().getTime(),
|
|
229
|
+
identifier: this.expressionMap.cacheId,
|
|
230
|
+
duration: this.expressionMap.cacheDuration || cacheOptions.duration || 1000,
|
|
231
|
+
result: JSON.stringify(results.records),
|
|
232
|
+
}, savedQueryResultCacheOptions, queryRunner);
|
|
233
|
+
}
|
|
234
|
+
catch (error) {
|
|
235
|
+
if (!cacheOptions.ignoreErrors) {
|
|
236
|
+
throw error;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
return parseInt(((_d = (_c = results.records) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.rows) || '0');
|
|
241
|
+
}
|
|
242
|
+
catch (error) {
|
|
243
|
+
throw error;
|
|
244
|
+
}
|
|
245
|
+
finally {
|
|
246
|
+
if (queryRunner !== this.queryRunner) {
|
|
247
|
+
await queryRunner.release();
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
return this.getCount();
|
|
253
|
+
}
|
|
254
|
+
};
|
|
255
|
+
typeorm_2.SelectQueryBuilder.prototype.joinAppends = function (append, option) {
|
|
256
|
+
if (append.startsWith(`${this.alias}.`)) {
|
|
257
|
+
append = append.substring(`${this.alias}.`.length);
|
|
258
|
+
}
|
|
259
|
+
const options = typeof (option) == 'string' ? { alias: option } : option;
|
|
260
|
+
const metadata = this.expressionMap.mainAlias.metadata, metastorage = (0, typeorm_1.getMetadataArgsStorage)();
|
|
261
|
+
const relation = metastorage.relations.find(item => item.target == metadata.target && item.propertyName == append);
|
|
262
|
+
if ((metadata === null || metadata === void 0 ? void 0 : metadata.target) && (relation === null || relation === void 0 ? void 0 : relation.propertyName)) {
|
|
263
|
+
if (!this._appends) {
|
|
264
|
+
this._appends = [];
|
|
265
|
+
}
|
|
266
|
+
if (relation.relationType == 'many-to-one' || relation.relationType == 'one-to-one') {
|
|
267
|
+
const joinColumn = metastorage.joinColumns.find(item => item.target == metadata.target && item.propertyName == append);
|
|
268
|
+
if (relation.propertyName == (joinColumn === null || joinColumn === void 0 ? void 0 : joinColumn.propertyName)) {
|
|
269
|
+
if (!this._appends.find(item => item.alias == ((options === null || options === void 0 ? void 0 : options.alias) || append))) {
|
|
270
|
+
this._appends.push({ alias: (options === null || options === void 0 ? void 0 : options.alias) || append, relation, joinColumn, findOption: (options === null || options === void 0 ? void 0 : options.findOption) || undefined });
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
else if (relation.relationType == 'one-to-many') {
|
|
275
|
+
try {
|
|
276
|
+
const joinRelation = metastorage.relations.find(item => item.target == relation.type(relation.propertyName) && item.type(item.relationType) == metadata.target);
|
|
277
|
+
const joinRelationColumn = metastorage.joinColumns.find(item => item.target == joinRelation.target && item.propertyName == joinRelation.propertyName);
|
|
278
|
+
if (joinRelation.propertyName == (joinRelationColumn === null || joinRelationColumn === void 0 ? void 0 : joinRelationColumn.propertyName)) {
|
|
279
|
+
if (!this._appends.find(item => item.alias == ((options === null || options === void 0 ? void 0 : options.alias) || append))) {
|
|
280
|
+
this._appends.push({ alias: (options === null || options === void 0 ? void 0 : options.alias) || append, relation, joinColumn: joinRelationColumn, findOption: (options === null || options === void 0 ? void 0 : options.findOption) || undefined });
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
catch (error) {
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
return this;
|
|
289
|
+
};
|
|
290
|
+
typeorm_2.SelectQueryBuilder.prototype._joinAppendsResolve = async function (entityData) {
|
|
291
|
+
var _a, _b, _c, _d;
|
|
292
|
+
for (const append of (this._appends || [])) {
|
|
293
|
+
if (!((_a = append === null || append === void 0 ? void 0 : append.relation) === null || _a === void 0 ? void 0 : _a.relationType)) {
|
|
294
|
+
continue;
|
|
295
|
+
}
|
|
296
|
+
if (!((_b = append === null || append === void 0 ? void 0 : append.joinColumn) === null || _b === void 0 ? void 0 : _b.name) || !((_c = append === null || append === void 0 ? void 0 : append.joinColumn) === null || _c === void 0 ? void 0 : _c.referencedColumnName)) {
|
|
297
|
+
continue;
|
|
298
|
+
}
|
|
299
|
+
if (!entityData[append.joinColumn.referencedColumnName]) {
|
|
300
|
+
continue;
|
|
301
|
+
}
|
|
302
|
+
if (typeof ((_d = append === null || append === void 0 ? void 0 : append.relation) === null || _d === void 0 ? void 0 : _d.type) != 'function') {
|
|
303
|
+
continue;
|
|
304
|
+
}
|
|
305
|
+
if (append.relation.relationType == 'many-to-one' || append.relation.relationType == 'one-to-one') {
|
|
306
|
+
const QueryBuilder = this.connection.createQueryBuilder(append.relation.type(append.relation.relationType), append.relation.propertyName).withDeleted();
|
|
307
|
+
if (append === null || append === void 0 ? void 0 : append.findOption) {
|
|
308
|
+
QueryBuilder.setFindOptions({ ...append.findOption, skip: 0, take: 1 });
|
|
309
|
+
}
|
|
310
|
+
entityData[append.alias] = await QueryBuilder.andWhere(`${QueryBuilder.alias}.${append.joinColumn.referencedColumnName} = :${append.joinColumn.referencedColumnName}`, {
|
|
311
|
+
[append.joinColumn.referencedColumnName]: entityData[append.joinColumn.name]
|
|
312
|
+
}).getOne();
|
|
313
|
+
}
|
|
314
|
+
else if (append.relation.relationType == 'one-to-many' || append.relation.relationType == 'many-to-many') {
|
|
315
|
+
const QueryBuilder = this.connection.createQueryBuilder(append.relation.type(append.relation.relationType), append.relation.propertyName).withDeleted();
|
|
316
|
+
if (append === null || append === void 0 ? void 0 : append.findOption) {
|
|
317
|
+
QueryBuilder.setFindOptions({ skip: 0, take: 10, ...append.findOption });
|
|
318
|
+
}
|
|
319
|
+
entityData[append.alias] = await QueryBuilder.andWhere(`${QueryBuilder.alias}.${append.joinColumn.name} = :${append.joinColumn.name}`, {
|
|
320
|
+
[append.joinColumn.name]: entityData[append.joinColumn.referencedColumnName]
|
|
321
|
+
}).getMany();
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
return entityData;
|
|
325
|
+
};
|
|
326
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBa0M7QUFDbEMseUNBQWtEO0FBQ2xELHFDQUFrRjtBQUlsRiw0REFBeUQ7QUFDekQscUNBQWtIO0FBQ2xILHFDQUFnTDtBQUdoTCwrQkFBNkI7QUFFN0IsMENBQXVDO0FBSTFCLFFBQUEsVUFBVSxHQUFHLHFDQUFxQyxDQUFDO0FBQ25ELFFBQUEsYUFBYSxHQUFHLDRDQUE0QyxDQUFDO0FBQzdELFFBQUEsb0JBQW9CLEdBQUcsbURBQW1ELENBQUM7QUFDM0UsUUFBQSxtQkFBbUIsR0FBRyw4Q0FBOEMsQ0FBQztBQUNyRSxRQUFBLGNBQWMsR0FBRyx5Q0FBeUMsQ0FBQztBQUMzRCxRQUFBLHNCQUFzQixHQUFHLGlEQUFpRCxDQUFDO0FBQzNFLFFBQUEsU0FBUyxHQUFHLG9DQUFvQyxDQUFDO0FBQ2pELFFBQUEsZ0JBQWdCLEdBQUcsMkNBQTJDLENBQUM7QUFDL0QsUUFBQSxzQkFBc0IsR0FBRyxpREFBaUQsQ0FBQztBQUMzRSxRQUFBLHlCQUF5QixHQUFHLG9EQUFvRCxDQUFDO0FBRzlGLHlEQUErRjtBQUFyRSxxSEFBQSxnQkFBZ0IsT0FBQTtBQUFFLDBIQUFBLHFCQUFxQixPQUFBO0FBcUJqRSxNQUFhLGNBQWM7Q0FLMUI7QUFMRCx3Q0FLQztBQWdCRCw0QkFBa0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLFVBQWtCLGVBQWdILEdBQUcsRUFBRSxRQUF5SjtJQUNqVSxJQUFJLFNBQVMsR0FBVyxDQUFDLEVBQUUsUUFBUSxHQUFXLEdBQUcsRUFBRSxTQUFTLEdBQVcsQ0FBQyxFQUFFLGNBQWMsR0FBVyxDQUFDLEVBQUUsV0FBVyxHQUFxQixLQUFLLEVBQUUsaUJBQWlCLEdBQVksSUFBSSxDQUFDO0lBRS9LLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLFFBQVEsSUFBSSxPQUFP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
|