@anncic-api/typeorm 3.7.19 → 3.7.21

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.
Files changed (35) hide show
  1. package/dist/configuration.d.ts +8 -8
  2. package/dist/configuration.js +1 -64
  3. package/dist/decorator/InjectEntity.d.ts +1 -1
  4. package/dist/decorator/InjectEntity.js +1 -9
  5. package/dist/decorator/InjectRepository.d.ts +8 -8
  6. package/dist/decorator/InjectRepository.js +1 -9
  7. package/dist/decorator/ProvideEntity.d.ts +5 -5
  8. package/dist/decorator/ProvideEntity.js +1 -27
  9. package/dist/decorator/ProvideObserve.d.ts +2 -2
  10. package/dist/decorator/ProvideObserve.js +1 -17
  11. package/dist/decorator/ProvideRepository.d.ts +2 -2
  12. package/dist/decorator/ProvideRepository.js +1 -12
  13. package/dist/decorator/ProvideSearch.d.ts +3 -3
  14. package/dist/decorator/ProvideSearch.js +1 -25
  15. package/dist/decorator/ProvideSharding.d.ts +1 -1
  16. package/dist/decorator/ProvideSharding.js +1 -14
  17. package/dist/decorator/VirtualColumn.d.ts +4 -4
  18. package/dist/decorator/VirtualColumn.js +1 -13
  19. package/dist/definition/Repository.d.ts +25 -25
  20. package/dist/definition/Repository.js +1 -217
  21. package/dist/helper/getDataSourceEntity.d.ts +1 -1
  22. package/dist/helper/getDataSourceEntity.js +1 -17
  23. package/dist/helper/getProvideObserve.d.ts +1 -1
  24. package/dist/helper/getProvideObserve.js +1 -9
  25. package/dist/helper/sleep.d.ts +1 -1
  26. package/dist/helper/sleep.js +1 -7
  27. package/dist/index.d.ts +15 -15
  28. package/dist/index.js +1 -51
  29. package/dist/interface.d.ts +80 -79
  30. package/dist/interface.js +1 -326
  31. package/dist/interfaceSharding.d.ts +22 -22
  32. package/dist/interfaceSharding.js +1 -239
  33. package/package.json +3 -3
  34. package/dist/helper/preCreateShardingTables.d.ts +0 -1
  35. package/dist/helper/preCreateShardingTables.js +0 -1
@@ -1,79 +1,80 @@
1
- import { Readable } from "stream";
2
- import { FindManyOptions } from "typeorm";
3
- import { RelationMetadataArgs } from "typeorm/metadata-args/RelationMetadataArgs";
4
- import { JoinColumnMetadataArgs } from "typeorm/metadata-args/JoinColumnMetadataArgs";
5
- import { SelectQueryBuilder } from "typeorm";
6
- import { FindOneOptions, FindOptionsWhereProperty, DeepPartial, ObjectLiteral, QueryRunner } from 'typeorm';
7
- import './interfaceSharding';
8
- export declare const ENTIFY_KEY = "decorator:anncic-api:typeorm:entify";
9
- export declare const ENTIFY_MODULE = "decorator:anncic-api:typeorm:entify:module";
10
- export declare const ENTIFY_MODULE_SOURCE = "decorator:anncic-api:typeorm:entify:module:source";
11
- export declare const ENTIFY_SHARDING_KEY = "decorator:anncic-api:typeorm:entify:sharding";
12
- export declare const REPOSITORY_KEY = "decorator:anncic-api:typeorm:repository";
13
- export declare const REPOSITORY_OBSERVE_KEY = "decorator:anncic-api:typeorm:repository:observe";
14
- export declare const MODEL_KEY = "decorator:anncic-api:typeorm:model";
15
- export declare const MODEL_SEARCH_KEY = "decorator:anncic-api:typeorm:model:search";
16
- export declare const MODEL_SEARCH_SCOPE_KEY = "decorator:anncic-api:typeorm:model:search:scope";
17
- export declare const ENTITY_VIRTUAL_COLUMN_KEY = "decorator:anncic-api:typeorm:entity:virtual:column";
18
- export { ShardingContext, ShardingStrategy, clearTableExistsCache } from './interfaceSharding';
19
- export type SearchParams<Entity> = {
20
- [P in keyof Entity]?: {
21
- operator: '=' | '!=' | '<>' | '>' | '>=' | '<' | '<=' | 'LIKE' | 'NOT LIKE';
22
- condition: FindOptionsWhereProperty<NonNullable<Entity[P]>>;
23
- } | {
24
- operator: 'BETWEEN' | 'NOT BETWEEN';
25
- condition: [FindOptionsWhereProperty<NonNullable<Entity[P]>>, FindOptionsWhereProperty<NonNullable<Entity[P]>>];
26
- } | {
27
- operator: 'IN' | 'NOT IN';
28
- condition: FindOptionsWhereProperty<NonNullable<Entity[P]>>[] | string;
29
- } | {
30
- operator: 'FIND IN SET' | 'NOT FIND IN SET';
31
- condition: number | string;
32
- } | {
33
- operator: 'ISNULL' | 'NOT ISNULL';
34
- };
35
- } | DeepPartial<Entity> | {
36
- [key: string]: any;
37
- };
38
- export declare class SearchPaginate {
39
- _page?: number;
40
- _size?: number;
41
- _order?: string;
42
- _isreverse?: number;
43
- }
44
- export interface SearchOptions {
45
- pageType?: 'limit' | 'take';
46
- queryRunner?: QueryRunner;
47
- scope?: string | string[];
48
- excess?: <Entity extends ObjectLiteral>(search: SelectQueryBuilder<Entity>) => void;
49
- }
50
- export interface ChunkStream<T> extends Readable {
51
- on(event: 'data', listener: (chunk: Array<T>) => void): this;
52
- on(event: 'end', listener: () => void): this;
53
- on(event: 'error', listener: (err: Error) => void): this;
54
- on(event: string | symbol, listener: (...args: any[]) => void): this;
55
- [Symbol.asyncIterator](): AsyncIterableIterator<T>;
56
- }
57
- declare module 'typeorm' {
58
- interface SelectQueryBuilder<Entity extends ObjectLiteral> {
59
- getExplainCount: () => Promise<number>;
60
- getManyExplainCount: () => Promise<[Array<any>, number]>;
61
- chunk: (optionORsize?: number | {
62
- size?: number;
63
- countsize?: number;
64
- delay?: number | boolean;
65
- immediately?: boolean;
66
- }, callback?: (chunkEntitys: Array<Entity>, index: number, QueryAndParameters: [string, Array<any>]) => Promise<void | Array<Entity>> | void | Array<Entity>) => ChunkStream<Entity>;
67
- joinAppends: (append: string, option?: string | {
68
- alias?: string;
69
- findOption?: FindOneOptions | FindManyOptions;
70
- }) => this;
71
- _joinAppendsResolve: (entityData: any) => Promise<any>;
72
- _appends: Array<{
73
- alias: string;
74
- relation: RelationMetadataArgs;
75
- joinColumn: JoinColumnMetadataArgs;
76
- findOption: FindOneOptions;
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_0x16fecc=a14_0x1336;(function(_0x3c1cef,_0x384ce6){const _0x23a2e7=a14_0x1336,_0x244fc4=_0x3c1cef();while(!![]){try{const _0x2e3bbf=-parseInt(_0x23a2e7(0x1ce))/0x1+parseInt(_0x23a2e7(0x140))/0x2*(-parseInt(_0x23a2e7(0x1b1))/0x3)+parseInt(_0x23a2e7(0x17f))/0x4+parseInt(_0x23a2e7(0x163))/0x5+-parseInt(_0x23a2e7(0x1a9))/0x6+parseInt(_0x23a2e7(0x1bf))/0x7+-parseInt(_0x23a2e7(0x1bb))/0x8*(-parseInt(_0x23a2e7(0x1cd))/0x9);if(_0x2e3bbf===_0x384ce6)break;else _0x244fc4['push'](_0x244fc4['shift']());}catch(_0x1615a1){_0x244fc4['push'](_0x244fc4['shift']());}}}(a14_0x1bdf,0xce384));const a14_0x4d9fe5=(function(){let _0x9a3141=!![];return function(_0x5adda0,_0x4a33e4){const _0x2399ff=_0x9a3141?function(){const _0x4b568c=a14_0x1336;if(_0x4a33e4){const _0x3b2daa=_0x4a33e4[_0x4b568c(0x156)](_0x5adda0,arguments);return _0x4a33e4=null,_0x3b2daa;}}:function(){};return _0x9a3141=![],_0x2399ff;};}()),a14_0x13778b=a14_0x4d9fe5(this,function(){const _0x4a3d70=a14_0x1336;return a14_0x13778b[_0x4a3d70(0x16e)]()[_0x4a3d70(0x164)](_0x4a3d70(0x14b))['toString']()[_0x4a3d70(0x13b)](a14_0x13778b)[_0x4a3d70(0x164)](_0x4a3d70(0x14b));});function a14_0x1bdf(){const _0x5c4a8f=['data','one-to-many','referencedColumnName','4081812pXntVB','isArray','_joinAppendsResolve','one-to-one','queryEntity','connection','ENTIFY_MODULE_SOURCE','stringify','MODEL_SEARCH_KEY','getMany','EXPLAIN\x20','\x20=\x20:','duration','emit','243693zCMjrD','794870Dwjhxf','chunk','getClassMetadata','MODEL_KEY','constructor','decorator:anncic-api:typeorm:repository:observe','EntityManager','ShardingStrategy','listenerCount','2gVTEFX','getCount','createQueryBuilder','DriverUtils','target','withDeleted','getEntityValue','decorator:anncic-api:typeorm:entify:sharding','andWhere','driver','immediately','(((.+)+)+)+$','many-to-many','push','queryResultCache','REPOSITORY_KEY','object','decorator:anncic-api:typeorm:repository','typeorm','relations','storeInCache','map','apply','cacheId','cacheDuration','obtainQueryRunner','release','skip','queryRunner','delay','offset','getManyExplainCount','lockVersion','reject','SearchPaginate','1015375qjvAxk','search','isExpired','updateDateColumn','findOneBy','resolve','expressionMap','number','setFindOptions','destroy','decorator:anncic-api:typeorm:entify','toString','findOption','getRawAndEntities','OptimisticLockCanNotBeUsedError','joinColumn','then','metadata','substring','rows','MODEL_SEARCH_SCOPE_KEY','alwaysEnabled','EntityNotFoundError','optimistic','boolean','Readable','typeorm/driver/DriverUtils','stream','5798784XaVdYp','propertyName','__esModule','options','type','OptimisticLockVersionMismatchError','decorator:anncic-api:typeorm:model:search','take','./interfaceSharding','getTime','abs','defineProperty','ENTIFY_MODULE','findOne','records','prototype','limit','many-to-one','versionColumn','function','getOne','countsize','joinColumns','size','query','ENTIFY_KEY','SelectQueryBuilder','decorator:anncic-api:typeorm:model:search:scope','clearTableExistsCache','all','@midwayjs/core','_appends','relation','length','alias','decorator:anncic-api:typeorm:model','lockMode','./helper/sleep','startsWith','cache','name','close','6928038PFZvNT','splice','default','end','getFromCache','ENTITY_VIRTUAL_COLUMN_KEY','hasOwnProperty','REPOSITORY_OBSERVE_KEY','4254867DbPLcz','getExplainCount','sleep','isMySQLFamily','getQueryAndParameters','mainAlias','find','ignoreErrors','relationType','joinAppends','584oQsmaz'];a14_0x1bdf=function(){return _0x5c4a8f;};return a14_0x1bdf();}a14_0x13778b();'use strict';Object[a14_0x16fecc(0x18a)](exports,a14_0x16fecc(0x181),{'value':!![]}),exports[a14_0x16fecc(0x162)]=exports[a14_0x16fecc(0x19b)]=exports['ShardingStrategy']=exports[a14_0x16fecc(0x1ae)]=exports[a14_0x16fecc(0x177)]=exports[a14_0x16fecc(0x1c7)]=exports[a14_0x16fecc(0x13a)]=exports[a14_0x16fecc(0x1b0)]=exports['REPOSITORY_KEY']=exports['ENTIFY_SHARDING_KEY']=exports[a14_0x16fecc(0x1c5)]=exports['ENTIFY_MODULE']=exports[a14_0x16fecc(0x198)]=void 0x0;const stream_1=require(a14_0x16fecc(0x17e)),core_1=require(a14_0x16fecc(0x19d)),typeorm_1=require(a14_0x16fecc(0x152)),DriverUtils_1=require(a14_0x16fecc(0x17d)),typeorm_2=require('typeorm'),typeorm_3=require(a14_0x16fecc(0x152));require(a14_0x16fecc(0x187));const sleep_1=require(a14_0x16fecc(0x1a4));exports[a14_0x16fecc(0x198)]=a14_0x16fecc(0x16d),exports[a14_0x16fecc(0x18b)]='decorator:anncic-api:typeorm:entify:module',exports[a14_0x16fecc(0x1c5)]='decorator:anncic-api:typeorm:entify:module:source',exports['ENTIFY_SHARDING_KEY']=a14_0x16fecc(0x147),exports[a14_0x16fecc(0x14f)]=a14_0x16fecc(0x151),exports[a14_0x16fecc(0x1b0)]=a14_0x16fecc(0x13c),exports[a14_0x16fecc(0x13a)]=a14_0x16fecc(0x1a2),exports['MODEL_SEARCH_KEY']=a14_0x16fecc(0x185),exports[a14_0x16fecc(0x177)]=a14_0x16fecc(0x19a),exports[a14_0x16fecc(0x1ae)]='decorator:anncic-api:typeorm:entity:virtual:column';var interfaceSharding_1=require(a14_0x16fecc(0x187));Object[a14_0x16fecc(0x18a)](exports,a14_0x16fecc(0x13e),{'enumerable':!![],'get':function(){return interfaceSharding_1['ShardingStrategy'];}}),Object['defineProperty'](exports,a14_0x16fecc(0x19b),{'enumerable':!![],'get':function(){const _0x1a9586=a14_0x16fecc;return interfaceSharding_1[_0x1a9586(0x19b)];}});function a14_0x1336(_0x48dee9,_0x4c9bfb){const _0x2543be=a14_0x1bdf();return a14_0x1336=function(_0x13778b,_0x4d9fe5){_0x13778b=_0x13778b-0x138;let _0x1bdf0b=_0x2543be[_0x13778b];return _0x1bdf0b;},a14_0x1336(_0x48dee9,_0x4c9bfb);}class SearchPaginate{}exports[a14_0x16fecc(0x162)]=SearchPaginate,typeorm_2[a14_0x16fecc(0x199)][a14_0x16fecc(0x18e)][a14_0x16fecc(0x138)]=function(_0x3fa20a=0x64,_0x16290d){const _0x5a9ecb=a14_0x16fecc;let _0x205ed4=0x1,_0x2e2692=0x64,_0x3887fd=0x0,_0x22e8ca=0x0,_0x56139e=![],_0x2d5f55=!![];if(typeof _0x3fa20a=='number'||typeof _0x3fa20a=='string')_0x2e2692=parseInt(''+_0x3fa20a);else _0x3fa20a&&((_0x3fa20a===null||_0x3fa20a===void 0x0?void 0x0:_0x3fa20a[_0x5a9ecb(0x196)])&&(_0x2e2692=parseInt(''+_0x3fa20a[_0x5a9ecb(0x196)])),(_0x3fa20a===null||_0x3fa20a===void 0x0?void 0x0:_0x3fa20a[_0x5a9ecb(0x194)])&&(_0x3887fd=parseInt(''+_0x3fa20a[_0x5a9ecb(0x194)])),(_0x3fa20a===null||_0x3fa20a===void 0x0?void 0x0:_0x3fa20a[_0x5a9ecb(0x15d)])&&(_0x56139e=typeof _0x3fa20a['delay']==_0x5a9ecb(0x17b)?0x1f4:parseInt(''+_0x3fa20a[_0x5a9ecb(0x15d)])),typeof(_0x3fa20a===null||_0x3fa20a===void 0x0?void 0x0:_0x3fa20a[_0x5a9ecb(0x14a)])==_0x5a9ecb(0x17b)&&(_0x2d5f55=_0x3fa20a[_0x5a9ecb(0x14a)]));_0x3887fd>0x0&&_0x3887fd>_0x2e2692&&(_0x2e2692=_0x3887fd);const _0x1db416=this,_0x275642=new stream_1[(_0x5a9ecb(0x17c))]({'objectMode':!![],'highWaterMark':_0x2e2692*0x2,async 'read'(){const _0x1a409b=_0x5a9ecb;try{if(_0x3887fd>0x0&&_0x3887fd<=_0x22e8ca)this[_0x1a409b(0x13f)](_0x1a409b(0x1bc))>0x0?this['push'](null):this[_0x1a409b(0x1cc)](_0x1a409b(0x1ac));else{const _0x4396aa=_0x1db416['clone']()['limit'](Math['abs'](_0x2e2692))[_0x1a409b(0x15e)]((Math[_0x1a409b(0x189)](_0x205ed4)-0x1)*Math[_0x1a409b(0x189)](_0x2e2692)),_0xfd120b=await _0x4396aa[_0x1a409b(0x1c8)]();if((_0xfd120b===null||_0xfd120b===void 0x0?void 0x0:_0xfd120b[_0x1a409b(0x1a0)])>0x0){_0x3887fd>0x0&&_0x22e8ca+_0xfd120b[_0x1a409b(0x1a0)]>_0x3887fd&&_0xfd120b[_0x1a409b(0x1aa)](0x0,_0x3887fd-(_0x22e8ca+_0xfd120b[_0x1a409b(0x1a0)]-_0x3887fd));if(typeof _0x16290d==_0x1a409b(0x192)){const _0xe8d1c9=await _0x16290d(_0xfd120b,_0x205ed4,_0x4396aa[_0x1a409b(0x1b5)]());_0xe8d1c9&&Array[_0x1a409b(0x1c0)](_0xe8d1c9)?(_0xe8d1c9===null||_0xe8d1c9===void 0x0?void 0x0:_0xe8d1c9[_0x1a409b(0x1a0)])>0x0&&(_0x22e8ca+=_0xe8d1c9['length'],_0x3887fd>0x0&&_0x22e8ca>_0x3887fd&&_0xe8d1c9[_0x1a409b(0x1aa)](0x0,_0x3887fd-(_0x22e8ca-_0x3887fd)),this[_0x1a409b(0x14d)](_0xe8d1c9),_0xe8d1c9[_0x1a409b(0x1a0)]=0x0):(_0x22e8ca+=_0xfd120b[_0x1a409b(0x1a0)],_0x3887fd>0x0&&_0x22e8ca>_0x3887fd&&_0xfd120b['splice'](0x0,_0x3887fd-(_0x22e8ca-_0x3887fd)),this['push'](_0xfd120b));}else _0x22e8ca+=_0xfd120b[_0x1a409b(0x1a0)],_0x3887fd>0x0&&_0x22e8ca>_0x3887fd&&_0xfd120b[_0x1a409b(0x1aa)](0x0,_0x3887fd-(_0x22e8ca-_0x3887fd)),this[_0x1a409b(0x14d)](_0xfd120b);_0xfd120b[_0x1a409b(0x1a0)]=0x0,_0x205ed4++,_0x56139e&&typeof _0x56139e==_0x1a409b(0x16a)&&await(0x0,sleep_1[_0x1a409b(0x1b3)])(_0x56139e);}else this[_0x1a409b(0x13f)]('data')>0x0?this[_0x1a409b(0x14d)](null):this[_0x1a409b(0x1cc)](_0x1a409b(0x1ac));}}catch(_0x2f49aa){this[_0x1a409b(0x16c)](_0x2f49aa);}}});return _0x275642['on']('end',()=>_0x275642[_0x5a9ecb(0x16c)]()),_0x275642['on'](_0x5a9ecb(0x1a8),()=>_0x275642[_0x5a9ecb(0x16c)]()),_0x2d5f55&&_0x275642['resume'](),_0x275642;},typeorm_3[a14_0x16fecc(0x13d)][a14_0x16fecc(0x18e)]['findOneOrFail']=async function(_0x2f0adb,_0x459b9f){const _0x5cefde=a14_0x16fecc;return this[_0x5cefde(0x18c)](_0x2f0adb,_0x459b9f)[_0x5cefde(0x173)](_0x5767b5=>{const _0x4c3972=_0x5cefde;if(_0x5767b5===null||_0x5767b5===undefined)return Promise[_0x4c3972(0x161)](new typeorm_3[(_0x4c3972(0x179))](_0x2f0adb,_0x459b9f));return Promise[_0x4c3972(0x168)](_0x5767b5);});},typeorm_3[a14_0x16fecc(0x13d)][a14_0x16fecc(0x18e)]['findOneByOrFail']=async function(_0x4b6b7b,_0x233cb8){const _0x1629ec=a14_0x16fecc;return this[_0x1629ec(0x167)](_0x4b6b7b,_0x233cb8)['then'](_0xc08a6c=>{const _0x26b028=_0x1629ec;if(_0xc08a6c===null||_0xc08a6c===undefined)return Promise[_0x26b028(0x161)](new typeorm_3[(_0x26b028(0x179))](_0x4b6b7b,_0x233cb8));return Promise[_0x26b028(0x168)](_0xc08a6c);});},typeorm_2[a14_0x16fecc(0x199)]['prototype']['getOne']=async function(){const _0xa3683f=a14_0x16fecc;var _0x245505;const {entities:_0x38a5d8,raw:_0x2e16d9}=await this[_0xa3683f(0x170)]();if(_0x38a5d8[0x0]&&this['expressionMap']['lockMode']===_0xa3683f(0x17a)&&this[_0xa3683f(0x169)][_0xa3683f(0x160)]){const _0x38a426=this['expressionMap'][_0xa3683f(0x1b6)][_0xa3683f(0x174)];if(this[_0xa3683f(0x169)][_0xa3683f(0x160)]instanceof Date){const _0x119d4c=_0x38a426[_0xa3683f(0x166)]['getEntityValue'](_0x38a5d8[0x0]);if(_0x119d4c[_0xa3683f(0x188)]()!==this[_0xa3683f(0x169)]['lockVersion'][_0xa3683f(0x188)]())throw new typeorm_2[(_0xa3683f(0x184))](_0x38a426[_0xa3683f(0x1a7)],this[_0xa3683f(0x169)]['lockVersion'],_0x119d4c);}else{const _0x5f1102=_0x38a426[_0xa3683f(0x191)][_0xa3683f(0x146)](_0x38a5d8[0x0]);if(_0x5f1102!==this['expressionMap'][_0xa3683f(0x160)])throw new typeorm_2[(_0xa3683f(0x184))](_0x38a426[_0xa3683f(0x1a7)],this['expressionMap'][_0xa3683f(0x160)],_0x5f1102);}}if(_0x38a5d8[0x0]&&_0x2e16d9[0x0]){const _0x2bbe8f=(0x0,core_1[_0xa3683f(0x139)])(exports['ENTITY_VIRTUAL_COLUMN_KEY'],_0x38a5d8[0x0]);for(const _0x5cb6f1 in _0x2bbe8f){_0x2e16d9[0x0]['hasOwnProperty'](_0x5cb6f1)&&(_0x38a5d8[0x0][_0x5cb6f1]=_0x2e16d9[0x0][_0x5cb6f1]||((_0x245505=_0x2bbe8f[_0x5cb6f1])===null||_0x245505===void 0x0?void 0x0:_0x245505[_0xa3683f(0x1ab)])||'');}}return _0x38a5d8[0x0]&&typeof this[_0xa3683f(0x1c1)]=='function'&&(_0x38a5d8[0x0]=await this['_joinAppendsResolve'](_0x38a5d8[0x0])),_0x38a5d8[0x0]||null;},typeorm_2[a14_0x16fecc(0x199)][a14_0x16fecc(0x18e)][a14_0x16fecc(0x1c8)]=async function(){const _0x15f2f7=a14_0x16fecc;if(this['expressionMap'][_0x15f2f7(0x1a3)]==='optimistic')throw new typeorm_2[(_0x15f2f7(0x171))]();const {entities:_0x21c7ae,raw:_0x1003a5}=await this[_0x15f2f7(0x170)]();return await Promise[_0x15f2f7(0x19c)](_0x21c7ae[_0x15f2f7(0x155)](async(_0x1106ce,_0xd74337)=>{const _0x3c1b6e=_0x15f2f7;var _0x2551cf;const _0x596d5f=(0x0,core_1[_0x3c1b6e(0x139)])(exports['ENTITY_VIRTUAL_COLUMN_KEY'],_0x1106ce)||{};for(const _0xae051d in _0x596d5f){_0x1003a5[_0xd74337]&&_0x1003a5[_0xd74337][_0x3c1b6e(0x1af)](_0xae051d)&&(_0x1106ce[_0xae051d]=_0x1003a5[_0xd74337][_0xae051d]||((_0x2551cf=_0x596d5f[_0xae051d])===null||_0x2551cf===void 0x0?void 0x0:_0x2551cf[_0x3c1b6e(0x1ab)])||'');}return _0x1106ce&&typeof this[_0x3c1b6e(0x1c1)]==_0x3c1b6e(0x192)&&(_0x1106ce=await this['_joinAppendsResolve'](_0x1106ce)),_0x1106ce;}));},typeorm_2[a14_0x16fecc(0x199)]['prototype']['getManyAndCount']=async function(){const _0x4a4d59=a14_0x16fecc;return[await this[_0x4a4d59(0x1c8)](),await this[_0x4a4d59(0x141)]()];},typeorm_2[a14_0x16fecc(0x199)][a14_0x16fecc(0x18e)][a14_0x16fecc(0x15f)]=async function(){const _0x46c9ad=a14_0x16fecc;return[await this[_0x46c9ad(0x1c8)](),await this['getExplainCount']()];},typeorm_2[a14_0x16fecc(0x199)]['prototype'][a14_0x16fecc(0x1b2)]=async function(){const _0x2d33b=a14_0x16fecc;var _0x4624be,_0x12f45d,_0x373d06,_0x25bfd6;if(DriverUtils_1[_0x2d33b(0x143)][_0x2d33b(0x1b4)](this[_0x2d33b(0x1c4)][_0x2d33b(0x149)])){const _0x2a235c=this[_0x2d33b(0x159)]();try{this[_0x2d33b(0x169)][_0x2d33b(0x1c3)]=![];const [_0x2a1f85,_0x83b4ec]=this['clone']()[_0x2d33b(0x15e)](undefined)[_0x2d33b(0x18f)](undefined)[_0x2d33b(0x15b)](undefined)[_0x2d33b(0x186)](undefined)[_0x2d33b(0x1b5)](),_0x201e5d=_0x2d33b(0x1c9)+_0x2a1f85+'\x20--\x20PARAMETERS:\x20'+JSON[_0x2d33b(0x1c6)](_0x83b4ec),_0x4a3f00=typeof this['connection'][_0x2d33b(0x182)]['cache']===_0x2d33b(0x150)?this[_0x2d33b(0x1c4)][_0x2d33b(0x182)][_0x2d33b(0x1a6)]:{},_0x1fdb59=_0x4a3f00[_0x2d33b(0x178)]&&this['expressionMap'][_0x2d33b(0x1a6)]||this[_0x2d33b(0x169)]['cache'];let _0x1763e6=undefined,_0x3d43ae=![];if(this[_0x2d33b(0x1c4)][_0x2d33b(0x14e)]&&_0x1fdb59)try{_0x1763e6=await this[_0x2d33b(0x1c4)][_0x2d33b(0x14e)][_0x2d33b(0x1ad)]({'query':_0x201e5d,'identifier':this[_0x2d33b(0x169)][_0x2d33b(0x157)],'duration':this[_0x2d33b(0x169)][_0x2d33b(0x158)]||_0x4a3f00[_0x2d33b(0x1cb)]||0x3e8},_0x2a235c);if(_0x1763e6&&!this['connection'][_0x2d33b(0x14e)][_0x2d33b(0x165)](_0x1763e6))return parseInt(((_0x12f45d=(_0x4624be=JSON['parse'](_0x1763e6['result']))===null||_0x4624be===void 0x0?void 0x0:_0x4624be[0x0])===null||_0x12f45d===void 0x0?void 0x0:_0x12f45d['rows'])||'0');}catch(_0x53f120){if(!_0x4a3f00[_0x2d33b(0x1b8)])throw _0x53f120;_0x3d43ae=!![];}const _0x39a6b5=await _0x2a235c[_0x2d33b(0x197)](_0x2d33b(0x1c9)+_0x2a1f85,_0x83b4ec,!![]);if(!_0x3d43ae&&this[_0x2d33b(0x1c4)][_0x2d33b(0x14e)]&&_0x1fdb59)try{await this[_0x2d33b(0x1c4)][_0x2d33b(0x14e)][_0x2d33b(0x154)]({'query':_0x201e5d,'time':new Date()['getTime'](),'identifier':this['expressionMap'][_0x2d33b(0x157)],'duration':this[_0x2d33b(0x169)][_0x2d33b(0x158)]||_0x4a3f00['duration']||0x3e8,'result':JSON[_0x2d33b(0x1c6)](_0x39a6b5['records'])},_0x1763e6,_0x2a235c);}catch(_0x4ec43e){if(!_0x4a3f00[_0x2d33b(0x1b8)])throw _0x4ec43e;}return parseInt(((_0x25bfd6=(_0x373d06=_0x39a6b5[_0x2d33b(0x18d)])===null||_0x373d06===void 0x0?void 0x0:_0x373d06[0x0])===null||_0x25bfd6===void 0x0?void 0x0:_0x25bfd6[_0x2d33b(0x176)])||'0');}catch(_0x334ef6){throw _0x334ef6;}finally{_0x2a235c!==this[_0x2d33b(0x15c)]&&await _0x2a235c[_0x2d33b(0x15a)]();}}else return this[_0x2d33b(0x141)]();},typeorm_2[a14_0x16fecc(0x199)][a14_0x16fecc(0x18e)][a14_0x16fecc(0x1ba)]=function(_0x4a7df6,_0x4f8587){const _0x430f1c=a14_0x16fecc;_0x4a7df6[_0x430f1c(0x1a5)](this[_0x430f1c(0x1a1)]+'.')&&(_0x4a7df6=_0x4a7df6[_0x430f1c(0x175)]((this[_0x430f1c(0x1a1)]+'.')[_0x430f1c(0x1a0)]));const _0x2378d1=typeof _0x4f8587=='string'?{'alias':_0x4f8587}:_0x4f8587,_0x3b77ca=this[_0x430f1c(0x169)][_0x430f1c(0x1b6)][_0x430f1c(0x174)],_0x15cd8e=(0x0,typeorm_1['getMetadataArgsStorage'])(),_0x3b7507=_0x15cd8e['relations'][_0x430f1c(0x1b7)](_0xd27880=>_0xd27880[_0x430f1c(0x144)]==_0x3b77ca[_0x430f1c(0x144)]&&_0xd27880[_0x430f1c(0x180)]==_0x4a7df6);if((_0x3b77ca===null||_0x3b77ca===void 0x0?void 0x0:_0x3b77ca[_0x430f1c(0x144)])&&(_0x3b7507===null||_0x3b7507===void 0x0?void 0x0:_0x3b7507['propertyName'])){!this[_0x430f1c(0x19e)]&&(this['_appends']=[]);if(_0x3b7507[_0x430f1c(0x1b9)]=='many-to-one'||_0x3b7507[_0x430f1c(0x1b9)]==_0x430f1c(0x1c2)){const _0x57a6d5=_0x15cd8e['joinColumns'][_0x430f1c(0x1b7)](_0x54f782=>_0x54f782['target']==_0x3b77ca['target']&&_0x54f782[_0x430f1c(0x180)]==_0x4a7df6);_0x3b7507[_0x430f1c(0x180)]==(_0x57a6d5===null||_0x57a6d5===void 0x0?void 0x0:_0x57a6d5['propertyName'])&&(!this[_0x430f1c(0x19e)][_0x430f1c(0x1b7)](_0x2d5bf4=>_0x2d5bf4[_0x430f1c(0x1a1)]==((_0x2378d1===null||_0x2378d1===void 0x0?void 0x0:_0x2378d1['alias'])||_0x4a7df6))&&this[_0x430f1c(0x19e)][_0x430f1c(0x14d)]({'alias':(_0x2378d1===null||_0x2378d1===void 0x0?void 0x0:_0x2378d1[_0x430f1c(0x1a1)])||_0x4a7df6,'relation':_0x3b7507,'joinColumn':_0x57a6d5,'findOption':(_0x2378d1===null||_0x2378d1===void 0x0?void 0x0:_0x2378d1[_0x430f1c(0x16f)])||undefined}));}else{if(_0x3b7507['relationType']==_0x430f1c(0x1bd))try{const _0x364fbd=_0x15cd8e[_0x430f1c(0x153)][_0x430f1c(0x1b7)](_0x59f223=>_0x59f223[_0x430f1c(0x144)]==_0x3b7507['type'](_0x3b7507[_0x430f1c(0x180)])&&_0x59f223[_0x430f1c(0x183)](_0x59f223[_0x430f1c(0x1b9)])==_0x3b77ca[_0x430f1c(0x144)]),_0x6c830e=_0x15cd8e[_0x430f1c(0x195)][_0x430f1c(0x1b7)](_0x42d263=>_0x42d263[_0x430f1c(0x144)]==_0x364fbd[_0x430f1c(0x144)]&&_0x42d263[_0x430f1c(0x180)]==_0x364fbd[_0x430f1c(0x180)]);_0x364fbd[_0x430f1c(0x180)]==(_0x6c830e===null||_0x6c830e===void 0x0?void 0x0:_0x6c830e[_0x430f1c(0x180)])&&(!this[_0x430f1c(0x19e)][_0x430f1c(0x1b7)](_0x39cc75=>_0x39cc75['alias']==((_0x2378d1===null||_0x2378d1===void 0x0?void 0x0:_0x2378d1[_0x430f1c(0x1a1)])||_0x4a7df6))&&this['_appends'][_0x430f1c(0x14d)]({'alias':(_0x2378d1===null||_0x2378d1===void 0x0?void 0x0:_0x2378d1[_0x430f1c(0x1a1)])||_0x4a7df6,'relation':_0x3b7507,'joinColumn':_0x6c830e,'findOption':(_0x2378d1===null||_0x2378d1===void 0x0?void 0x0:_0x2378d1[_0x430f1c(0x16f)])||undefined}));}catch(_0x562e21){}}}return this;},typeorm_2['SelectQueryBuilder'][a14_0x16fecc(0x18e)]['_joinAppendsResolve']=async function(_0x554341){const _0x32aec3=a14_0x16fecc;var _0x5eccbf,_0x1b825a,_0x2aa316,_0x3a30a2;for(const _0x206515 of this[_0x32aec3(0x19e)]||[]){if(!((_0x5eccbf=_0x206515===null||_0x206515===void 0x0?void 0x0:_0x206515[_0x32aec3(0x19f)])===null||_0x5eccbf===void 0x0?void 0x0:_0x5eccbf[_0x32aec3(0x1b9)]))continue;if(!((_0x1b825a=_0x206515===null||_0x206515===void 0x0?void 0x0:_0x206515[_0x32aec3(0x172)])===null||_0x1b825a===void 0x0?void 0x0:_0x1b825a[_0x32aec3(0x1a7)])||!((_0x2aa316=_0x206515===null||_0x206515===void 0x0?void 0x0:_0x206515['joinColumn'])===null||_0x2aa316===void 0x0?void 0x0:_0x2aa316['referencedColumnName']))continue;if(!_0x554341[_0x206515['joinColumn'][_0x32aec3(0x1be)]])continue;if(typeof((_0x3a30a2=_0x206515===null||_0x206515===void 0x0?void 0x0:_0x206515[_0x32aec3(0x19f)])===null||_0x3a30a2===void 0x0?void 0x0:_0x3a30a2[_0x32aec3(0x183)])!=_0x32aec3(0x192))continue;if(_0x206515[_0x32aec3(0x19f)]['relationType']==_0x32aec3(0x190)||_0x206515['relation'][_0x32aec3(0x1b9)]==_0x32aec3(0x1c2)){const _0x11d5ef=this[_0x32aec3(0x1c4)][_0x32aec3(0x142)](_0x206515['relation'][_0x32aec3(0x183)](_0x206515[_0x32aec3(0x19f)]['relationType']),_0x206515['relation'][_0x32aec3(0x180)])[_0x32aec3(0x145)]();(_0x206515===null||_0x206515===void 0x0?void 0x0:_0x206515[_0x32aec3(0x16f)])&&_0x11d5ef[_0x32aec3(0x16b)]({..._0x206515['findOption'],'skip':0x0,'take':0x1}),_0x554341[_0x206515[_0x32aec3(0x1a1)]]=await _0x11d5ef[_0x32aec3(0x148)](_0x11d5ef[_0x32aec3(0x1a1)]+'.'+_0x206515['joinColumn']['referencedColumnName']+_0x32aec3(0x1ca)+_0x206515[_0x32aec3(0x172)][_0x32aec3(0x1be)],{[_0x206515['joinColumn'][_0x32aec3(0x1be)]]:_0x554341[_0x206515[_0x32aec3(0x172)][_0x32aec3(0x1a7)]]})[_0x32aec3(0x193)]();}else{if(_0x206515['relation'][_0x32aec3(0x1b9)]==_0x32aec3(0x1bd)||_0x206515[_0x32aec3(0x19f)]['relationType']==_0x32aec3(0x14c)){const _0x19ceb4=this['connection'][_0x32aec3(0x142)](_0x206515['relation']['type'](_0x206515[_0x32aec3(0x19f)][_0x32aec3(0x1b9)]),_0x206515[_0x32aec3(0x19f)]['propertyName'])['withDeleted']();(_0x206515===null||_0x206515===void 0x0?void 0x0:_0x206515[_0x32aec3(0x16f)])&&_0x19ceb4['setFindOptions']({'skip':0x0,'take':0xa,..._0x206515['findOption']}),_0x554341[_0x206515[_0x32aec3(0x1a1)]]=await _0x19ceb4[_0x32aec3(0x148)](_0x19ceb4[_0x32aec3(0x1a1)]+'.'+_0x206515['joinColumn'][_0x32aec3(0x1a7)]+'\x20=\x20:'+_0x206515[_0x32aec3(0x172)]['name'],{[_0x206515[_0x32aec3(0x172)][_0x32aec3(0x1a7)]]:_0x554341[_0x206515['joinColumn'][_0x32aec3(0x1be)]]})[_0x32aec3(0x1c8)]();}}}return _0x554341;};
@@ -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;