@steroidsjs/nest 1.4.48 → 1.5.0-beta.1
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/package.json +2 -2
- package/src/infrastructure/commands/MigrateCommand.d.ts +3 -3
- package/src/infrastructure/commands/MigrateCommand.js +9 -16
- package/src/infrastructure/commands/MigrateCommand.js.map +1 -1
- package/src/infrastructure/repositories/CrudRepository.d.ts +2 -2
- package/src/infrastructure/repositories/CrudRepository.js.map +1 -1
- package/src/usecases/helpers/SearchHelper.d.ts +2 -2
- package/src/usecases/helpers/SearchHelper.js.map +1 -1
- package/tsconfig.tsbuildinfo +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steroidsjs/nest",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0-beta.1",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"script": "nps",
|
|
6
6
|
"watch": "nps watch",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"pluralize": "^8.0.0",
|
|
40
40
|
"rxjs": "^7.2.0",
|
|
41
41
|
"typedi": "^0.10.0",
|
|
42
|
-
"typeorm": "^0.
|
|
42
|
+
"typeorm": "^0.3.11",
|
|
43
43
|
"uuid": "^8.3.2"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DataSource } from 'typeorm';
|
|
2
2
|
export declare class MigrateCommand {
|
|
3
|
-
private
|
|
4
|
-
constructor(
|
|
3
|
+
private dataSource;
|
|
4
|
+
constructor(dataSource: DataSource);
|
|
5
5
|
index(): Promise<void>;
|
|
6
6
|
redo(): Promise<void>;
|
|
7
7
|
show(): Promise<void>;
|
|
@@ -15,40 +15,32 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.MigrateCommand = void 0;
|
|
16
16
|
const nestjs_command_1 = require("nestjs-command");
|
|
17
17
|
const common_1 = require("@nestjs/common");
|
|
18
|
-
const typeorm_1 = require("typeorm");
|
|
19
18
|
const dbml2code_1 = require("./dbml/dbml2code");
|
|
20
19
|
const generate_1 = require("./generate");
|
|
21
|
-
const
|
|
22
|
-
const OrmUtils_1 = require("typeorm/util/OrmUtils");
|
|
23
|
-
const importClassesFromDirectories_1 = require("./importClassesFromDirectories");
|
|
24
|
-
ConnectionMetadataBuilder_1.ConnectionMetadataBuilder.prototype.buildMigrations = async function (migrations) {
|
|
25
|
-
const [migrationClasses, migrationDirectories] = OrmUtils_1.OrmUtils.splitClassesAndStrings(migrations);
|
|
26
|
-
const allMigrationClasses = [...migrationClasses, ...(await (0, importClassesFromDirectories_1.importClassesFromDirectories)(this.connection.logger, migrationDirectories))];
|
|
27
|
-
return allMigrationClasses.map(migrationClass => (0, typeorm_1.getFromContainer)(migrationClass));
|
|
28
|
-
};
|
|
20
|
+
const typeorm_1 = require("typeorm");
|
|
29
21
|
let MigrateCommand = class MigrateCommand {
|
|
30
|
-
constructor(
|
|
31
|
-
this.
|
|
22
|
+
constructor(dataSource) {
|
|
23
|
+
this.dataSource = dataSource;
|
|
32
24
|
}
|
|
33
25
|
async index() {
|
|
34
|
-
await this.
|
|
26
|
+
await this.dataSource.runMigrations({
|
|
35
27
|
transaction: 'each',
|
|
36
28
|
});
|
|
37
29
|
process.exit();
|
|
38
30
|
}
|
|
39
31
|
async redo() {
|
|
40
|
-
await this.
|
|
32
|
+
await this.dataSource.undoLastMigration({
|
|
41
33
|
transaction: 'each',
|
|
42
34
|
});
|
|
43
35
|
}
|
|
44
36
|
async show() {
|
|
45
|
-
await this.
|
|
37
|
+
await this.dataSource.showMigrations();
|
|
46
38
|
}
|
|
47
39
|
async dbml2code(path) {
|
|
48
40
|
await (0, dbml2code_1.dbml2code)(path);
|
|
49
41
|
}
|
|
50
42
|
async generate() {
|
|
51
|
-
await (0, generate_1.generate)(this.
|
|
43
|
+
await (0, generate_1.generate)(this.dataSource);
|
|
52
44
|
}
|
|
53
45
|
};
|
|
54
46
|
__decorate([
|
|
@@ -103,7 +95,8 @@ __decorate([
|
|
|
103
95
|
], MigrateCommand.prototype, "generate", null);
|
|
104
96
|
MigrateCommand = __decorate([
|
|
105
97
|
(0, common_1.Injectable)(),
|
|
106
|
-
|
|
98
|
+
__param(0, (0, common_1.Inject)(typeorm_1.DataSource)),
|
|
99
|
+
__metadata("design:paramtypes", [typeorm_1.DataSource])
|
|
107
100
|
], MigrateCommand);
|
|
108
101
|
exports.MigrateCommand = MigrateCommand;
|
|
109
102
|
//# sourceMappingURL=MigrateCommand.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MigrateCommand.js","sourceRoot":"","sources":["../../../../src/infrastructure/commands/MigrateCommand.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mDAAmD;AACnD,
|
|
1
|
+
{"version":3,"file":"MigrateCommand.js","sourceRoot":"","sources":["../../../../src/infrastructure/commands/MigrateCommand.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mDAAmD;AACnD,2CAAkD;AAClD,gDAA2C;AAC3C,yCAAoC;AACpC,qCAAqC;AAYrC,IAAa,cAAc,GAA3B,MAAa,cAAc;IACvB,YAEY,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAElC,CAAC;IAMD,KAAK,CAAC,KAAK;QACP,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAChC,WAAW,EAAE,MAAM;SACtB,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC;IAMD,KAAK,CAAC,IAAI;QACN,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;YACpC,WAAW,EAAE,MAAM;SACtB,CAAC,CAAC;IACP,CAAC;IAMD,KAAK,CAAC,IAAI;QACN,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;IAC3C,CAAC;IAMD,KAAK,CAAC,SAAS,CAOP,IAAY;QAEhB,MAAM,IAAA,qBAAS,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAMD,KAAK,CAAC,QAAQ;QACV,MAAM,IAAA,mBAAQ,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;CAEJ,CAAA;AAjDG;IAJC,IAAA,wBAAO,EAAC;QACL,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,gBAAgB;KAC7B,CAAC;;;;2CAMD;AAMD;IAJC,IAAA,wBAAO,EAAC;QACL,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,uBAAuB;KACpC,CAAC;;;;0CAKD;AAMD;IAJC,IAAA,wBAAO,EAAC;QACL,OAAO,EAAE,cAAc;QACvB,QAAQ,EAAE,sBAAsB;KACnC,CAAC;;;;0CAGD;AAMD;IAJC,IAAA,wBAAO,EAAC;QACL,OAAO,EAAE,0BAA0B;QACnC,QAAQ,EAAE,iCAAiC;KAC9C,CAAC;IAEG,WAAA,IAAA,2BAAU,EAAC;QACR,IAAI,EAAE,MAAM;QAEZ,QAAQ,EAAE,qBAAqB;QAC/B,IAAI,EAAE,QAAQ;KACjB,CAAC,CAAA;;;;+CAIL;AAMD;IAJC,IAAA,wBAAO,EAAC;QACL,OAAO,EAAE,kBAAkB;QAC3B,QAAQ,EAAE,0CAA0C;KACvD,CAAC;;;;8CAGD;AA1DQ,cAAc;IAD1B,IAAA,mBAAU,GAAE;IAGJ,WAAA,IAAA,eAAM,EAAC,oBAAU,CAAC,CAAA;qCACC,oBAAU;GAHzB,cAAc,CA4D1B;AA5DY,wCAAc"}
|
|
@@ -9,11 +9,11 @@ import { ISaveManager } from '../../usecases/interfaces/ISaveManager';
|
|
|
9
9
|
import { OnModuleDestroy, OnModuleInit } from '@nestjs/common';
|
|
10
10
|
export declare class CrudRepository<TModel> implements ICrudRepository<TModel>, OnModuleInit, OnModuleDestroy {
|
|
11
11
|
primaryKey: string;
|
|
12
|
-
dbRepository: Repository<
|
|
12
|
+
dbRepository: Repository<unknown>;
|
|
13
13
|
protected modelClass: any;
|
|
14
14
|
onModuleInit(): void;
|
|
15
15
|
onModuleDestroy(): void;
|
|
16
|
-
init(dbRepository: Repository<
|
|
16
|
+
init(dbRepository: Repository<unknown>, modelClass: any): void;
|
|
17
17
|
search(dto: SearchInputDto, searchQuery: SearchQuery): Promise<SearchResultDto<TModel>>;
|
|
18
18
|
createQuery(): SearchQuery;
|
|
19
19
|
findOne(conditionOrQuery: ICondition | SearchQuery, eagerLoading?: boolean): Promise<TModel | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CrudRepository.js","sourceRoot":"","sources":["../../../../src/infrastructure/repositories/CrudRepository.ts"],"names":[],"mappings":";;;AACA,sEAAiE;AAIjE,iEAA0D;AAC1D,kEAA6D;AAI7D,iEAAgF;AAChF,uDAAqF;AAMrF,MAAa,cAAc;IAA3B;QAIW,eAAU,GAAW,IAAI,CAAC;IAsMrC,CAAC;IA7LG,YAAY;QACR,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAA,gCAAe,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACnE;IACL,CAAC;IAED,eAAe;QACX,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAA,gCAAe,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SAC1C;IACL,CAAC;IAOM,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"CrudRepository.js","sourceRoot":"","sources":["../../../../src/infrastructure/repositories/CrudRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Repository } from 'typeorm';
|
|
1
|
+
import { DeepPartial, Repository } from 'typeorm';
|
|
2
2
|
import * as Promise from 'bluebird';
|
|
3
3
|
import { SelectQueryBuilder } from 'typeorm/query-builder/SelectQueryBuilder';
|
|
4
4
|
import { SearchInputDto } from '../dtos/SearchInputDto';
|
|
5
5
|
import { SearchResultDto } from '../dtos/SearchResultDto';
|
|
6
6
|
import SearchQuery from '../base/SearchQuery';
|
|
7
7
|
export declare class SearchHelper {
|
|
8
|
-
static search<TTable>(repository: Repository<
|
|
8
|
+
static search<TTable>(repository: Repository<DeepPartial<TTable>>, dto: SearchInputDto, searchQuery: SearchQuery, prepareHandler?: (query: SelectQueryBuilder<TTable>) => void | null): Promise<SearchResultDto<TTable>>;
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchHelper.js","sourceRoot":"","sources":["../../../../src/usecases/helpers/SearchHelper.ts"],"names":[],"mappings":";;;AACA,oCAAoC;AAGpC,6DAAwD;AACxD,qDAA8C;AAE9C,MAAa,YAAY;IAErB,MAAM,CAAC,KAAK,CAAC,MAAM,CACf,
|
|
1
|
+
{"version":3,"file":"SearchHelper.js","sourceRoot":"","sources":["../../../../src/usecases/helpers/SearchHelper.ts"],"names":[],"mappings":";;;AACA,oCAAoC;AAGpC,6DAAwD;AACxD,qDAA8C;AAE9C,MAAa,YAAY;IAErB,MAAM,CAAC,KAAK,CAAC,MAAM,CACf,UAA2C,EAC3C,GAAmB,EACnB,WAAwB,EACxB,iBAAqE,IAAI;QAEzE,MAAM,MAAM,GAAG,IAAI,iCAAe,EAAU,CAAC;QAG7C,GAAG,mBACC,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,EAAE,IACT,GAAG,CACT,CAAC;QAGF,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;QAEjC,qBAAW,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAGtD,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACnF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACjB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACvC,MAAM,eAAe,GAAG,GAAG,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;gBAClE,GAAG,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC5D,OAAO,GAAG,CAAC;YACf,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACX;QAGD,IAAI,cAAc,EAAE;YAChB,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACtC;QAGD,IAAI,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE;YAClB,OAAO;iBACF,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;iBACnC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC3B;QAGD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QACxE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAErB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AApDD,oCAoDC"}
|