@anncic-api/typeorm 3.7.19 → 3.7.20
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.d.ts +8 -8
- package/dist/configuration.js +1 -64
- package/dist/decorator/InjectEntity.d.ts +1 -1
- package/dist/decorator/InjectEntity.js +1 -9
- package/dist/decorator/InjectRepository.d.ts +8 -8
- package/dist/decorator/InjectRepository.js +1 -9
- package/dist/decorator/ProvideEntity.d.ts +5 -5
- package/dist/decorator/ProvideEntity.js +1 -27
- package/dist/decorator/ProvideObserve.d.ts +2 -2
- package/dist/decorator/ProvideObserve.js +1 -17
- package/dist/decorator/ProvideRepository.d.ts +2 -2
- package/dist/decorator/ProvideRepository.js +1 -12
- package/dist/decorator/ProvideSearch.d.ts +3 -3
- package/dist/decorator/ProvideSearch.js +1 -25
- package/dist/decorator/ProvideSharding.d.ts +1 -1
- package/dist/decorator/ProvideSharding.js +1 -14
- package/dist/decorator/VirtualColumn.d.ts +4 -4
- package/dist/decorator/VirtualColumn.js +1 -13
- package/dist/definition/Repository.d.ts +25 -25
- package/dist/definition/Repository.js +1 -217
- package/dist/helper/getDataSourceEntity.d.ts +1 -1
- package/dist/helper/getDataSourceEntity.js +1 -17
- package/dist/helper/getProvideObserve.d.ts +1 -1
- package/dist/helper/getProvideObserve.js +1 -9
- package/dist/helper/sleep.d.ts +1 -1
- package/dist/helper/sleep.js +1 -7
- package/dist/index.d.ts +15 -15
- package/dist/index.js +1 -51
- package/dist/interface.d.ts +80 -79
- package/dist/interface.js +1 -326
- package/dist/interfaceSharding.d.ts +22 -22
- package/dist/interfaceSharding.js +1 -239
- package/package.json +3 -3
- package/dist/helper/preCreateShardingTables.d.ts +0 -1
- package/dist/helper/preCreateShardingTables.js +0 -1
package/dist/interface.d.ts
CHANGED
|
@@ -1,79 +1,80 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import '
|
|
8
|
-
|
|
9
|
-
export declare const
|
|
10
|
-
export declare const
|
|
11
|
-
export declare const
|
|
12
|
-
export declare const
|
|
13
|
-
export declare const
|
|
14
|
-
export declare const
|
|
15
|
-
export declare const
|
|
16
|
-
export declare const
|
|
17
|
-
export declare const
|
|
18
|
-
export
|
|
19
|
-
export
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
on(event: '
|
|
53
|
-
on(event: '
|
|
54
|
-
on(event:
|
|
55
|
-
[
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Readable } from "stream";
|
|
3
|
+
import { FindManyOptions } from "typeorm";
|
|
4
|
+
import { RelationMetadataArgs } from "typeorm/metadata-args/RelationMetadataArgs";
|
|
5
|
+
import { JoinColumnMetadataArgs } from "typeorm/metadata-args/JoinColumnMetadataArgs";
|
|
6
|
+
import { SelectQueryBuilder } from "typeorm";
|
|
7
|
+
import { FindOneOptions, FindOptionsWhereProperty, DeepPartial, ObjectLiteral, QueryRunner } from 'typeorm';
|
|
8
|
+
import './interfaceSharding';
|
|
9
|
+
export declare const ENTIFY_KEY = "decorator:anncic-api:typeorm:entify";
|
|
10
|
+
export declare const ENTIFY_MODULE = "decorator:anncic-api:typeorm:entify:module";
|
|
11
|
+
export declare const ENTIFY_MODULE_SOURCE = "decorator:anncic-api:typeorm:entify:module:source";
|
|
12
|
+
export declare const ENTIFY_SHARDING_KEY = "decorator:anncic-api:typeorm:entify:sharding";
|
|
13
|
+
export declare const REPOSITORY_KEY = "decorator:anncic-api:typeorm:repository";
|
|
14
|
+
export declare const REPOSITORY_OBSERVE_KEY = "decorator:anncic-api:typeorm:repository:observe";
|
|
15
|
+
export declare const MODEL_KEY = "decorator:anncic-api:typeorm:model";
|
|
16
|
+
export declare const MODEL_SEARCH_KEY = "decorator:anncic-api:typeorm:model:search";
|
|
17
|
+
export declare const MODEL_SEARCH_SCOPE_KEY = "decorator:anncic-api:typeorm:model:search:scope";
|
|
18
|
+
export declare const ENTITY_VIRTUAL_COLUMN_KEY = "decorator:anncic-api:typeorm:entity:virtual:column";
|
|
19
|
+
export { ShardingContext, ShardingStrategy, clearTableExistsCache } from './interfaceSharding';
|
|
20
|
+
export type SearchParams<Entity> = {
|
|
21
|
+
[P in keyof Entity]?: {
|
|
22
|
+
operator: '=' | '!=' | '<>' | '>' | '>=' | '<' | '<=' | 'LIKE' | 'NOT LIKE';
|
|
23
|
+
condition: FindOptionsWhereProperty<NonNullable<Entity[P]>>;
|
|
24
|
+
} | {
|
|
25
|
+
operator: 'BETWEEN' | 'NOT BETWEEN';
|
|
26
|
+
condition: [FindOptionsWhereProperty<NonNullable<Entity[P]>>, FindOptionsWhereProperty<NonNullable<Entity[P]>>];
|
|
27
|
+
} | {
|
|
28
|
+
operator: 'IN' | 'NOT IN';
|
|
29
|
+
condition: FindOptionsWhereProperty<NonNullable<Entity[P]>>[] | string;
|
|
30
|
+
} | {
|
|
31
|
+
operator: 'FIND IN SET' | 'NOT FIND IN SET';
|
|
32
|
+
condition: number | string;
|
|
33
|
+
} | {
|
|
34
|
+
operator: 'ISNULL' | 'NOT ISNULL';
|
|
35
|
+
};
|
|
36
|
+
} | DeepPartial<Entity> | {
|
|
37
|
+
[key: string]: any;
|
|
38
|
+
};
|
|
39
|
+
export declare class SearchPaginate {
|
|
40
|
+
_page?: number;
|
|
41
|
+
_size?: number;
|
|
42
|
+
_order?: string;
|
|
43
|
+
_isreverse?: number;
|
|
44
|
+
}
|
|
45
|
+
export interface SearchOptions {
|
|
46
|
+
pageType?: 'limit' | 'take';
|
|
47
|
+
queryRunner?: QueryRunner;
|
|
48
|
+
scope?: string | string[];
|
|
49
|
+
excess?: <Entity extends ObjectLiteral>(search: SelectQueryBuilder<Entity>) => void;
|
|
50
|
+
}
|
|
51
|
+
export interface ChunkStream<T> extends Readable {
|
|
52
|
+
on(event: 'data', listener: (chunk: Array<T>) => void): this;
|
|
53
|
+
on(event: 'end', listener: () => void): this;
|
|
54
|
+
on(event: 'error', listener: (err: Error) => void): this;
|
|
55
|
+
on(event: string | symbol, listener: (...args: any[]) => void): this;
|
|
56
|
+
[Symbol.asyncIterator](): AsyncIterableIterator<T>;
|
|
57
|
+
}
|
|
58
|
+
declare module 'typeorm' {
|
|
59
|
+
interface SelectQueryBuilder<Entity extends ObjectLiteral> {
|
|
60
|
+
getExplainCount: () => Promise<number>;
|
|
61
|
+
getManyExplainCount: () => Promise<[Array<any>, number]>;
|
|
62
|
+
chunk: (optionORsize?: number | {
|
|
63
|
+
size?: number;
|
|
64
|
+
countsize?: number;
|
|
65
|
+
delay?: number | boolean;
|
|
66
|
+
immediately?: boolean;
|
|
67
|
+
}, callback?: (chunkEntitys: Array<Entity>, index: number, QueryAndParameters: [string, Array<any>]) => Promise<void | Array<Entity>> | void | Array<Entity>) => ChunkStream<Entity>;
|
|
68
|
+
joinAppends: (append: string, option?: string | {
|
|
69
|
+
alias?: string;
|
|
70
|
+
findOption?: FindOneOptions | FindManyOptions;
|
|
71
|
+
}) => this;
|
|
72
|
+
_joinAppendsResolve: (entityData: any) => Promise<any>;
|
|
73
|
+
_appends: Array<{
|
|
74
|
+
alias: string;
|
|
75
|
+
relation: RelationMetadataArgs;
|
|
76
|
+
joinColumn: JoinColumnMetadataArgs;
|
|
77
|
+
findOption: FindOneOptions;
|
|
78
|
+
}>;
|
|
79
|
+
}
|
|
80
|
+
}
|
package/dist/interface.js
CHANGED
|
@@ -1,326 +1 @@
|
|
|
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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
|
|
1
|
+
const a14_0x2e1fb0=a14_0xedc0;(function(_0x15d90f,_0x3c13d7){const _0x28eebb=a14_0xedc0,_0x396620=_0x15d90f();while(!![]){try{const _0x3e8ee9=parseInt(_0x28eebb(0x1a2))/0x1+parseInt(_0x28eebb(0x15d))/0x2+parseInt(_0x28eebb(0x1c5))/0x3*(parseInt(_0x28eebb(0x1d7))/0x4)+-parseInt(_0x28eebb(0x1e6))/0x5*(-parseInt(_0x28eebb(0x175))/0x6)+-parseInt(_0x28eebb(0x192))/0x7*(-parseInt(_0x28eebb(0x19f))/0x8)+-parseInt(_0x28eebb(0x16d))/0x9*(-parseInt(_0x28eebb(0x1e5))/0xa)+-parseInt(_0x28eebb(0x183))/0xb*(parseInt(_0x28eebb(0x18d))/0xc);if(_0x3e8ee9===_0x3c13d7)break;else _0x396620['push'](_0x396620['shift']());}catch(_0x507362){_0x396620['push'](_0x396620['shift']());}}}(a14_0x1b0f,0x6ecb6));const a14_0x545068=(function(){let _0x42672b=!![];return function(_0x127610,_0x35437c){const _0xbdb0d=_0x42672b?function(){const _0x2b19bc=a14_0xedc0;if(_0x35437c){const _0x1560dd=_0x35437c[_0x2b19bc(0x177)](_0x127610,arguments);return _0x35437c=null,_0x1560dd;}}:function(){};return _0x42672b=![],_0xbdb0d;};}()),a14_0x1f104c=a14_0x545068(this,function(){const _0x55c45e=a14_0xedc0;return a14_0x1f104c[_0x55c45e(0x1a6)]()[_0x55c45e(0x1d3)](_0x55c45e(0x1ac))[_0x55c45e(0x1a6)]()[_0x55c45e(0x182)](a14_0x1f104c)[_0x55c45e(0x1d3)](_0x55c45e(0x1ac));});a14_0x1f104c();'use strict';Object[a14_0x2e1fb0(0x1a7)](exports,a14_0x2e1fb0(0x174),{'value':!![]}),exports['SearchPaginate']=exports[a14_0x2e1fb0(0x166)]=exports[a14_0x2e1fb0(0x169)]=exports[a14_0x2e1fb0(0x1bf)]=exports['MODEL_SEARCH_SCOPE_KEY']=exports[a14_0x2e1fb0(0x1cb)]=exports[a14_0x2e1fb0(0x1b5)]=exports[a14_0x2e1fb0(0x1ce)]=exports[a14_0x2e1fb0(0x193)]=exports['ENTIFY_SHARDING_KEY']=exports[a14_0x2e1fb0(0x16f)]=exports['ENTIFY_MODULE']=exports[a14_0x2e1fb0(0x1e0)]=void 0x0;const stream_1=require('stream'),core_1=require(a14_0x2e1fb0(0x16b)),typeorm_1=require('typeorm'),DriverUtils_1=require(a14_0x2e1fb0(0x1f0)),typeorm_2=require(a14_0x2e1fb0(0x1b4)),typeorm_3=require(a14_0x2e1fb0(0x1b4));function a14_0x1b0f(){const _0x57c5b6=['EXPLAIN\x20','ENTIFY_MODULE_SOURCE','getRawAndEntities','getTime','decorator:anncic-api:typeorm:entify:module:source','name','__esModule','54192DvTaCb','relations','apply','OptimisticLockCanNotBeUsedError','setFindOptions','function','propertyName','cacheId','many-to-one','decorator:anncic-api:typeorm:model','findOne','all','decorator:anncic-api:typeorm:entify:module','constructor','2123OqUxHA','one-to-many','SelectQueryBuilder','map','lockVersion','string','isExpired','boolean','alias','limit','112764SiBUlv','decorator:anncic-api:typeorm:entify:sharding','getMany','cacheDuration','versionColumn','1585031QdZAbJ','REPOSITORY_KEY','emit','substring','abs','andWhere','OptimisticLockVersionMismatchError','destroy','resume','type','decorator:anncic-api:typeorm:repository','parse','findOneByOrFail','8UJPnMn','getFromCache','_appends','162050aEnTaB','number','countsize','expressionMap','toString','defineProperty','data','push','connection','reject','(((.+)+)+)+$','size','Readable','queryResultCache','isMySQLFamily','\x20--\x20PARAMETERS:\x20','decorator:anncic-api:typeorm:entify','end','typeorm','MODEL_KEY','findOption','getQueryAndParameters','mainAlias','getCount','decorator:anncic-api:typeorm:repository:observe','decorator:anncic-api:typeorm:model:search','alwaysEnabled','./interfaceSharding','lockMode','ENTITY_VIRTUAL_COLUMN_KEY','decorator:anncic-api:typeorm:model:search:scope','one-to-one','obtainQueryRunner','joinAppends','chunk','8355trvuMR','driver','getManyExplainCount','rows','listenerCount','target','MODEL_SEARCH_KEY','relation','createQueryBuilder','REPOSITORY_OBSERVE_KEY','skip','immediately','object','SearchPaginate','search','query','splice','DriverUtils','548nRwBav','cache','stringify','clone','getEntityValue','\x20=\x20:','default','getOne','EntityNotFoundError','ENTIFY_KEY','findOneOrFail','getMetadataArgsStorage','getClassMetadata','result','60OVDwqH','215iFkcpW','referencedColumnName','ignoreErrors','ENTIFY_MODULE','metadata','options','joinColumns','hasOwnProperty','relationType','resolve','typeorm/driver/DriverUtils','delay','getExplainCount','586590XUpLip','MODEL_SEARCH_SCOPE_KEY','ENTIFY_SHARDING_KEY','prototype','offset','startsWith','optimistic','then','joinColumn','clearTableExistsCache','_joinAppendsResolve','length','ShardingStrategy','find','@midwayjs/core','queryRunner','1223604kFqKiN'];a14_0x1b0f=function(){return _0x57c5b6;};return a14_0x1b0f();}require('./interfaceSharding');const sleep_1=require('./helper/sleep');exports[a14_0x2e1fb0(0x1e0)]=a14_0x2e1fb0(0x1b2),exports[a14_0x2e1fb0(0x1e9)]=a14_0x2e1fb0(0x181),exports[a14_0x2e1fb0(0x16f)]=a14_0x2e1fb0(0x172),exports[a14_0x2e1fb0(0x15f)]=a14_0x2e1fb0(0x18e),exports[a14_0x2e1fb0(0x193)]=a14_0x2e1fb0(0x19c),exports[a14_0x2e1fb0(0x1ce)]=a14_0x2e1fb0(0x1ba),exports['MODEL_KEY']=a14_0x2e1fb0(0x17e),exports['MODEL_SEARCH_KEY']=a14_0x2e1fb0(0x1bb),exports[a14_0x2e1fb0(0x15e)]=a14_0x2e1fb0(0x1c0),exports[a14_0x2e1fb0(0x1bf)]='decorator:anncic-api:typeorm:entity:virtual:column';function a14_0xedc0(_0x59433a,_0x2a1f42){const _0x1574b0=a14_0x1b0f();return a14_0xedc0=function(_0x1f104c,_0x545068){_0x1f104c=_0x1f104c-0x15b;let _0x1b0f99=_0x1574b0[_0x1f104c];return _0x1b0f99;},a14_0xedc0(_0x59433a,_0x2a1f42);}var interfaceSharding_1=require(a14_0x2e1fb0(0x1bd));Object[a14_0x2e1fb0(0x1a7)](exports,a14_0x2e1fb0(0x169),{'enumerable':!![],'get':function(){const _0xe21db5=a14_0x2e1fb0;return interfaceSharding_1[_0xe21db5(0x169)];}}),Object[a14_0x2e1fb0(0x1a7)](exports,'clearTableExistsCache',{'enumerable':!![],'get':function(){const _0x5b418d=a14_0x2e1fb0;return interfaceSharding_1[_0x5b418d(0x166)];}});class SearchPaginate{}exports[a14_0x2e1fb0(0x1d2)]=SearchPaginate,typeorm_2[a14_0x2e1fb0(0x185)][a14_0x2e1fb0(0x160)][a14_0x2e1fb0(0x1c4)]=function(_0x41ef09=0x64,_0x6fa97d){const _0x5e3114=a14_0x2e1fb0;let _0x195ed4=0x1,_0xbce37e=0x64,_0x312631=0x0,_0x2f65df=0x0,_0x2de04e=![],_0x4d5844=!![];if(typeof _0x41ef09=='number'||typeof _0x41ef09==_0x5e3114(0x188))_0xbce37e=parseInt(''+_0x41ef09);else _0x41ef09&&((_0x41ef09===null||_0x41ef09===void 0x0?void 0x0:_0x41ef09[_0x5e3114(0x1ad)])&&(_0xbce37e=parseInt(''+_0x41ef09['size'])),(_0x41ef09===null||_0x41ef09===void 0x0?void 0x0:_0x41ef09[_0x5e3114(0x1a4)])&&(_0x312631=parseInt(''+_0x41ef09[_0x5e3114(0x1a4)])),(_0x41ef09===null||_0x41ef09===void 0x0?void 0x0:_0x41ef09[_0x5e3114(0x15b)])&&(_0x2de04e=typeof _0x41ef09['delay']=='boolean'?0x1f4:parseInt(''+_0x41ef09[_0x5e3114(0x15b)])),typeof(_0x41ef09===null||_0x41ef09===void 0x0?void 0x0:_0x41ef09['immediately'])==_0x5e3114(0x18a)&&(_0x4d5844=_0x41ef09[_0x5e3114(0x1d0)]));_0x312631>0x0&&_0x312631>_0xbce37e&&(_0xbce37e=_0x312631);const _0xa39361=this,_0x4adce8=new stream_1[(_0x5e3114(0x1ae))]({'objectMode':!![],'highWaterMark':_0xbce37e*0x2,async 'read'(){const _0x3e26d1=_0x5e3114;try{if(_0x312631>0x0&&_0x312631<=_0x2f65df)this[_0x3e26d1(0x1c9)](_0x3e26d1(0x1a8))>0x0?this['push'](null):this['emit'](_0x3e26d1(0x1b3));else{const _0x48499c=_0xa39361[_0x3e26d1(0x1da)]()[_0x3e26d1(0x18c)](Math['abs'](_0xbce37e))[_0x3e26d1(0x161)]((Math[_0x3e26d1(0x196)](_0x195ed4)-0x1)*Math[_0x3e26d1(0x196)](_0xbce37e)),_0x36d960=await _0x48499c['getMany']();if((_0x36d960===null||_0x36d960===void 0x0?void 0x0:_0x36d960['length'])>0x0){_0x312631>0x0&&_0x2f65df+_0x36d960[_0x3e26d1(0x168)]>_0x312631&&_0x36d960[_0x3e26d1(0x1d5)](0x0,_0x312631-(_0x2f65df+_0x36d960['length']-_0x312631));if(typeof _0x6fa97d==_0x3e26d1(0x17a)){const _0x1cc6aa=await _0x6fa97d(_0x36d960,_0x195ed4,_0x48499c['getQueryAndParameters']());_0x1cc6aa&&Array['isArray'](_0x1cc6aa)?(_0x1cc6aa===null||_0x1cc6aa===void 0x0?void 0x0:_0x1cc6aa[_0x3e26d1(0x168)])>0x0&&(_0x2f65df+=_0x1cc6aa[_0x3e26d1(0x168)],_0x312631>0x0&&_0x2f65df>_0x312631&&_0x1cc6aa[_0x3e26d1(0x1d5)](0x0,_0x312631-(_0x2f65df-_0x312631)),this['push'](_0x1cc6aa),_0x1cc6aa[_0x3e26d1(0x168)]=0x0):(_0x2f65df+=_0x36d960[_0x3e26d1(0x168)],_0x312631>0x0&&_0x2f65df>_0x312631&&_0x36d960[_0x3e26d1(0x1d5)](0x0,_0x312631-(_0x2f65df-_0x312631)),this[_0x3e26d1(0x1a9)](_0x36d960));}else _0x2f65df+=_0x36d960[_0x3e26d1(0x168)],_0x312631>0x0&&_0x2f65df>_0x312631&&_0x36d960[_0x3e26d1(0x1d5)](0x0,_0x312631-(_0x2f65df-_0x312631)),this[_0x3e26d1(0x1a9)](_0x36d960);_0x36d960['length']=0x0,_0x195ed4++,_0x2de04e&&typeof _0x2de04e==_0x3e26d1(0x1a3)&&await(0x0,sleep_1['sleep'])(_0x2de04e);}else this['listenerCount']('data')>0x0?this[_0x3e26d1(0x1a9)](null):this[_0x3e26d1(0x194)](_0x3e26d1(0x1b3));}}catch(_0x5b6133){this[_0x3e26d1(0x199)](_0x5b6133);}}});return _0x4adce8['on'](_0x5e3114(0x1b3),()=>_0x4adce8['destroy']()),_0x4adce8['on']('close',()=>_0x4adce8['destroy']()),_0x4d5844&&_0x4adce8[_0x5e3114(0x19a)](),_0x4adce8;},typeorm_3['EntityManager'][a14_0x2e1fb0(0x160)][a14_0x2e1fb0(0x1e1)]=async function(_0x959201,_0x21c68e){const _0x35c6a2=a14_0x2e1fb0;return this[_0x35c6a2(0x17f)](_0x959201,_0x21c68e)[_0x35c6a2(0x164)](_0xc6d55c=>{const _0x352b5a=_0x35c6a2;if(_0xc6d55c===null||_0xc6d55c===undefined)return Promise[_0x352b5a(0x1ab)](new typeorm_3[(_0x352b5a(0x1df))](_0x959201,_0x21c68e));return Promise[_0x352b5a(0x1ef)](_0xc6d55c);});},typeorm_3['EntityManager'][a14_0x2e1fb0(0x160)][a14_0x2e1fb0(0x19e)]=async function(_0x439f60,_0x417f3a){const _0x4f9fca=a14_0x2e1fb0;return this['findOneBy'](_0x439f60,_0x417f3a)[_0x4f9fca(0x164)](_0x3333e0=>{const _0x4f5b1f=_0x4f9fca;if(_0x3333e0===null||_0x3333e0===undefined)return Promise[_0x4f5b1f(0x1ab)](new typeorm_3[(_0x4f5b1f(0x1df))](_0x439f60,_0x417f3a));return Promise[_0x4f5b1f(0x1ef)](_0x3333e0);});},typeorm_2[a14_0x2e1fb0(0x185)][a14_0x2e1fb0(0x160)][a14_0x2e1fb0(0x1de)]=async function(){const _0x379d4f=a14_0x2e1fb0;var _0x52c75f;const {entities:_0x5dea44,raw:_0x47d062}=await this[_0x379d4f(0x170)]();if(_0x5dea44[0x0]&&this[_0x379d4f(0x1a5)][_0x379d4f(0x1be)]===_0x379d4f(0x163)&&this[_0x379d4f(0x1a5)]['lockVersion']){const _0x3b0ae3=this['expressionMap']['mainAlias'][_0x379d4f(0x1ea)];if(this[_0x379d4f(0x1a5)][_0x379d4f(0x187)]instanceof Date){const _0x2b2d26=_0x3b0ae3['updateDateColumn'][_0x379d4f(0x1db)](_0x5dea44[0x0]);if(_0x2b2d26[_0x379d4f(0x171)]()!==this[_0x379d4f(0x1a5)][_0x379d4f(0x187)][_0x379d4f(0x171)]())throw new typeorm_2[(_0x379d4f(0x198))](_0x3b0ae3[_0x379d4f(0x173)],this[_0x379d4f(0x1a5)]['lockVersion'],_0x2b2d26);}else{const _0x18a958=_0x3b0ae3[_0x379d4f(0x191)][_0x379d4f(0x1db)](_0x5dea44[0x0]);if(_0x18a958!==this['expressionMap'][_0x379d4f(0x187)])throw new typeorm_2[(_0x379d4f(0x198))](_0x3b0ae3['name'],this[_0x379d4f(0x1a5)][_0x379d4f(0x187)],_0x18a958);}}if(_0x5dea44[0x0]&&_0x47d062[0x0]){const _0x178d32=(0x0,core_1[_0x379d4f(0x1e3)])(exports[_0x379d4f(0x1bf)],_0x5dea44[0x0]);for(const _0x17b507 in _0x178d32){_0x47d062[0x0][_0x379d4f(0x1ed)](_0x17b507)&&(_0x5dea44[0x0][_0x17b507]=_0x47d062[0x0][_0x17b507]||((_0x52c75f=_0x178d32[_0x17b507])===null||_0x52c75f===void 0x0?void 0x0:_0x52c75f['default'])||'');}}return _0x5dea44[0x0]&&typeof this['_joinAppendsResolve']==_0x379d4f(0x17a)&&(_0x5dea44[0x0]=await this['_joinAppendsResolve'](_0x5dea44[0x0])),_0x5dea44[0x0]||null;},typeorm_2['SelectQueryBuilder']['prototype'][a14_0x2e1fb0(0x18f)]=async function(){const _0x25bb04=a14_0x2e1fb0;if(this['expressionMap'][_0x25bb04(0x1be)]==='optimistic')throw new typeorm_2[(_0x25bb04(0x178))]();const {entities:_0x167faa,raw:_0x4856ad}=await this['getRawAndEntities']();return await Promise[_0x25bb04(0x180)](_0x167faa[_0x25bb04(0x186)](async(_0x227ce3,_0x18d1a5)=>{const _0x2adb3f=_0x25bb04;var _0x2bcaee;const _0x5e4c5b=(0x0,core_1[_0x2adb3f(0x1e3)])(exports['ENTITY_VIRTUAL_COLUMN_KEY'],_0x227ce3)||{};for(const _0x3c4402 in _0x5e4c5b){_0x4856ad[_0x18d1a5]&&_0x4856ad[_0x18d1a5][_0x2adb3f(0x1ed)](_0x3c4402)&&(_0x227ce3[_0x3c4402]=_0x4856ad[_0x18d1a5][_0x3c4402]||((_0x2bcaee=_0x5e4c5b[_0x3c4402])===null||_0x2bcaee===void 0x0?void 0x0:_0x2bcaee[_0x2adb3f(0x1dd)])||'');}return _0x227ce3&&typeof this['_joinAppendsResolve']==_0x2adb3f(0x17a)&&(_0x227ce3=await this[_0x2adb3f(0x167)](_0x227ce3)),_0x227ce3;}));},typeorm_2[a14_0x2e1fb0(0x185)][a14_0x2e1fb0(0x160)]['getManyAndCount']=async function(){const _0x4e43fe=a14_0x2e1fb0;return[await this[_0x4e43fe(0x18f)](),await this[_0x4e43fe(0x1b9)]()];},typeorm_2['SelectQueryBuilder'][a14_0x2e1fb0(0x160)][a14_0x2e1fb0(0x1c7)]=async function(){const _0x504d66=a14_0x2e1fb0;return[await this[_0x504d66(0x18f)](),await this[_0x504d66(0x15c)]()];},typeorm_2['SelectQueryBuilder'][a14_0x2e1fb0(0x160)][a14_0x2e1fb0(0x15c)]=async function(){const _0x11d18e=a14_0x2e1fb0;var _0x5e6c9e,_0x4dd161,_0x134a27,_0x508f04;if(DriverUtils_1[_0x11d18e(0x1d6)][_0x11d18e(0x1b0)](this[_0x11d18e(0x1aa)][_0x11d18e(0x1c6)])){const _0x3a2bc8=this[_0x11d18e(0x1c2)]();try{this[_0x11d18e(0x1a5)]['queryEntity']=![];const [_0x3119d1,_0x4670b4]=this[_0x11d18e(0x1da)]()[_0x11d18e(0x161)](undefined)['limit'](undefined)[_0x11d18e(0x1cf)](undefined)['take'](undefined)[_0x11d18e(0x1b7)](),_0x449778=_0x11d18e(0x16e)+_0x3119d1+_0x11d18e(0x1b1)+JSON[_0x11d18e(0x1d9)](_0x4670b4),_0x2cb093=typeof this[_0x11d18e(0x1aa)][_0x11d18e(0x1eb)][_0x11d18e(0x1d8)]===_0x11d18e(0x1d1)?this['connection'][_0x11d18e(0x1eb)][_0x11d18e(0x1d8)]:{},_0x96a91=_0x2cb093[_0x11d18e(0x1bc)]&&this[_0x11d18e(0x1a5)]['cache']||this[_0x11d18e(0x1a5)]['cache'];let _0x3e5509=undefined,_0x43a685=![];if(this[_0x11d18e(0x1aa)]['queryResultCache']&&_0x96a91)try{_0x3e5509=await this[_0x11d18e(0x1aa)][_0x11d18e(0x1af)][_0x11d18e(0x1a0)]({'query':_0x449778,'identifier':this['expressionMap'][_0x11d18e(0x17c)],'duration':this[_0x11d18e(0x1a5)][_0x11d18e(0x190)]||_0x2cb093['duration']||0x3e8},_0x3a2bc8);if(_0x3e5509&&!this[_0x11d18e(0x1aa)]['queryResultCache'][_0x11d18e(0x189)](_0x3e5509))return parseInt(((_0x4dd161=(_0x5e6c9e=JSON[_0x11d18e(0x19d)](_0x3e5509[_0x11d18e(0x1e4)]))===null||_0x5e6c9e===void 0x0?void 0x0:_0x5e6c9e[0x0])===null||_0x4dd161===void 0x0?void 0x0:_0x4dd161[_0x11d18e(0x1c8)])||'0');}catch(_0x5bab18){if(!_0x2cb093[_0x11d18e(0x1e8)])throw _0x5bab18;_0x43a685=!![];}const _0x37e920=await _0x3a2bc8[_0x11d18e(0x1d4)](_0x11d18e(0x16e)+_0x3119d1,_0x4670b4,!![]);if(!_0x43a685&&this[_0x11d18e(0x1aa)][_0x11d18e(0x1af)]&&_0x96a91)try{await this[_0x11d18e(0x1aa)][_0x11d18e(0x1af)]['storeInCache']({'query':_0x449778,'time':new Date()['getTime'](),'identifier':this[_0x11d18e(0x1a5)][_0x11d18e(0x17c)],'duration':this['expressionMap']['cacheDuration']||_0x2cb093['duration']||0x3e8,'result':JSON['stringify'](_0x37e920['records'])},_0x3e5509,_0x3a2bc8);}catch(_0x5c856d){if(!_0x2cb093['ignoreErrors'])throw _0x5c856d;}return parseInt(((_0x508f04=(_0x134a27=_0x37e920['records'])===null||_0x134a27===void 0x0?void 0x0:_0x134a27[0x0])===null||_0x508f04===void 0x0?void 0x0:_0x508f04[_0x11d18e(0x1c8)])||'0');}catch(_0x52b046){throw _0x52b046;}finally{_0x3a2bc8!==this[_0x11d18e(0x16c)]&&await _0x3a2bc8['release']();}}else return this[_0x11d18e(0x1b9)]();},typeorm_2[a14_0x2e1fb0(0x185)][a14_0x2e1fb0(0x160)][a14_0x2e1fb0(0x1c3)]=function(_0x50e237,_0x4557d4){const _0x467620=a14_0x2e1fb0;_0x50e237[_0x467620(0x162)](this[_0x467620(0x18b)]+'.')&&(_0x50e237=_0x50e237[_0x467620(0x195)]((this[_0x467620(0x18b)]+'.')['length']));const _0x173ac4=typeof _0x4557d4==_0x467620(0x188)?{'alias':_0x4557d4}:_0x4557d4,_0x123d32=this[_0x467620(0x1a5)][_0x467620(0x1b8)][_0x467620(0x1ea)],_0x4729e1=(0x0,typeorm_1[_0x467620(0x1e2)])(),_0x1d89da=_0x4729e1[_0x467620(0x176)][_0x467620(0x16a)](_0x2952c2=>_0x2952c2[_0x467620(0x1ca)]==_0x123d32[_0x467620(0x1ca)]&&_0x2952c2[_0x467620(0x17b)]==_0x50e237);if((_0x123d32===null||_0x123d32===void 0x0?void 0x0:_0x123d32[_0x467620(0x1ca)])&&(_0x1d89da===null||_0x1d89da===void 0x0?void 0x0:_0x1d89da['propertyName'])){!this[_0x467620(0x1a1)]&&(this['_appends']=[]);if(_0x1d89da['relationType']==_0x467620(0x17d)||_0x1d89da[_0x467620(0x1ee)]==_0x467620(0x1c1)){const _0xcbb518=_0x4729e1[_0x467620(0x1ec)]['find'](_0x434c57=>_0x434c57[_0x467620(0x1ca)]==_0x123d32[_0x467620(0x1ca)]&&_0x434c57[_0x467620(0x17b)]==_0x50e237);_0x1d89da[_0x467620(0x17b)]==(_0xcbb518===null||_0xcbb518===void 0x0?void 0x0:_0xcbb518[_0x467620(0x17b)])&&(!this[_0x467620(0x1a1)][_0x467620(0x16a)](_0x2f9dcc=>_0x2f9dcc[_0x467620(0x18b)]==((_0x173ac4===null||_0x173ac4===void 0x0?void 0x0:_0x173ac4[_0x467620(0x18b)])||_0x50e237))&&this[_0x467620(0x1a1)][_0x467620(0x1a9)]({'alias':(_0x173ac4===null||_0x173ac4===void 0x0?void 0x0:_0x173ac4[_0x467620(0x18b)])||_0x50e237,'relation':_0x1d89da,'joinColumn':_0xcbb518,'findOption':(_0x173ac4===null||_0x173ac4===void 0x0?void 0x0:_0x173ac4['findOption'])||undefined}));}else{if(_0x1d89da['relationType']==_0x467620(0x184))try{const _0x42c758=_0x4729e1[_0x467620(0x176)][_0x467620(0x16a)](_0x3223cf=>_0x3223cf[_0x467620(0x1ca)]==_0x1d89da[_0x467620(0x19b)](_0x1d89da[_0x467620(0x17b)])&&_0x3223cf['type'](_0x3223cf[_0x467620(0x1ee)])==_0x123d32[_0x467620(0x1ca)]),_0x105dcc=_0x4729e1[_0x467620(0x1ec)][_0x467620(0x16a)](_0x2b6796=>_0x2b6796[_0x467620(0x1ca)]==_0x42c758[_0x467620(0x1ca)]&&_0x2b6796[_0x467620(0x17b)]==_0x42c758[_0x467620(0x17b)]);_0x42c758[_0x467620(0x17b)]==(_0x105dcc===null||_0x105dcc===void 0x0?void 0x0:_0x105dcc[_0x467620(0x17b)])&&(!this[_0x467620(0x1a1)][_0x467620(0x16a)](_0x2e7765=>_0x2e7765['alias']==((_0x173ac4===null||_0x173ac4===void 0x0?void 0x0:_0x173ac4[_0x467620(0x18b)])||_0x50e237))&&this[_0x467620(0x1a1)][_0x467620(0x1a9)]({'alias':(_0x173ac4===null||_0x173ac4===void 0x0?void 0x0:_0x173ac4[_0x467620(0x18b)])||_0x50e237,'relation':_0x1d89da,'joinColumn':_0x105dcc,'findOption':(_0x173ac4===null||_0x173ac4===void 0x0?void 0x0:_0x173ac4['findOption'])||undefined}));}catch(_0x5dd49f){}}}return this;},typeorm_2['SelectQueryBuilder'][a14_0x2e1fb0(0x160)][a14_0x2e1fb0(0x167)]=async function(_0x113560){const _0x49949a=a14_0x2e1fb0;var _0x4fb655,_0x5a3874,_0x17dd9c,_0xdf6bbb;for(const _0x4465b0 of this[_0x49949a(0x1a1)]||[]){if(!((_0x4fb655=_0x4465b0===null||_0x4465b0===void 0x0?void 0x0:_0x4465b0[_0x49949a(0x1cc)])===null||_0x4fb655===void 0x0?void 0x0:_0x4fb655[_0x49949a(0x1ee)]))continue;if(!((_0x5a3874=_0x4465b0===null||_0x4465b0===void 0x0?void 0x0:_0x4465b0[_0x49949a(0x165)])===null||_0x5a3874===void 0x0?void 0x0:_0x5a3874[_0x49949a(0x173)])||!((_0x17dd9c=_0x4465b0===null||_0x4465b0===void 0x0?void 0x0:_0x4465b0[_0x49949a(0x165)])===null||_0x17dd9c===void 0x0?void 0x0:_0x17dd9c[_0x49949a(0x1e7)]))continue;if(!_0x113560[_0x4465b0[_0x49949a(0x165)][_0x49949a(0x1e7)]])continue;if(typeof((_0xdf6bbb=_0x4465b0===null||_0x4465b0===void 0x0?void 0x0:_0x4465b0['relation'])===null||_0xdf6bbb===void 0x0?void 0x0:_0xdf6bbb['type'])!=_0x49949a(0x17a))continue;if(_0x4465b0['relation'][_0x49949a(0x1ee)]==_0x49949a(0x17d)||_0x4465b0[_0x49949a(0x1cc)][_0x49949a(0x1ee)]==_0x49949a(0x1c1)){const _0x5e97df=this[_0x49949a(0x1aa)]['createQueryBuilder'](_0x4465b0[_0x49949a(0x1cc)][_0x49949a(0x19b)](_0x4465b0['relation']['relationType']),_0x4465b0[_0x49949a(0x1cc)][_0x49949a(0x17b)])['withDeleted']();(_0x4465b0===null||_0x4465b0===void 0x0?void 0x0:_0x4465b0[_0x49949a(0x1b6)])&&_0x5e97df[_0x49949a(0x179)]({..._0x4465b0[_0x49949a(0x1b6)],'skip':0x0,'take':0x1}),_0x113560[_0x4465b0[_0x49949a(0x18b)]]=await _0x5e97df[_0x49949a(0x197)](_0x5e97df[_0x49949a(0x18b)]+'.'+_0x4465b0[_0x49949a(0x165)][_0x49949a(0x1e7)]+'\x20=\x20:'+_0x4465b0[_0x49949a(0x165)][_0x49949a(0x1e7)],{[_0x4465b0[_0x49949a(0x165)][_0x49949a(0x1e7)]]:_0x113560[_0x4465b0[_0x49949a(0x165)][_0x49949a(0x173)]]})[_0x49949a(0x1de)]();}else{if(_0x4465b0['relation']['relationType']=='one-to-many'||_0x4465b0[_0x49949a(0x1cc)][_0x49949a(0x1ee)]=='many-to-many'){const _0x3d408a=this[_0x49949a(0x1aa)][_0x49949a(0x1cd)](_0x4465b0['relation']['type'](_0x4465b0[_0x49949a(0x1cc)][_0x49949a(0x1ee)]),_0x4465b0['relation'][_0x49949a(0x17b)])['withDeleted']();(_0x4465b0===null||_0x4465b0===void 0x0?void 0x0:_0x4465b0['findOption'])&&_0x3d408a['setFindOptions']({'skip':0x0,'take':0xa,..._0x4465b0[_0x49949a(0x1b6)]}),_0x113560[_0x4465b0[_0x49949a(0x18b)]]=await _0x3d408a[_0x49949a(0x197)](_0x3d408a[_0x49949a(0x18b)]+'.'+_0x4465b0[_0x49949a(0x165)][_0x49949a(0x173)]+_0x49949a(0x1dc)+_0x4465b0['joinColumn'][_0x49949a(0x173)],{[_0x4465b0[_0x49949a(0x165)][_0x49949a(0x173)]]:_0x113560[_0x4465b0['joinColumn'][_0x49949a(0x1e7)]]})[_0x49949a(0x18f)]();}}}return _0x113560;};
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { DataSource, EntityManager, EntityMetadata } from "typeorm";
|
|
2
|
-
export interface ShardingContext {
|
|
3
|
-
entity: Function;
|
|
4
|
-
baseTableName: string;
|
|
5
|
-
dataSource: DataSource;
|
|
6
|
-
entityMetadata: EntityMetadata;
|
|
7
|
-
manager: EntityManager;
|
|
8
|
-
}
|
|
9
|
-
export declare abstract class ShardingStrategy {
|
|
10
|
-
getTableName?(baseTableName: string, queryParams: any): string;
|
|
11
|
-
getSelectTableName?(baseTableName: string, queryParams: any): string;
|
|
12
|
-
getInsertTableName?(baseTableName: string, queryParams: any): string;
|
|
13
|
-
getUpdateTableName?(baseTableName: string, queryParams: any): string;
|
|
14
|
-
getDeleteTableName?(baseTableName: string, queryParams: any): string;
|
|
15
|
-
getPreCreateTableNames?(baseTableName: string): string[] | Promise<string[]>;
|
|
16
|
-
createTables?(ctx: ShardingContext, tableName: string): boolean | Promise<boolean>;
|
|
17
|
-
checkTableExists(ctx: ShardingContext, tableName: string): Promise<boolean>;
|
|
18
|
-
protected createTableFromMetadata(ctx: ShardingContext, tableName: string): Promise<void>;
|
|
19
|
-
ensureTableExists(ctx: ShardingContext, tableName: string): Promise<void>;
|
|
20
|
-
preCreateTables(ctx: ShardingContext, tableNames?: string[]): Promise<void>;
|
|
21
|
-
}
|
|
22
|
-
export declare function clearTableExistsCache(ds?: DataSource, tableName?: string): void;
|
|
1
|
+
import { DataSource, EntityManager, EntityMetadata } from "typeorm";
|
|
2
|
+
export interface ShardingContext {
|
|
3
|
+
entity: Function;
|
|
4
|
+
baseTableName: string;
|
|
5
|
+
dataSource: DataSource;
|
|
6
|
+
entityMetadata: EntityMetadata;
|
|
7
|
+
manager: EntityManager;
|
|
8
|
+
}
|
|
9
|
+
export declare abstract class ShardingStrategy {
|
|
10
|
+
getTableName?(baseTableName: string, queryParams: any): string;
|
|
11
|
+
getSelectTableName?(baseTableName: string, queryParams: any): string;
|
|
12
|
+
getInsertTableName?(baseTableName: string, queryParams: any): string;
|
|
13
|
+
getUpdateTableName?(baseTableName: string, queryParams: any): string;
|
|
14
|
+
getDeleteTableName?(baseTableName: string, queryParams: any): string;
|
|
15
|
+
getPreCreateTableNames?(baseTableName: string): string[] | Promise<string[]>;
|
|
16
|
+
createTables?(ctx: ShardingContext, tableName: string): boolean | Promise<boolean>;
|
|
17
|
+
checkTableExists(ctx: ShardingContext, tableName: string): Promise<boolean>;
|
|
18
|
+
protected createTableFromMetadata(ctx: ShardingContext, tableName: string): Promise<void>;
|
|
19
|
+
ensureTableExists(ctx: ShardingContext, tableName: string): Promise<void>;
|
|
20
|
+
preCreateTables(ctx: ShardingContext, tableNames?: string[]): Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
export declare function clearTableExistsCache(ds?: DataSource, tableName?: string): void;
|