@punks/backend-entity-manager 0.0.282 → 0.0.284
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 +71 -21
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/platforms/nest/extensions/jobs/abstractions/runner.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/extensions/jobs/commands/job-dispatch/command.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/extensions/jobs/index.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/extensions/jobs/providers/scheduler/index.d.ts +2 -3
- package/dist/cjs/types/platforms/nest/extensions/jobs/services/index.d.ts +2 -1
- package/dist/cjs/types/platforms/nest/extensions/jobs/services/jobs-service/index.d.ts +2 -0
- package/dist/cjs/types/platforms/nest/extensions/jobs/services/jobs-service/service.d.ts +8 -3
- package/dist/cjs/types/platforms/nest/extensions/jobs/services/jobs-service/types.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/extensions/jobs/settings/index.d.ts +3 -0
- package/dist/cjs/types/platforms/nest/ioc/tokens/symbols.d.ts +0 -1
- package/dist/esm/index.js +72 -22
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/platforms/nest/extensions/jobs/abstractions/runner.d.ts +1 -0
- package/dist/esm/types/platforms/nest/extensions/jobs/commands/job-dispatch/command.d.ts +1 -0
- package/dist/esm/types/platforms/nest/extensions/jobs/index.d.ts +1 -0
- package/dist/esm/types/platforms/nest/extensions/jobs/providers/scheduler/index.d.ts +2 -3
- package/dist/esm/types/platforms/nest/extensions/jobs/services/index.d.ts +2 -1
- package/dist/esm/types/platforms/nest/extensions/jobs/services/jobs-service/index.d.ts +2 -0
- package/dist/esm/types/platforms/nest/extensions/jobs/services/jobs-service/service.d.ts +8 -3
- package/dist/esm/types/platforms/nest/extensions/jobs/services/jobs-service/types.d.ts +1 -0
- package/dist/esm/types/platforms/nest/extensions/jobs/settings/index.d.ts +3 -0
- package/dist/esm/types/platforms/nest/ioc/tokens/symbols.d.ts +0 -1
- package/dist/index.d.ts +22 -4
- package/package.json +1 -1
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import { SchedulerRegistry } from "@nestjs/schedule";
|
|
2
|
-
import { JobsSettings } from "../../abstractions/settings";
|
|
3
2
|
import { JobsSchedulerTask } from "../../task/jobs-scheduler";
|
|
4
3
|
import { JobsMonitorTask } from "../../task/jobs-monitor";
|
|
5
4
|
export declare class JobsScheduler {
|
|
6
|
-
private readonly jobsSettings;
|
|
7
5
|
private readonly schedulerRegistry;
|
|
8
6
|
private readonly schedulerTask;
|
|
9
7
|
private readonly monitorTask;
|
|
10
8
|
private readonly logger;
|
|
11
|
-
constructor(
|
|
9
|
+
constructor(schedulerRegistry: SchedulerRegistry, schedulerTask: JobsSchedulerTask, monitorTask: JobsMonitorTask);
|
|
12
10
|
register(): void;
|
|
13
11
|
private registerJobsScheduler;
|
|
14
12
|
private registerJobsMonitor;
|
|
15
13
|
private batchJobsSchedule;
|
|
16
14
|
private batchJobsMonitor;
|
|
15
|
+
private get jobsSettings();
|
|
17
16
|
}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { JobsService } from "./jobs-service";
|
|
2
|
+
export declare const JobsServices: (typeof JobsService)[];
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
import { IJobDefinitionsRepository } from "../../abstractions";
|
|
1
|
+
import { IJobDefinitionsRepository, IJobInstancesRepository, JobDefinition } from "../../abstractions";
|
|
2
2
|
import { CommandBus } from "@nestjs/cqrs";
|
|
3
3
|
import { JobTriggerInput } from "./types";
|
|
4
4
|
export declare class JobsService {
|
|
5
5
|
private readonly definitions;
|
|
6
|
+
private readonly instances;
|
|
6
7
|
private readonly commandBus;
|
|
7
|
-
constructor(definitions: IJobDefinitionsRepository, commandBus: CommandBus);
|
|
8
|
-
|
|
8
|
+
constructor(definitions: IJobDefinitionsRepository, instances: IJobInstancesRepository, commandBus: CommandBus);
|
|
9
|
+
triggerJob: (input: JobTriggerInput) => Promise<any>;
|
|
10
|
+
updateJob: (input: JobDefinition<unknown, unknown>) => Promise<void>;
|
|
11
|
+
instanceMonitor: (input: {
|
|
12
|
+
instanceId: string;
|
|
13
|
+
}) => Promise<any>;
|
|
9
14
|
}
|
package/dist/esm/index.js
CHANGED
|
@@ -33769,10 +33769,11 @@ JobsMonitorTask = JobsMonitorTask_1 = __decorate([
|
|
|
33769
33769
|
__metadata("design:paramtypes", [Object, Object, CommandBus])
|
|
33770
33770
|
], JobsMonitorTask);
|
|
33771
33771
|
|
|
33772
|
+
const jobsSettings = new AppInMemorySettings();
|
|
33773
|
+
|
|
33772
33774
|
var JobsScheduler_1;
|
|
33773
33775
|
let JobsScheduler = JobsScheduler_1 = class JobsScheduler {
|
|
33774
|
-
constructor(
|
|
33775
|
-
this.jobsSettings = jobsSettings;
|
|
33776
|
+
constructor(schedulerRegistry, schedulerTask, monitorTask) {
|
|
33776
33777
|
this.schedulerRegistry = schedulerRegistry;
|
|
33777
33778
|
this.schedulerTask = schedulerTask;
|
|
33778
33779
|
this.monitorTask = monitorTask;
|
|
@@ -33808,18 +33809,78 @@ let JobsScheduler = JobsScheduler_1 = class JobsScheduler {
|
|
|
33808
33809
|
this.registerJobsScheduler();
|
|
33809
33810
|
this.registerJobsMonitor();
|
|
33810
33811
|
}
|
|
33812
|
+
get jobsSettings() {
|
|
33813
|
+
return jobsSettings.value;
|
|
33814
|
+
}
|
|
33811
33815
|
};
|
|
33812
33816
|
JobsScheduler = JobsScheduler_1 = __decorate([
|
|
33813
33817
|
Injectable(),
|
|
33814
|
-
|
|
33815
|
-
__metadata("design:paramtypes", [Object, SchedulerRegistry,
|
|
33818
|
+
__metadata("design:paramtypes", [SchedulerRegistry,
|
|
33816
33819
|
JobsSchedulerTask,
|
|
33817
33820
|
JobsMonitorTask])
|
|
33818
33821
|
], JobsScheduler);
|
|
33819
33822
|
|
|
33820
33823
|
const JobsProviders = [JobsScheduler];
|
|
33821
33824
|
|
|
33822
|
-
|
|
33825
|
+
class JobDefinitionUpdateCommand {
|
|
33826
|
+
constructor(input) {
|
|
33827
|
+
this.input = input;
|
|
33828
|
+
}
|
|
33829
|
+
}
|
|
33830
|
+
|
|
33831
|
+
let JobsService = class JobsService {
|
|
33832
|
+
constructor(definitions, instances, commandBus) {
|
|
33833
|
+
this.definitions = definitions;
|
|
33834
|
+
this.instances = instances;
|
|
33835
|
+
this.commandBus = commandBus;
|
|
33836
|
+
this.triggerJob = async (input) => {
|
|
33837
|
+
const job = await this.definitions.getDefinitionByUid(input.jobUid);
|
|
33838
|
+
if (!job) {
|
|
33839
|
+
throw new Error(`Job ${input.jobUid} not found`);
|
|
33840
|
+
}
|
|
33841
|
+
const schedule = input.scheduleUid
|
|
33842
|
+
? job.schedules.find((x) => x.uid === input.scheduleUid)
|
|
33843
|
+
: undefined;
|
|
33844
|
+
if (input.scheduleUid && !schedule) {
|
|
33845
|
+
throw new Error(`Job ${input.jobUid} schedule ${input.scheduleUid} not found`);
|
|
33846
|
+
}
|
|
33847
|
+
return await this.commandBus.execute(new JobDispatchCommand({
|
|
33848
|
+
job,
|
|
33849
|
+
schedule,
|
|
33850
|
+
runType: JobRunType.OnDemand,
|
|
33851
|
+
payload: input.payload,
|
|
33852
|
+
}));
|
|
33853
|
+
};
|
|
33854
|
+
this.updateJob = async (input) => {
|
|
33855
|
+
this.commandBus.execute(new JobDefinitionUpdateCommand({
|
|
33856
|
+
job: input,
|
|
33857
|
+
}));
|
|
33858
|
+
};
|
|
33859
|
+
this.instanceMonitor = async (input) => {
|
|
33860
|
+
const { instanceId } = input;
|
|
33861
|
+
const instance = await this.instances.getById(instanceId);
|
|
33862
|
+
if (!instance) {
|
|
33863
|
+
throw new Error(`Job instance ${instanceId} not found`);
|
|
33864
|
+
}
|
|
33865
|
+
const job = await this.definitions.getDefinitionByUid(instance.jobUid);
|
|
33866
|
+
if (!job) {
|
|
33867
|
+
throw new Error(`Job definition ${instance.jobUid} not found`);
|
|
33868
|
+
}
|
|
33869
|
+
return await this.commandBus.execute(new JobStatusMonitorCommand({
|
|
33870
|
+
instanceId,
|
|
33871
|
+
job,
|
|
33872
|
+
}));
|
|
33873
|
+
};
|
|
33874
|
+
}
|
|
33875
|
+
};
|
|
33876
|
+
JobsService = __decorate([
|
|
33877
|
+
Injectable(),
|
|
33878
|
+
__param(0, Inject(getEntityManagerProviderToken("JobDefinitionsRepository"))),
|
|
33879
|
+
__param(1, Inject(getEntityManagerProviderToken("JobInstancesRepository"))),
|
|
33880
|
+
__metadata("design:paramtypes", [Object, Object, CommandBus])
|
|
33881
|
+
], JobsService);
|
|
33882
|
+
|
|
33883
|
+
const JobsServices = [JobsService];
|
|
33823
33884
|
|
|
33824
33885
|
const JOB_PROVIDER = Symbol.for("WP.JOB_PROVIDER");
|
|
33825
33886
|
|
|
@@ -33887,7 +33948,7 @@ let JobDispatchHandler = JobDispatchHandler_1 = class JobDispatchHandler {
|
|
|
33887
33948
|
});
|
|
33888
33949
|
}
|
|
33889
33950
|
async dispatchJob(command) {
|
|
33890
|
-
const { input: { job, schedule, runType }, } = command;
|
|
33951
|
+
const { input: { job, schedule, runType, payload }, } = command;
|
|
33891
33952
|
const instanceId = newUuid$1();
|
|
33892
33953
|
try {
|
|
33893
33954
|
this.logger.info(`JOB DISPATCH -> dispatching started job ${job.uid} -> ${instanceId}`);
|
|
@@ -33901,6 +33962,7 @@ let JobDispatchHandler = JobDispatchHandler_1 = class JobDispatchHandler {
|
|
|
33901
33962
|
definition: job,
|
|
33902
33963
|
schedule,
|
|
33903
33964
|
instanceId,
|
|
33965
|
+
payload,
|
|
33904
33966
|
});
|
|
33905
33967
|
await this.instances.updateInstance(instanceId, {
|
|
33906
33968
|
status: JobStatus.Ready,
|
|
@@ -33991,12 +34053,6 @@ JobStatusMonitorHandler = JobStatusMonitorHandler_1 = __decorate([
|
|
|
33991
34053
|
JobProviderExecutor, Object])
|
|
33992
34054
|
], JobStatusMonitorHandler);
|
|
33993
34055
|
|
|
33994
|
-
class JobDefinitionUpdateCommand {
|
|
33995
|
-
constructor(input) {
|
|
33996
|
-
this.input = input;
|
|
33997
|
-
}
|
|
33998
|
-
}
|
|
33999
|
-
|
|
34000
34056
|
var JobDefinitionUpdateHandler_1;
|
|
34001
34057
|
let JobDefinitionUpdateHandler = JobDefinitionUpdateHandler_1 = class JobDefinitionUpdateHandler {
|
|
34002
34058
|
constructor(lock, definitions, executor) {
|
|
@@ -34062,16 +34118,10 @@ let JobsModule = JobsModule_1 = class JobsModule {
|
|
|
34062
34118
|
await this.jobsProviderFactory.initialize();
|
|
34063
34119
|
}
|
|
34064
34120
|
static forRoot(input) {
|
|
34121
|
+
jobsSettings.initialize(input);
|
|
34065
34122
|
return {
|
|
34066
34123
|
module: JobsModule_1,
|
|
34067
34124
|
...ModuleData$7,
|
|
34068
|
-
providers: [
|
|
34069
|
-
...ModuleData$7.providers,
|
|
34070
|
-
{
|
|
34071
|
-
provide: getEntityManagerProviderToken("JobsModuleSettings"),
|
|
34072
|
-
useValue: input,
|
|
34073
|
-
},
|
|
34074
|
-
],
|
|
34075
34125
|
};
|
|
34076
34126
|
}
|
|
34077
34127
|
};
|
|
@@ -40070,13 +40120,13 @@ let AwsJobsProvider = class AwsJobsProvider {
|
|
|
40070
40120
|
this.awsBatchService = awsBatchService;
|
|
40071
40121
|
}
|
|
40072
40122
|
async dispatch(input) {
|
|
40073
|
-
const { definition, schedule, instanceId } = input;
|
|
40123
|
+
const { definition, schedule, instanceId, payload } = input;
|
|
40074
40124
|
const awsInvocationParams = schedule?.invocationOverrides;
|
|
40075
40125
|
await this.awsBatchService.submitJob({
|
|
40076
40126
|
instanceId,
|
|
40077
40127
|
jobUid: definition.uid,
|
|
40078
40128
|
overrides: {
|
|
40079
|
-
command: awsInvocationParams?.startCommand,
|
|
40129
|
+
command: awsInvocationParams?.startCommand?.map((x) => x.replace("{payload}", JSON.stringify(payload ?? {}))),
|
|
40080
40130
|
},
|
|
40081
40131
|
});
|
|
40082
40132
|
}
|
|
@@ -43463,5 +43513,5 @@ AwsSecretsModule = AwsSecretsModule_1 = __decorate([
|
|
|
43463
43513
|
})
|
|
43464
43514
|
], AwsSecretsModule);
|
|
43465
43515
|
|
|
43466
|
-
export { AUTHENTICATION_EVENTS_NAMESPACE, ApiKeyAccess, AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppSessionMiddleware, AppSessionService, AuthGuard, Authenticated, AuthenticationEmailTemplates, AuthenticationError, AuthenticationEvents, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationService, AwsBucketModule, AwsEmailModule, AwsJobsModule, AwsS3BucketError, AwsS3BucketProvider, AwsS3MediaError, AwsS3MediaModule, AwsS3MediaProvider, AwsSecretsModule, AwsSecretsProvider, AwsSesEmailTemplate, BucketItemType, CacheService, ConnectorMode, CurrentUser, CustomDiscoveryModule, CustomDiscoveryService, EmailService, EntityManagerConfigurationError, EntityManagerException, EntityManagerInitializer, EntityManagerModule, EntityManagerRegistry, EntityManagerService, EntityManagerSymbols, EntityManagerUnauthorizedException, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, EntitySeeder, EntitySerializationFormat, EntitySerializer, EntitySnapshotService, EntityVersionOperation, EventsService, FilesManager, IEntityVersionsCursor, InMemoryBucketProvider, InMemoryEmailProvider, InMemoryMediaProvider, InvalidCredentialsError, JobConcurrency, JobInstance, JobProviderState, JobRunType, JobSchedule, JobStatus, JobsModule, LockNotFoundError, MediaLibraryService, MemberOf, MissingEntityIdError, ModulesContainerProvider, MultiTenancyModule, MultipleEntitiesFoundException, NestEntityActions, NestEntityAuthorizationMiddleware, NestEntityManager, NestEntitySerializer, NestEntitySnapshotService, NestPipelineTemplate, NestTypeOrmEntitySeeder, NestTypeOrmQueryBuilder, NestTypeOrmRepository, OperationLockService, OperationTokenMismatchError, PLATFORM_EVENT_NAMESPACE, Permissions, PipelineController, PipelineErrorType, PipelineInvocationError, PipelineStatus, PipelineStepErrorType, PipelinesBuilder, PipelinesRunner, PlatformEvents, Public, QueryBuilderBase, QueryBuilderOperation, ReplicationMode, Roles, SanityMediaError, SanityMediaModule, SanityMediaProvider, SecretsService, SendgridEmailModule, SendgridEmailTemplate, SortDirection, TrackingService, TypeOrmQueryBuilder, TypeOrmRepository, TypeormCacheInstance, TypeormOperationLockRepository, UserCreationError, UserRegistrationError, WpApiKeysService, WpAppInitializer, WpAwsSesEmailTemplate, WpBucketProvider, WpCacheInstance, WpEmailLogger, WpEmailProvider, WpEmailTemplate, WpEntity, WpEntityActions, WpEntityAdapter, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConnectorMapper, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository, WpEntitySeeder, WpEntitySerializer, WpEntitySnapshotService, WpEntityVersioningProvider, WpEventsTracker, WpFileProvider, WpFileReferenceRepository, WpGlobalAuthenticationMiddleware, WpMediaFolderRepository, WpMediaProvider, WpMediaReferenceRepository, WpPermissionsService, WpPipeline, WpRolesService, WpSendgridEmailTemplate, WpUserRolesService, WpUserService, buildPermissionsGuard, buildProviderToken, buildRolesGuard, createContainer, createExpressFileResponse, getEntityManagerProviderToken, getLocalizedText, newUuid, renderHandlebarsTemplate, toEntitiesImportInput };
|
|
43516
|
+
export { AUTHENTICATION_EVENTS_NAMESPACE, ApiKeyAccess, AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppSessionMiddleware, AppSessionService, AuthGuard, Authenticated, AuthenticationEmailTemplates, AuthenticationError, AuthenticationEvents, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationService, AwsBucketModule, AwsEmailModule, AwsJobsModule, AwsS3BucketError, AwsS3BucketProvider, AwsS3MediaError, AwsS3MediaModule, AwsS3MediaProvider, AwsSecretsModule, AwsSecretsProvider, AwsSesEmailTemplate, BucketItemType, CacheService, ConnectorMode, CurrentUser, CustomDiscoveryModule, CustomDiscoveryService, EmailService, EntityManagerConfigurationError, EntityManagerException, EntityManagerInitializer, EntityManagerModule, EntityManagerRegistry, EntityManagerService, EntityManagerSymbols, EntityManagerUnauthorizedException, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, EntitySeeder, EntitySerializationFormat, EntitySerializer, EntitySnapshotService, EntityVersionOperation, EventsService, FilesManager, IEntityVersionsCursor, InMemoryBucketProvider, InMemoryEmailProvider, InMemoryMediaProvider, InvalidCredentialsError, JobConcurrency, JobInstance, JobProviderState, JobRunType, JobSchedule, JobStatus, JobsModule, JobsService, LockNotFoundError, MediaLibraryService, MemberOf, MissingEntityIdError, ModulesContainerProvider, MultiTenancyModule, MultipleEntitiesFoundException, NestEntityActions, NestEntityAuthorizationMiddleware, NestEntityManager, NestEntitySerializer, NestEntitySnapshotService, NestPipelineTemplate, NestTypeOrmEntitySeeder, NestTypeOrmQueryBuilder, NestTypeOrmRepository, OperationLockService, OperationTokenMismatchError, PLATFORM_EVENT_NAMESPACE, Permissions, PipelineController, PipelineErrorType, PipelineInvocationError, PipelineStatus, PipelineStepErrorType, PipelinesBuilder, PipelinesRunner, PlatformEvents, Public, QueryBuilderBase, QueryBuilderOperation, ReplicationMode, Roles, SanityMediaError, SanityMediaModule, SanityMediaProvider, SecretsService, SendgridEmailModule, SendgridEmailTemplate, SortDirection, TrackingService, TypeOrmQueryBuilder, TypeOrmRepository, TypeormCacheInstance, TypeormOperationLockRepository, UserCreationError, UserRegistrationError, WpApiKeysService, WpAppInitializer, WpAwsSesEmailTemplate, WpBucketProvider, WpCacheInstance, WpEmailLogger, WpEmailProvider, WpEmailTemplate, WpEntity, WpEntityActions, WpEntityAdapter, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConnectorMapper, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository, WpEntitySeeder, WpEntitySerializer, WpEntitySnapshotService, WpEntityVersioningProvider, WpEventsTracker, WpFileProvider, WpFileReferenceRepository, WpGlobalAuthenticationMiddleware, WpMediaFolderRepository, WpMediaProvider, WpMediaReferenceRepository, WpPermissionsService, WpPipeline, WpRolesService, WpSendgridEmailTemplate, WpUserRolesService, WpUserService, buildPermissionsGuard, buildProviderToken, buildRolesGuard, createContainer, createExpressFileResponse, getEntityManagerProviderToken, getLocalizedText, newUuid, renderHandlebarsTemplate, toEntitiesImportInput };
|
|
43467
43517
|
//# sourceMappingURL=index.js.map
|