@punks/backend-entity-manager 0.0.392 → 0.0.394
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/cjs/index.js +66 -30
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/commands/upsert.d.ts +2 -3
- package/dist/cjs/types/platforms/nest/extensions/tasks/initializer.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/extensions/tasks/module.d.ts +3 -1
- package/dist/cjs/types/platforms/nest/extensions/tasks/settings/index.d.ts +5 -0
- package/dist/esm/index.js +66 -30
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/commands/upsert.d.ts +2 -3
- package/dist/esm/types/platforms/nest/extensions/tasks/initializer.d.ts +1 -0
- package/dist/esm/types/platforms/nest/extensions/tasks/module.d.ts +3 -1
- package/dist/esm/types/platforms/nest/extensions/tasks/settings/index.d.ts +5 -0
- package/dist/index.d.ts +13 -8
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -1115,37 +1115,53 @@ class EntityUpsertCommand {
|
|
|
1115
1115
|
this.services = services;
|
|
1116
1116
|
}
|
|
1117
1117
|
async execute(id, data) {
|
|
1118
|
-
const entity = await this.adaptEntity(data);
|
|
1118
|
+
const entity = await this.adaptEntity(id, data);
|
|
1119
1119
|
await this.authorize(id, entity);
|
|
1120
|
-
|
|
1121
|
-
|
|
1120
|
+
if (id) {
|
|
1121
|
+
const updatedEntity = await this.services
|
|
1122
|
+
.resolveRepository()
|
|
1123
|
+
.upsert(id, entity);
|
|
1124
|
+
await this.versionEntity(id, updatedEntity);
|
|
1125
|
+
await this.services
|
|
1126
|
+
.resolveEventsManager()
|
|
1127
|
+
.processEntityUpdatedEvent(updatedEntity);
|
|
1128
|
+
return {
|
|
1129
|
+
id,
|
|
1130
|
+
};
|
|
1131
|
+
}
|
|
1132
|
+
const createdItem = await this.services.resolveRepository().create(entity);
|
|
1133
|
+
// todo: parametrize id field
|
|
1134
|
+
const newId = createdItem.id;
|
|
1135
|
+
await this.versionEntity(newId, createdItem);
|
|
1122
1136
|
await this.services
|
|
1123
1137
|
.resolveEventsManager()
|
|
1124
|
-
.
|
|
1138
|
+
.processEntityCreatedEvent(createdItem);
|
|
1125
1139
|
return {
|
|
1126
|
-
id,
|
|
1140
|
+
id: newId,
|
|
1127
1141
|
};
|
|
1128
1142
|
}
|
|
1129
|
-
async
|
|
1130
|
-
return await this.services.resolveRepository().upsert(id, entity);
|
|
1131
|
-
}
|
|
1132
|
-
async adaptEntity(input) {
|
|
1143
|
+
async adaptEntity(id, input) {
|
|
1133
1144
|
const context = await this.getContext();
|
|
1134
1145
|
const adapter = this.services.resolveAdapter();
|
|
1135
|
-
|
|
1146
|
+
if (!adapter) {
|
|
1147
|
+
return input;
|
|
1148
|
+
}
|
|
1149
|
+
return id
|
|
1136
1150
|
? adapter.updateDataToEntity(input, context)
|
|
1137
|
-
: input;
|
|
1151
|
+
: adapter.createDataToEntity(input, context);
|
|
1138
1152
|
}
|
|
1139
1153
|
async authorize(id, entity) {
|
|
1140
1154
|
const authorization = this.services.resolveAuthorizationMiddleware();
|
|
1141
1155
|
if (!authorization) {
|
|
1142
1156
|
return;
|
|
1143
1157
|
}
|
|
1144
|
-
const currentEntity = await this.services.resolveRepository().get(id);
|
|
1145
1158
|
const context = await this.getContext();
|
|
1146
1159
|
if (!context) {
|
|
1147
1160
|
return;
|
|
1148
1161
|
}
|
|
1162
|
+
const currentEntity = id
|
|
1163
|
+
? await this.services.resolveRepository().get(id)
|
|
1164
|
+
: undefined;
|
|
1149
1165
|
if (currentEntity) {
|
|
1150
1166
|
const updateResult = await authorization.canUpdate(currentEntity, context);
|
|
1151
1167
|
if (!updateResult.isAuthorized)
|
|
@@ -2983,7 +2999,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
|
|
|
2983
2999
|
};
|
|
2984
3000
|
|
|
2985
3001
|
var AwsDynamoDbModule_1;
|
|
2986
|
-
const ModuleData$
|
|
3002
|
+
const ModuleData$b = {
|
|
2987
3003
|
providers: [],
|
|
2988
3004
|
exports: [],
|
|
2989
3005
|
};
|
|
@@ -2992,13 +3008,13 @@ exports.AwsDynamoDbModule = AwsDynamoDbModule_1 = class AwsDynamoDbModule {
|
|
|
2992
3008
|
awsDynamoDbSettings.initialize(input);
|
|
2993
3009
|
return {
|
|
2994
3010
|
module: AwsDynamoDbModule_1,
|
|
2995
|
-
...ModuleData$
|
|
3011
|
+
...ModuleData$b,
|
|
2996
3012
|
};
|
|
2997
3013
|
}
|
|
2998
3014
|
};
|
|
2999
3015
|
exports.AwsDynamoDbModule = AwsDynamoDbModule_1 = __decorate([
|
|
3000
3016
|
common.Module({
|
|
3001
|
-
...ModuleData$
|
|
3017
|
+
...ModuleData$b,
|
|
3002
3018
|
})
|
|
3003
3019
|
], exports.AwsDynamoDbModule);
|
|
3004
3020
|
|
|
@@ -24329,7 +24345,7 @@ const getIoCContext = () => {
|
|
|
24329
24345
|
return _context;
|
|
24330
24346
|
};
|
|
24331
24347
|
|
|
24332
|
-
const ModuleData$
|
|
24348
|
+
const ModuleData$a = {
|
|
24333
24349
|
imports: [exports.CustomDiscoveryModule, eventEmitter.EventEmitterModule],
|
|
24334
24350
|
providers: [
|
|
24335
24351
|
...IoC,
|
|
@@ -24352,9 +24368,9 @@ exports.EntityManagerModule = class EntityManagerModule {
|
|
|
24352
24368
|
};
|
|
24353
24369
|
exports.EntityManagerModule = __decorate([
|
|
24354
24370
|
common.Module({
|
|
24355
|
-
imports: ModuleData$
|
|
24356
|
-
providers: ModuleData$
|
|
24357
|
-
exports: ModuleData$
|
|
24371
|
+
imports: ModuleData$a.imports,
|
|
24372
|
+
providers: ModuleData$a.providers,
|
|
24373
|
+
exports: ModuleData$a.exports,
|
|
24358
24374
|
}),
|
|
24359
24375
|
__metadata("design:paramtypes", [exports.EntityManagerRegistry])
|
|
24360
24376
|
], exports.EntityManagerModule);
|
|
@@ -24585,7 +24601,7 @@ AuthenticationMiddleware = __decorate([
|
|
|
24585
24601
|
], AuthenticationMiddleware);
|
|
24586
24602
|
|
|
24587
24603
|
var AuthenticationModule_1;
|
|
24588
|
-
const ModuleData$
|
|
24604
|
+
const ModuleData$9 = {
|
|
24589
24605
|
imports: [exports.EntityManagerModule, jwt.JwtModule],
|
|
24590
24606
|
providers: [
|
|
24591
24607
|
AuthenticationServicesResolver,
|
|
@@ -24602,7 +24618,7 @@ exports.AuthenticationModule = AuthenticationModule_1 = class AuthenticationModu
|
|
|
24602
24618
|
authSettings.initialize(input);
|
|
24603
24619
|
return {
|
|
24604
24620
|
module: AuthenticationModule_1,
|
|
24605
|
-
...ModuleData$
|
|
24621
|
+
...ModuleData$9,
|
|
24606
24622
|
};
|
|
24607
24623
|
}
|
|
24608
24624
|
configure(consumer) {
|
|
@@ -24615,7 +24631,7 @@ exports.AuthenticationModule = AuthenticationModule_1 = class AuthenticationModu
|
|
|
24615
24631
|
};
|
|
24616
24632
|
exports.AuthenticationModule = AuthenticationModule_1 = __decorate([
|
|
24617
24633
|
common.Module({
|
|
24618
|
-
...ModuleData$
|
|
24634
|
+
...ModuleData$9,
|
|
24619
24635
|
})
|
|
24620
24636
|
], exports.AuthenticationModule);
|
|
24621
24637
|
|
|
@@ -34817,7 +34833,7 @@ const JobResolverProviders = [JobsProviderFactory];
|
|
|
34817
34833
|
const JobTasks = [JobsMonitorTask, JobsSchedulerTask];
|
|
34818
34834
|
|
|
34819
34835
|
var JobsModule_1;
|
|
34820
|
-
const ModuleData$
|
|
34836
|
+
const ModuleData$8 = {
|
|
34821
34837
|
providers: [
|
|
34822
34838
|
...JobsProviders,
|
|
34823
34839
|
...JobTasks,
|
|
@@ -34841,13 +34857,13 @@ exports.JobsModule = JobsModule_1 = class JobsModule {
|
|
|
34841
34857
|
jobsSettings.initialize(input);
|
|
34842
34858
|
return {
|
|
34843
34859
|
module: JobsModule_1,
|
|
34844
|
-
...ModuleData$
|
|
34860
|
+
...ModuleData$8,
|
|
34845
34861
|
};
|
|
34846
34862
|
}
|
|
34847
34863
|
};
|
|
34848
34864
|
exports.JobsModule = JobsModule_1 = __decorate([
|
|
34849
34865
|
common.Module({
|
|
34850
|
-
...ModuleData$
|
|
34866
|
+
...ModuleData$8,
|
|
34851
34867
|
}),
|
|
34852
34868
|
__metadata("design:paramtypes", [JobsScheduler,
|
|
34853
34869
|
JobsProviderFactory])
|
|
@@ -34983,6 +34999,8 @@ TasksRegistry = __decorate([
|
|
|
34983
34999
|
common.Injectable()
|
|
34984
35000
|
], TasksRegistry);
|
|
34985
35001
|
|
|
35002
|
+
const tasksSettings = new AppInMemorySettings("tasksSettings");
|
|
35003
|
+
|
|
34986
35004
|
var TasksInitializer_1;
|
|
34987
35005
|
let TasksInitializer = TasksInitializer_1 = class TasksInitializer {
|
|
34988
35006
|
constructor(discover, scheduler, registry) {
|
|
@@ -34992,9 +35010,16 @@ let TasksInitializer = TasksInitializer_1 = class TasksInitializer {
|
|
|
34992
35010
|
this.logger = new common.Logger(TasksInitializer_1.name);
|
|
34993
35011
|
}
|
|
34994
35012
|
async initialize(app) {
|
|
35013
|
+
if (this.tasksSettings?.enabled === false) {
|
|
35014
|
+
this.logger.log("Tasks disabled 🎰");
|
|
35015
|
+
return;
|
|
35016
|
+
}
|
|
34995
35017
|
await this.registerCronJobs();
|
|
34996
35018
|
this.logger.log("Tasks initialized 🎰");
|
|
34997
35019
|
}
|
|
35020
|
+
get tasksSettings() {
|
|
35021
|
+
return tasksSettings.value;
|
|
35022
|
+
}
|
|
34998
35023
|
async registerCronJobs() {
|
|
34999
35024
|
const tasks = await this.discoverTasks();
|
|
35000
35025
|
const duplicatedJobs = tasks.filter((job, index, self) => index !== self.findIndex((t) => t.meta.name === job.meta.name));
|
|
@@ -35061,19 +35086,30 @@ exports.TasksService = TasksService_1 = __decorate([
|
|
|
35061
35086
|
|
|
35062
35087
|
const TaskModuleServices = [exports.TasksService];
|
|
35063
35088
|
|
|
35064
|
-
|
|
35089
|
+
var TasksModule_1;
|
|
35090
|
+
const ModuleData$7 = {
|
|
35091
|
+
imports: [exports.EntityManagerModule],
|
|
35092
|
+
providers: [TasksInitializer, ...TasksModuleProviders, ...TaskModuleServices],
|
|
35093
|
+
exports: [...TaskModuleServices],
|
|
35094
|
+
};
|
|
35095
|
+
exports.TasksModule = TasksModule_1 = class TasksModule {
|
|
35065
35096
|
constructor(scheduler) {
|
|
35066
35097
|
this.scheduler = scheduler;
|
|
35067
35098
|
}
|
|
35099
|
+
static forRoot(input) {
|
|
35100
|
+
tasksSettings.initialize(input);
|
|
35101
|
+
return {
|
|
35102
|
+
module: TasksModule_1,
|
|
35103
|
+
...ModuleData$7,
|
|
35104
|
+
};
|
|
35105
|
+
}
|
|
35068
35106
|
onModuleDestroy() {
|
|
35069
35107
|
this.scheduler.stopAllTasks();
|
|
35070
35108
|
}
|
|
35071
35109
|
};
|
|
35072
|
-
exports.TasksModule = __decorate([
|
|
35110
|
+
exports.TasksModule = TasksModule_1 = __decorate([
|
|
35073
35111
|
common.Module({
|
|
35074
|
-
|
|
35075
|
-
providers: [TasksInitializer, ...TasksModuleProviders, ...TaskModuleServices],
|
|
35076
|
-
exports: [...TaskModuleServices],
|
|
35112
|
+
...ModuleData$7,
|
|
35077
35113
|
}),
|
|
35078
35114
|
__metadata("design:paramtypes", [TaskScheduler])
|
|
35079
35115
|
], exports.TasksModule);
|