@neohm/nestend 2.0.4 → 2.0.5
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/common/consumers/job.consumer.d.ts +1 -0
- package/dist/common/consumers/job.consumer.d.ts.map +1 -1
- package/dist/common/consumers/job.consumer.js +7 -2
- package/dist/common/consumers/job.consumer.js.map +1 -1
- package/dist/common/entities/root.entity.d.ts.map +1 -1
- package/dist/common/entities/root.entity.js +11 -2
- package/dist/common/entities/root.entity.js.map +1 -1
- package/dist/global/filters/global.exception.filter.d.ts.map +1 -1
- package/dist/global/filters/global.exception.filter.js +6 -2
- package/dist/global/filters/global.exception.filter.js.map +1 -1
- package/dist/global/utilities/migration.utility.d.ts +4 -0
- package/dist/global/utilities/migration.utility.d.ts.map +1 -1
- package/dist/global/utilities/migration.utility.js +70 -8
- package/dist/global/utilities/migration.utility.js.map +1 -1
- package/package.json +1 -1
|
@@ -19,6 +19,7 @@ export declare class JobConsumer extends WorkerHost implements OnApplicationBoot
|
|
|
19
19
|
private enrolScheduledEventDriver;
|
|
20
20
|
private persistFinalFailure;
|
|
21
21
|
private persistFailure;
|
|
22
|
+
private elapsed;
|
|
22
23
|
private jobName;
|
|
23
24
|
}
|
|
24
25
|
//# sourceMappingURL=job.consumer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job.consumer.d.ts","sourceRoot":"","sources":["../../../src/common/consumers/job.consumer.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAU,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAyBzD,qBAIa,WAAY,SAAQ,UAAW,YAAW,sBAAsB;IAG/D,OAAO,CAAC,QAAQ,CAAC,YAAY;IAFzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;gBAEvB,YAAY,EAAE,YAAY;IASjD,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAavC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAsBrC,OAAO,CAAC,SAAS;YAUH,aAAa;IAmC3B,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAMxB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"job.consumer.d.ts","sourceRoot":"","sources":["../../../src/common/consumers/job.consumer.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAU,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAyBzD,qBAIa,WAAY,SAAQ,UAAW,YAAW,sBAAsB;IAG/D,OAAO,CAAC,QAAQ,CAAC,YAAY;IAFzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;gBAEvB,YAAY,EAAE,YAAY;IASjD,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAavC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAsBrC,OAAO,CAAC,SAAS;YAUH,aAAa;IAmC3B,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAMxB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAYrB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAavC,QAAQ,IAAI,IAAI;IAKhB,SAAS,IAAI,IAAI;IAKjB,OAAO,IAAI,IAAI;YAUD,yBAAyB;YAyBzB,mBAAmB;YAanB,cAAc;IA2B5B,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,OAAO;CAKhB"}
|
|
@@ -82,12 +82,12 @@ let JobConsumer = class JobConsumer extends bullmq_1.WorkerHost {
|
|
|
82
82
|
onCompleted(job) {
|
|
83
83
|
this.queueService.data.stats.pending_jobs = Math.max(0, this.queueService.data.stats.pending_jobs - 1);
|
|
84
84
|
this.queueService.data.stats.completed_jobs++;
|
|
85
|
-
this.logger.log(`[COMPLETED] ${job.id} : ${this.jobName(job)}`);
|
|
85
|
+
this.logger.log(`[COMPLETED] ${job.id} : ${this.jobName(job)}${this.elapsed(job)}`);
|
|
86
86
|
}
|
|
87
87
|
async onFailed(job) {
|
|
88
88
|
this.queueService.data.stats.pending_jobs = Math.max(0, this.queueService.data.stats.pending_jobs - 1);
|
|
89
89
|
this.queueService.data.stats.failed_jobs++;
|
|
90
|
-
this.logger.error(`[FAILED] ${job?.
|
|
90
|
+
this.logger.error(`[FAILED] ${job?.queueName} : ${this.jobName(job)}${this.elapsed(job)}`);
|
|
91
91
|
await this.persistFinalFailure(job);
|
|
92
92
|
}
|
|
93
93
|
onPaused() {
|
|
@@ -137,6 +137,11 @@ let JobConsumer = class JobConsumer extends bullmq_1.WorkerHost {
|
|
|
137
137
|
this.logger.error(`Failed to persist failed job: ${error instanceof Error ? error.message : String(error)}`);
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
|
+
elapsed(job) {
|
|
141
|
+
if (!job?.processedOn || !job?.finishedOn)
|
|
142
|
+
return '';
|
|
143
|
+
return ` [${job.finishedOn - job.processedOn}ms]`;
|
|
144
|
+
}
|
|
140
145
|
jobName(job) {
|
|
141
146
|
const name = job?.name === 'generic.job.trigger' ? job?.data?.name : job?.name;
|
|
142
147
|
return name || 'undefined job';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job.consumer.js","sourceRoot":"","sources":["../../../src/common/consumers/job.consumer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"job.consumer.js","sourceRoot":"","sources":["../../../src/common/consumers/job.consumer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root.entity.d.ts","sourceRoot":"","sources":["../../../src/common/entities/root.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAKV,eAAe,EACf,cAAc,EACd,gBAAgB,EAIjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EACL,eAAe,EACf,eAAe,EAEhB,MAAM,iCAAiC,CAAC;AAEzC,8BAAsB,UAAW,SAAQ,UAAU;
|
|
1
|
+
{"version":3,"file":"root.entity.d.ts","sourceRoot":"","sources":["../../../src/common/entities/root.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAKV,eAAe,EACf,cAAc,EACd,gBAAgB,EAIjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EACL,eAAe,EACf,eAAe,EAEhB,MAAM,iCAAiC,CAAC;AAEzC,8BAAsB,UAAW,SAAQ,UAAU;IAWjD,EAAE,EAAE,MAAM,CAAC;IAGX,EAAE,EAAE,MAAM,CAAC;IAGX,UAAU,EAAE,IAAI,CAAC;IAGjB,UAAU,EAAE,IAAI,CAAC;IAGjB,UAAU,EAAE,IAAI,CAAC;WAWJ,YAAY,CAAC,OAAO,SAAS,UAAU,EAClD,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,EAC1B,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG;QAAE,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;KAAE,GACtE,OAAO,CAAC,OAAO,CAAC;WAUN,UAAU,CAAC,OAAO,SAAS,UAAU,EAChD,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,EAC1B,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,GAChC,OAAO,CAAC,MAAM,CAAC;WAQL,UAAU,CAAC,OAAO,SAAS,UAAU,EAChD,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,EAC1B,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,GAChC,OAAO,CAAC,MAAM,CAAC;WAQL,OAAO,CAAC,OAAO,SAAS,UAAU,EAC7C,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,EAC1B,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,GAChC,OAAO,CAAC,MAAM,CAAC;WAQL,QAAQ,CAAC,OAAO,SAAS,UAAU,EAC9C,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,EAC1B,KAAK,EAAE,eAAe,EACtB,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,GACjC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAWpC,OAAO,CAAC,MAAM,CAAC,YAAY;IAQ3B,OAAO,CAAC,MAAM,CAAC,iBAAiB;CAQjC"}
|
|
@@ -18,7 +18,9 @@ class RootEntity extends typeorm_1.BaseEntity {
|
|
|
18
18
|
const existingRecord = await repository.findOne(options);
|
|
19
19
|
if (existingRecord)
|
|
20
20
|
return existingRecord;
|
|
21
|
-
|
|
21
|
+
const where = { ...options.where };
|
|
22
|
+
delete where.id;
|
|
23
|
+
return repository.create(where);
|
|
22
24
|
}
|
|
23
25
|
static async softDelete(criteria) {
|
|
24
26
|
const result = await this.repositoryOf().softDelete(this.normalizeCriteria(criteria));
|
|
@@ -54,7 +56,14 @@ class RootEntity extends typeorm_1.BaseEntity {
|
|
|
54
56
|
}
|
|
55
57
|
exports.RootEntity = RootEntity;
|
|
56
58
|
__decorate([
|
|
57
|
-
(0, typeorm_1.Column)({
|
|
59
|
+
(0, typeorm_1.Column)({
|
|
60
|
+
type: 'bigint',
|
|
61
|
+
generated: 'increment',
|
|
62
|
+
transformer: {
|
|
63
|
+
to: (value) => value,
|
|
64
|
+
from: (value) => (value == null ? value : Number(value)),
|
|
65
|
+
},
|
|
66
|
+
}),
|
|
58
67
|
__metadata("design:type", Number)
|
|
59
68
|
], RootEntity.prototype, "sn", void 0);
|
|
60
69
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root.entity.js","sourceRoot":"","sources":["../../../src/common/entities/root.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAYiB;AAEjB,4EAIyC;AAEzC,MAAsB,UAAW,SAAQ,oBAAU;
|
|
1
|
+
{"version":3,"file":"root.entity.js","sourceRoot":"","sources":["../../../src/common/entities/root.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAYiB;AAEjB,4EAIyC;AAEzC,MAAsB,UAAW,SAAQ,oBAAU;IAkCjD,MAAM,CAAC,KAAK,CAAC,YAAY,CAEvB,OAAuE;QAEvE,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAW,CAAC;QAChD,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,cAAc;YAAE,OAAO,cAAc,CAAC;QAC1C,MAAM,KAAK,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO,UAAU,CAAC,MAAM,CAAC,KAA6B,CAAC,CAAC;IAC1D,CAAC;IAGD,MAAM,CAAC,KAAK,CAAC,UAAU,CAErB,QAAiC;QAEjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAW,CAAC,UAAU,CAC1D,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CACjC,CAAC;QACF,OAAO,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IAC9B,CAAC;IAGD,MAAM,CAAC,KAAK,CAAC,UAAU,CAErB,QAAiC;QAEjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAW,CAAC,MAAM,CACtD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CACjC,CAAC;QACF,OAAO,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IAC9B,CAAC;IAGD,MAAM,CAAC,KAAK,CAAC,OAAO,CAElB,QAAiC;QAEjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAW,CAAC,OAAO,CACvD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CACjC,CAAC;QACF,OAAO,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IAC9B,CAAC;IAGD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAEnB,KAAsB,EACtB,OAAkC;QAElC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QAChC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,YAAY,EAAW,CAAC,YAAY,CAAC;YACvE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;YAClB,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK;YACxB,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QACH,OAAO,IAAA,uCAAc,EAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAEO,MAAM,CAAC,YAAY;QAGzB,OACE,IACD,CAAC,aAAa,EAAyB,CAAC;IAC3C,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAC9B,QAAiC;QAEjC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,EAAE,EAAE,EAAE,QAAQ,EAA+B,CAAC;QACvD,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AA/GD,gCA+GC;AApGC;IAVC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,WAAW;QAGtB,WAAW,EAAE;YACX,EAAE,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK;YAC5B,IAAI,EAAE,CAAC,KAAoB,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACxE;KACF,CAAC;;sCACS;AAGX;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;sCACpB;AAGX;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;8BAC9B,IAAI;8CAAC;AAGjB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;8BAC9B,IAAI;8CAAC;AAGjB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;8BAC9B,IAAI;8CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global.exception.filter.d.ts","sourceRoot":"","sources":["../../../src/global/filters/global.exception.filter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,eAAe,EAIhB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"global.exception.filter.d.ts","sourceRoot":"","sources":["../../../src/global/filters/global.exception.filter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,eAAe,EAIhB,MAAM,gBAAgB,CAAC;AAYxB,qBACa,qBAAsB,YAAW,eAAe;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IAExD,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI;IAmCpD,OAAO,CAAC,cAAc;CAgCvB"}
|
|
@@ -19,16 +19,19 @@ let GlobalExceptionFilter = class GlobalExceptionFilter {
|
|
|
19
19
|
const status = exception instanceof common_1.HttpException
|
|
20
20
|
? exception.getStatus()
|
|
21
21
|
: common_1.HttpStatus.INTERNAL_SERVER_ERROR;
|
|
22
|
-
const { message, error } = this.extractMessage(exception, status);
|
|
22
|
+
const { message, error, errors } = this.extractMessage(exception, status);
|
|
23
23
|
const body = {
|
|
24
24
|
statusCode: status,
|
|
25
25
|
message,
|
|
26
26
|
error,
|
|
27
|
+
...(errors ? { errors } : {}),
|
|
27
28
|
path: request.originalUrl,
|
|
28
29
|
timestamp: new Date().toISOString(),
|
|
29
30
|
};
|
|
30
31
|
if (status >= 500) {
|
|
31
|
-
this.logger.error(`${request.method} ${request.originalUrl} ${status}`, exception instanceof Error
|
|
32
|
+
this.logger.error(`${request.method} ${request.originalUrl} ${status}`, exception instanceof Error
|
|
33
|
+
? exception.stack
|
|
34
|
+
: JSON.stringify(exception));
|
|
32
35
|
}
|
|
33
36
|
else {
|
|
34
37
|
this.logger.warn(`${request.method} ${request.originalUrl} ${status}`);
|
|
@@ -45,6 +48,7 @@ let GlobalExceptionFilter = class GlobalExceptionFilter {
|
|
|
45
48
|
return {
|
|
46
49
|
message: obj.message ?? exception.message,
|
|
47
50
|
error: obj.error ?? exception.name,
|
|
51
|
+
errors: obj.errors,
|
|
48
52
|
};
|
|
49
53
|
}
|
|
50
54
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global.exception.filter.js","sourceRoot":"","sources":["../../../src/global/filters/global.exception.filter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAOwB;
|
|
1
|
+
{"version":3,"file":"global.exception.filter.js","sourceRoot":"","sources":["../../../src/global/filters/global.exception.filter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAOwB;AAajB,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAA3B;QACY,WAAM,GAAG,IAAI,eAAM,CAAC,iBAAiB,CAAC,CAAC;IAqE1D,CAAC;IAnEC,KAAK,CAAC,SAAkB,EAAE,IAAmB;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAY,CAAC;QAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAW,CAAC;QAE1C,MAAM,MAAM,GACV,SAAS,YAAY,sBAAa;YAChC,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE;YACvB,CAAC,CAAC,mBAAU,CAAC,qBAAqB,CAAC;QAEvC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAE1E,MAAM,IAAI,GAAsB;YAC9B,UAAU,EAAE,MAAM;YAClB,OAAO;YACP,KAAK;YACL,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,IAAI,EAAE,OAAO,CAAC,WAAW;YACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QAEF,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,WAAW,IAAI,MAAM,EAAE,EACpD,SAAS,YAAY,KAAK;gBACxB,CAAC,CAAC,SAAS,CAAC,KAAK;gBACjB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAC9B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,WAAW,IAAI,MAAM,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAEO,cAAc,CACpB,SAAkB,EAClB,MAAc;QAMd,IAAI,SAAS,YAAY,sBAAa,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;YACjD,CAAC;YACD,MAAM,GAAG,GAAG,GAIX,CAAC;YACF,OAAO;gBACL,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO;gBACzC,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI;gBAClC,MAAM,EAAE,GAAG,CAAC,MAAM;aACnB,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EACL,SAAS,YAAY,KAAK;gBACxB,CAAC,CAAC,SAAS,CAAC,OAAO;gBACnB,CAAC,CAAC,uBAAuB;YAC7B,KAAK,EAAE,mBAAU,CAAC,MAAM,CAAC,IAAI,OAAO;SACrC,CAAC;IACJ,CAAC;CACF,CAAA;AAtEY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,cAAK,GAAE;GACK,qBAAqB,CAsEjC"}
|
|
@@ -10,6 +10,10 @@ export declare abstract class MigrationUtility implements MigrationInterface {
|
|
|
10
10
|
abstract process(): void;
|
|
11
11
|
up(queryRunner: QueryRunner): Promise<void>;
|
|
12
12
|
down(queryRunner: QueryRunner): Promise<void>;
|
|
13
|
+
private _addColumns;
|
|
14
|
+
private _dropColumns;
|
|
15
|
+
private _declaresPrimary;
|
|
16
|
+
private _sameColumns;
|
|
13
17
|
primary(name?: string): this;
|
|
14
18
|
rootPrimary(): this;
|
|
15
19
|
string(name: string, mods?: StringColumnModifiers): this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration.utility.d.ts","sourceRoot":"","sources":["../../../src/global/utilities/migration.utility.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,WAAW,EAMZ,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,QAAQ,GACT,MAAM,kCAAkC,CAAC;AAE1C,8BAAsB,gBAAiB,YAAW,kBAAkB;IAClE,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;gBAEjC,SAAS,EAAE,MAAM;IAI7B,QAAQ,CAAC,OAAO,IAAI,IAAI;IAElB,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"migration.utility.d.ts","sourceRoot":"","sources":["../../../src/global/utilities/migration.utility.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,WAAW,EAMZ,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,QAAQ,GACT,MAAM,kCAAkC,CAAC;AAE1C,8BAAsB,gBAAiB,YAAW,kBAAkB;IAClE,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;gBAEjC,SAAS,EAAE,MAAM;IAI7B,QAAQ,CAAC,OAAO,IAAI,IAAI;IAElB,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAgBrC,WAAW;YAwBX,YAAY;IAuB1B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,IAAI,SAAO,GAAG,IAAI;IAgB1B,WAAW,IAAI,IAAI;IAoBnB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,qBAA0B,GAAG,IAAI;IAM5D,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,IAAI;IAIpD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,IAAI;IAItD,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,IAAI;IAI1D,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,SAAS,SAAK,EACd,KAAK,SAAI,EACT,IAAI,GAAE,eAAoB,GACzB,IAAI;IAIP,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,sBAA2B,GAAG,IAAI;IAI9D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,IAAI;IAIvD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,IAAI;IAIpD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,IAAI;IAIxD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,IAAI;IAIpD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,IAAI;IAIpD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,IAAI;IAIpD,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAkBzC,KAAK,CACH,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAO,GAChD,IAAI;IAWP,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAIvD,UAAU,IAAI,IAAI;IAuBlB,UAAU,IAAI,IAAI;IAUlB,OAAO,CAAC,IAAI;IAoBZ,OAAO,CAAC,UAAU;CASnB"}
|
|
@@ -13,15 +13,73 @@ class MigrationUtility {
|
|
|
13
13
|
if (this._columns.length === 0)
|
|
14
14
|
this.process();
|
|
15
15
|
await queryRunner.query('CREATE EXTENSION IF NOT EXISTS "uuid-ossp"');
|
|
16
|
-
await queryRunner.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
if (await queryRunner.hasTable(this.tableName)) {
|
|
17
|
+
await this._addColumns(queryRunner);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
await queryRunner.createTable(new typeorm_1.Table({
|
|
21
|
+
name: this.tableName,
|
|
22
|
+
columns: this._columns,
|
|
23
|
+
foreignKeys: this._foreignKeys,
|
|
24
|
+
indices: this._indices,
|
|
25
|
+
}), true);
|
|
26
|
+
}
|
|
22
27
|
}
|
|
23
28
|
async down(queryRunner) {
|
|
24
|
-
|
|
29
|
+
if (this._columns.length === 0)
|
|
30
|
+
this.process();
|
|
31
|
+
if (this._declaresPrimary()) {
|
|
32
|
+
await queryRunner.dropTable(this.tableName, true, true, true);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
await this._dropColumns(queryRunner);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
async _addColumns(queryRunner) {
|
|
39
|
+
for (const column of this._columns) {
|
|
40
|
+
if (!(await queryRunner.hasColumn(this.tableName, column.name))) {
|
|
41
|
+
await queryRunner.addColumn(this.tableName, column);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
for (const foreignKey of this._foreignKeys) {
|
|
45
|
+
const table = await queryRunner.getTable(this.tableName);
|
|
46
|
+
const exists = table?.foreignKeys.some((existing) => this._sameColumns(existing.columnNames, foreignKey.columnNames));
|
|
47
|
+
if (!exists)
|
|
48
|
+
await queryRunner.createForeignKey(this.tableName, foreignKey);
|
|
49
|
+
}
|
|
50
|
+
for (const index of this._indices) {
|
|
51
|
+
const table = await queryRunner.getTable(this.tableName);
|
|
52
|
+
const exists = table?.indices.some((existing) => this._sameColumns(existing.columnNames, index.columnNames));
|
|
53
|
+
if (!exists)
|
|
54
|
+
await queryRunner.createIndex(this.tableName, index);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
async _dropColumns(queryRunner) {
|
|
58
|
+
const table = await queryRunner.getTable(this.tableName);
|
|
59
|
+
if (!table)
|
|
60
|
+
return;
|
|
61
|
+
for (const index of this._indices) {
|
|
62
|
+
const existing = table.indices.find((candidate) => this._sameColumns(candidate.columnNames, index.columnNames));
|
|
63
|
+
if (existing)
|
|
64
|
+
await queryRunner.dropIndex(this.tableName, existing);
|
|
65
|
+
}
|
|
66
|
+
for (const foreignKey of this._foreignKeys) {
|
|
67
|
+
const existing = table.foreignKeys.find((candidate) => this._sameColumns(candidate.columnNames, foreignKey.columnNames));
|
|
68
|
+
if (existing)
|
|
69
|
+
await queryRunner.dropForeignKey(this.tableName, existing);
|
|
70
|
+
}
|
|
71
|
+
for (const column of this._columns) {
|
|
72
|
+
if (await queryRunner.hasColumn(this.tableName, column.name)) {
|
|
73
|
+
await queryRunner.dropColumn(this.tableName, column.name);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
_declaresPrimary() {
|
|
78
|
+
return this._columns.some((column) => column.isPrimary);
|
|
79
|
+
}
|
|
80
|
+
_sameColumns(left, right) {
|
|
81
|
+
return (left.length === right.length &&
|
|
82
|
+
[...left].sort().join(',') === [...right].sort().join(','));
|
|
25
83
|
}
|
|
26
84
|
primary(name = 'id') {
|
|
27
85
|
this._columns.push(new typeorm_1.TableColumn({
|
|
@@ -135,7 +193,11 @@ class MigrationUtility {
|
|
|
135
193
|
}
|
|
136
194
|
whoColumns() {
|
|
137
195
|
this.timestamps();
|
|
138
|
-
this.foreign({
|
|
196
|
+
this.foreign({
|
|
197
|
+
name: 'created_by',
|
|
198
|
+
foreignTable: 'sys_users',
|
|
199
|
+
nullable: true,
|
|
200
|
+
});
|
|
139
201
|
return this;
|
|
140
202
|
}
|
|
141
203
|
_add(name, type, mods, extra = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration.utility.js","sourceRoot":"","sources":["../../../src/global/utilities/migration.utility.ts"],"names":[],"mappings":";;;AAAA,qCAQiB;AAejB,MAAsB,gBAAgB;IAMpC,YAAY,SAAiB;QAJZ,aAAQ,GAAkB,EAAE,CAAC;QAC7B,iBAAY,GAAsB,EAAE,CAAC;QACrC,aAAQ,GAAiB,EAAE,CAAC;QAG3C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAID,KAAK,CAAC,EAAE,CAAC,WAAwB;QAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAE/C,MAAM,WAAW,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"migration.utility.js","sourceRoot":"","sources":["../../../src/global/utilities/migration.utility.ts"],"names":[],"mappings":"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"}
|