atomic-queues 1.1.1 → 1.2.0
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/decorators/decorators.d.ts +118 -0
- package/dist/decorators/decorators.d.ts.map +1 -1
- package/dist/decorators/decorators.js +162 -1
- package/dist/decorators/decorators.js.map +1 -1
- package/dist/module/atomic-queues.module.d.ts.map +1 -1
- package/dist/module/atomic-queues.module.js +1 -0
- package/dist/module/atomic-queues.module.js.map +1 -1
- package/dist/services/command-discovery/command-discovery.service.d.ts +88 -0
- package/dist/services/command-discovery/command-discovery.service.d.ts.map +1 -0
- package/dist/services/command-discovery/command-discovery.service.js +235 -0
- package/dist/services/command-discovery/command-discovery.service.js.map +1 -0
- package/dist/services/command-discovery/index.d.ts +2 -0
- package/dist/services/command-discovery/index.d.ts.map +1 -0
- package/dist/services/command-discovery/index.js +18 -0
- package/dist/services/command-discovery/index.js.map +1 -0
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +1 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/processor-discovery/processor-discovery.service.d.ts +8 -1
- package/dist/services/processor-discovery/processor-discovery.service.d.ts.map +1 -1
- package/dist/services/processor-discovery/processor-discovery.service.js +27 -7
- package/dist/services/processor-discovery/processor-discovery.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -13,6 +13,8 @@ export declare const GET_ACTIVE_ENTITIES_METADATA = "atomic:get-active-entities"
|
|
|
13
13
|
export declare const GET_DESIRED_WORKER_COUNT_METADATA = "atomic:get-desired-worker-count";
|
|
14
14
|
export declare const ON_SPAWN_WORKER_METADATA = "atomic:on-spawn-worker";
|
|
15
15
|
export declare const ON_TERMINATE_WORKER_METADATA = "atomic:on-terminate-worker";
|
|
16
|
+
export declare const JOB_COMMAND_METADATA = "atomic:job-command";
|
|
17
|
+
export declare const JOB_QUERY_METADATA = "atomic:job-query";
|
|
16
18
|
/**
|
|
17
19
|
* Options for @WorkerProcessor decorator
|
|
18
20
|
*/
|
|
@@ -35,6 +37,48 @@ export interface EntityScalerOptions {
|
|
|
35
37
|
/** Maximum workers per entity */
|
|
36
38
|
maxWorkersPerEntity?: number;
|
|
37
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Options for @JobCommand decorator
|
|
42
|
+
*/
|
|
43
|
+
export interface JobCommandOptions {
|
|
44
|
+
/** Job name (defaults to kebab-case of class name without 'Command' suffix) */
|
|
45
|
+
name?: string;
|
|
46
|
+
/** Entity type this command belongs to (optional, for scoped routing) */
|
|
47
|
+
entityType?: string;
|
|
48
|
+
/** Which constructor parameter is the entityId (default: 0 = first param) */
|
|
49
|
+
entityIdParam?: number | string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Options for @JobQuery decorator
|
|
53
|
+
*/
|
|
54
|
+
export interface JobQueryOptions {
|
|
55
|
+
/** Job name (defaults to kebab-case of class name without 'Query' suffix) */
|
|
56
|
+
name?: string;
|
|
57
|
+
/** Entity type this query belongs to (optional, for scoped routing) */
|
|
58
|
+
entityType?: string;
|
|
59
|
+
/** Which constructor parameter is the entityId (default: 0 = first param) */
|
|
60
|
+
entityIdParam?: number | string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Stored job command metadata
|
|
64
|
+
*/
|
|
65
|
+
export interface JobCommandMetadata {
|
|
66
|
+
jobName: string;
|
|
67
|
+
entityType?: string;
|
|
68
|
+
entityIdParam: number | string;
|
|
69
|
+
targetClass: Function;
|
|
70
|
+
paramNames: string[];
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Stored job query metadata
|
|
74
|
+
*/
|
|
75
|
+
export interface JobQueryMetadata {
|
|
76
|
+
jobName: string;
|
|
77
|
+
entityType?: string;
|
|
78
|
+
entityIdParam: number | string;
|
|
79
|
+
targetClass: Function;
|
|
80
|
+
paramNames: string[];
|
|
81
|
+
}
|
|
38
82
|
/**
|
|
39
83
|
* Stored job handler metadata
|
|
40
84
|
*/
|
|
@@ -229,6 +273,80 @@ export declare function OnSpawnWorker(): MethodDecorator;
|
|
|
229
273
|
* Used within an @EntityScaler class.
|
|
230
274
|
*/
|
|
231
275
|
export declare function OnTerminateWorker(): MethodDecorator;
|
|
276
|
+
/**
|
|
277
|
+
* @JobCommand class decorator
|
|
278
|
+
*
|
|
279
|
+
* Marks a command class for automatic job routing. When a job with the
|
|
280
|
+
* specified name arrives, the library will automatically instantiate
|
|
281
|
+
* the command with entityId + job.data and execute it via CommandBus.
|
|
282
|
+
*
|
|
283
|
+
* This eliminates the need for @JobHandler boilerplate in processors.
|
|
284
|
+
*
|
|
285
|
+
* @example
|
|
286
|
+
* ```typescript
|
|
287
|
+
* // Option 1: Explicit job name
|
|
288
|
+
* @JobCommand('make-bet')
|
|
289
|
+
* export class MakeBetCommand {
|
|
290
|
+
* constructor(
|
|
291
|
+
* public readonly tableId: string, // entityId (first param)
|
|
292
|
+
* public readonly playerId: string,
|
|
293
|
+
* public readonly amount: number,
|
|
294
|
+
* ) {}
|
|
295
|
+
* }
|
|
296
|
+
*
|
|
297
|
+
* // Option 2: Auto-derived job name (MakeBetCommand -> 'make-bet')
|
|
298
|
+
* @JobCommand()
|
|
299
|
+
* export class MakeBetCommand { ... }
|
|
300
|
+
*
|
|
301
|
+
* // Option 3: With options
|
|
302
|
+
* @JobCommand({
|
|
303
|
+
* name: 'place-bet',
|
|
304
|
+
* entityType: 'table',
|
|
305
|
+
* entityIdParam: 'tableId', // or 0 for first param
|
|
306
|
+
* })
|
|
307
|
+
* export class PlaceBetCommand { ... }
|
|
308
|
+
* ```
|
|
309
|
+
*/
|
|
310
|
+
export declare function JobCommand(options?: string | JobCommandOptions): ClassDecorator;
|
|
311
|
+
/**
|
|
312
|
+
* @JobQuery class decorator
|
|
313
|
+
*
|
|
314
|
+
* Marks a query class for automatic job routing. When a job with the
|
|
315
|
+
* specified name arrives, the library will automatically instantiate
|
|
316
|
+
* the query with entityId + job.data and execute it via QueryBus.
|
|
317
|
+
*
|
|
318
|
+
* @example
|
|
319
|
+
* ```typescript
|
|
320
|
+
* @JobQuery('get-score')
|
|
321
|
+
* export class GetScoreQuery {
|
|
322
|
+
* constructor(
|
|
323
|
+
* public readonly tableId: string,
|
|
324
|
+
* public readonly seatIndex: number,
|
|
325
|
+
* ) {}
|
|
326
|
+
* }
|
|
327
|
+
*
|
|
328
|
+
* // Auto-derived: GetTableStateQuery -> 'get-table-state'
|
|
329
|
+
* @JobQuery()
|
|
330
|
+
* export class GetTableStateQuery { ... }
|
|
331
|
+
* ```
|
|
332
|
+
*/
|
|
333
|
+
export declare function JobQuery(options?: string | JobQueryOptions): ClassDecorator;
|
|
334
|
+
/**
|
|
335
|
+
* Get JobCommand metadata from a class
|
|
336
|
+
*/
|
|
337
|
+
export declare function getJobCommandMetadata(target: Function): JobCommandMetadata | undefined;
|
|
338
|
+
/**
|
|
339
|
+
* Get JobQuery metadata from a class
|
|
340
|
+
*/
|
|
341
|
+
export declare function getJobQueryMetadata(target: Function): JobQueryMetadata | undefined;
|
|
342
|
+
/**
|
|
343
|
+
* Check if a class is a JobCommand
|
|
344
|
+
*/
|
|
345
|
+
export declare function isJobCommand(target: Function): boolean;
|
|
346
|
+
/**
|
|
347
|
+
* Check if a class is a JobQuery
|
|
348
|
+
*/
|
|
349
|
+
export declare function isJobQuery(target: Function): boolean;
|
|
232
350
|
/**
|
|
233
351
|
* Get WorkerProcessor metadata from a class
|
|
234
352
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAM1C;;GAEG;AACH,eAAO,MAAM,yBAAyB,qBAAqB,CAAC;AAC5D,eAAO,MAAM,oBAAoB,uBAAuB,CAAC;AACzD,eAAO,MAAM,iBAAiB,oBAAoB,CAAC;AACnD,eAAO,MAAM,yBAAyB,4BAA4B,CAAC;AACnE,eAAO,MAAM,oBAAoB,uBAAuB,CAAC;AACzD,eAAO,MAAM,sBAAsB,yBAAyB,CAAC;AAC7D,eAAO,MAAM,4BAA4B,+BAA+B,CAAC;AACzE,eAAO,MAAM,iCAAiC,oCAAoC,CAAC;AACnF,eAAO,MAAM,wBAAwB,2BAA2B,CAAC;AACjE,eAAO,MAAM,4BAA4B,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators/decorators.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InjectAtomicQueue = exports.JobType = exports.EntityType = exports.AtomicProcessor = exports.ON_TERMINATE_WORKER_METADATA = exports.ON_SPAWN_WORKER_METADATA = exports.GET_DESIRED_WORKER_COUNT_METADATA = exports.GET_ACTIVE_ENTITIES_METADATA = exports.ENTITY_SCALER_METADATA = exports.JOB_HANDLER_METADATA = exports.WORKER_PROCESSOR_METADATA = exports.JOB_TYPE_METADATA = exports.ENTITY_TYPE_METADATA = exports.ATOMIC_PROCESSOR_METADATA = void 0;
|
|
3
|
+
exports.InjectAtomicQueue = exports.JobType = exports.EntityType = exports.AtomicProcessor = exports.JOB_QUERY_METADATA = exports.JOB_COMMAND_METADATA = exports.ON_TERMINATE_WORKER_METADATA = exports.ON_SPAWN_WORKER_METADATA = exports.GET_DESIRED_WORKER_COUNT_METADATA = exports.GET_ACTIVE_ENTITIES_METADATA = exports.ENTITY_SCALER_METADATA = exports.JOB_HANDLER_METADATA = exports.WORKER_PROCESSOR_METADATA = exports.JOB_TYPE_METADATA = exports.ENTITY_TYPE_METADATA = exports.ATOMIC_PROCESSOR_METADATA = void 0;
|
|
4
4
|
exports.WorkerProcessor = WorkerProcessor;
|
|
5
5
|
exports.JobHandler = JobHandler;
|
|
6
6
|
exports.EntityScaler = EntityScaler;
|
|
@@ -8,6 +8,12 @@ exports.GetActiveEntities = GetActiveEntities;
|
|
|
8
8
|
exports.GetDesiredWorkerCount = GetDesiredWorkerCount;
|
|
9
9
|
exports.OnSpawnWorker = OnSpawnWorker;
|
|
10
10
|
exports.OnTerminateWorker = OnTerminateWorker;
|
|
11
|
+
exports.JobCommand = JobCommand;
|
|
12
|
+
exports.JobQuery = JobQuery;
|
|
13
|
+
exports.getJobCommandMetadata = getJobCommandMetadata;
|
|
14
|
+
exports.getJobQueryMetadata = getJobQueryMetadata;
|
|
15
|
+
exports.isJobCommand = isJobCommand;
|
|
16
|
+
exports.isJobQuery = isJobQuery;
|
|
11
17
|
exports.getWorkerProcessorMetadata = getWorkerProcessorMetadata;
|
|
12
18
|
exports.getJobHandlerMetadata = getJobHandlerMetadata;
|
|
13
19
|
exports.getEntityScalerMetadata = getEntityScalerMetadata;
|
|
@@ -30,6 +36,8 @@ exports.GET_ACTIVE_ENTITIES_METADATA = 'atomic:get-active-entities';
|
|
|
30
36
|
exports.GET_DESIRED_WORKER_COUNT_METADATA = 'atomic:get-desired-worker-count';
|
|
31
37
|
exports.ON_SPAWN_WORKER_METADATA = 'atomic:on-spawn-worker';
|
|
32
38
|
exports.ON_TERMINATE_WORKER_METADATA = 'atomic:on-terminate-worker';
|
|
39
|
+
exports.JOB_COMMAND_METADATA = 'atomic:job-command';
|
|
40
|
+
exports.JOB_QUERY_METADATA = 'atomic:job-query';
|
|
33
41
|
// =============================================================================
|
|
34
42
|
// LEGACY DECORATORS (Preserved for backward compatibility)
|
|
35
43
|
// =============================================================================
|
|
@@ -276,6 +284,159 @@ function OnTerminateWorker() {
|
|
|
276
284
|
};
|
|
277
285
|
}
|
|
278
286
|
// =============================================================================
|
|
287
|
+
// JOB COMMAND/QUERY DECORATORS - Zero-Boilerplate CQRS Integration
|
|
288
|
+
// =============================================================================
|
|
289
|
+
/**
|
|
290
|
+
* Helper to convert class name to kebab-case job name
|
|
291
|
+
* MakeBetCommand -> make-bet
|
|
292
|
+
* ProcessPaymentCommand -> process-payment
|
|
293
|
+
*/
|
|
294
|
+
function deriveJobName(className, suffix) {
|
|
295
|
+
return className
|
|
296
|
+
.replace(new RegExp(`${suffix}$`), '')
|
|
297
|
+
.replace(/([a-z])([A-Z])/g, '$1-$2')
|
|
298
|
+
.toLowerCase();
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Helper to extract constructor parameter names using reflection
|
|
302
|
+
*/
|
|
303
|
+
function getConstructorParamNames(target) {
|
|
304
|
+
const paramTypes = Reflect.getMetadata('design:paramtypes', target) || [];
|
|
305
|
+
// Try to extract parameter names from the constructor string
|
|
306
|
+
const constructorStr = target.toString();
|
|
307
|
+
const match = constructorStr.match(/constructor\s*\(([^)]*)\)/);
|
|
308
|
+
if (match && match[1]) {
|
|
309
|
+
return match[1]
|
|
310
|
+
.split(',')
|
|
311
|
+
.map((param) => {
|
|
312
|
+
// Handle various patterns:
|
|
313
|
+
// "public readonly tableId: string" -> "tableId"
|
|
314
|
+
// "tableId" -> "tableId"
|
|
315
|
+
// "private tableId: string" -> "tableId"
|
|
316
|
+
const cleaned = param.trim();
|
|
317
|
+
const nameMatch = cleaned.match(/(?:public\s+)?(?:private\s+)?(?:protected\s+)?(?:readonly\s+)?(\w+)/);
|
|
318
|
+
return nameMatch ? nameMatch[1] : cleaned;
|
|
319
|
+
})
|
|
320
|
+
.filter((name) => name.length > 0);
|
|
321
|
+
}
|
|
322
|
+
// Fallback: generate param0, param1, etc.
|
|
323
|
+
return paramTypes.map((_, i) => `param${i}`);
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* @JobCommand class decorator
|
|
327
|
+
*
|
|
328
|
+
* Marks a command class for automatic job routing. When a job with the
|
|
329
|
+
* specified name arrives, the library will automatically instantiate
|
|
330
|
+
* the command with entityId + job.data and execute it via CommandBus.
|
|
331
|
+
*
|
|
332
|
+
* This eliminates the need for @JobHandler boilerplate in processors.
|
|
333
|
+
*
|
|
334
|
+
* @example
|
|
335
|
+
* ```typescript
|
|
336
|
+
* // Option 1: Explicit job name
|
|
337
|
+
* @JobCommand('make-bet')
|
|
338
|
+
* export class MakeBetCommand {
|
|
339
|
+
* constructor(
|
|
340
|
+
* public readonly tableId: string, // entityId (first param)
|
|
341
|
+
* public readonly playerId: string,
|
|
342
|
+
* public readonly amount: number,
|
|
343
|
+
* ) {}
|
|
344
|
+
* }
|
|
345
|
+
*
|
|
346
|
+
* // Option 2: Auto-derived job name (MakeBetCommand -> 'make-bet')
|
|
347
|
+
* @JobCommand()
|
|
348
|
+
* export class MakeBetCommand { ... }
|
|
349
|
+
*
|
|
350
|
+
* // Option 3: With options
|
|
351
|
+
* @JobCommand({
|
|
352
|
+
* name: 'place-bet',
|
|
353
|
+
* entityType: 'table',
|
|
354
|
+
* entityIdParam: 'tableId', // or 0 for first param
|
|
355
|
+
* })
|
|
356
|
+
* export class PlaceBetCommand { ... }
|
|
357
|
+
* ```
|
|
358
|
+
*/
|
|
359
|
+
function JobCommand(options) {
|
|
360
|
+
return (target) => {
|
|
361
|
+
const opts = typeof options === 'string'
|
|
362
|
+
? { name: options }
|
|
363
|
+
: (options || {});
|
|
364
|
+
const jobName = opts.name || deriveJobName(target.name, 'Command');
|
|
365
|
+
const paramNames = getConstructorParamNames(target);
|
|
366
|
+
const metadata = {
|
|
367
|
+
jobName,
|
|
368
|
+
entityType: opts.entityType,
|
|
369
|
+
entityIdParam: opts.entityIdParam ?? 0,
|
|
370
|
+
targetClass: target,
|
|
371
|
+
paramNames,
|
|
372
|
+
};
|
|
373
|
+
Reflect.defineMetadata(exports.JOB_COMMAND_METADATA, metadata, target);
|
|
374
|
+
};
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* @JobQuery class decorator
|
|
378
|
+
*
|
|
379
|
+
* Marks a query class for automatic job routing. When a job with the
|
|
380
|
+
* specified name arrives, the library will automatically instantiate
|
|
381
|
+
* the query with entityId + job.data and execute it via QueryBus.
|
|
382
|
+
*
|
|
383
|
+
* @example
|
|
384
|
+
* ```typescript
|
|
385
|
+
* @JobQuery('get-score')
|
|
386
|
+
* export class GetScoreQuery {
|
|
387
|
+
* constructor(
|
|
388
|
+
* public readonly tableId: string,
|
|
389
|
+
* public readonly seatIndex: number,
|
|
390
|
+
* ) {}
|
|
391
|
+
* }
|
|
392
|
+
*
|
|
393
|
+
* // Auto-derived: GetTableStateQuery -> 'get-table-state'
|
|
394
|
+
* @JobQuery()
|
|
395
|
+
* export class GetTableStateQuery { ... }
|
|
396
|
+
* ```
|
|
397
|
+
*/
|
|
398
|
+
function JobQuery(options) {
|
|
399
|
+
return (target) => {
|
|
400
|
+
const opts = typeof options === 'string'
|
|
401
|
+
? { name: options }
|
|
402
|
+
: (options || {});
|
|
403
|
+
const jobName = opts.name || deriveJobName(target.name, 'Query');
|
|
404
|
+
const paramNames = getConstructorParamNames(target);
|
|
405
|
+
const metadata = {
|
|
406
|
+
jobName,
|
|
407
|
+
entityType: opts.entityType,
|
|
408
|
+
entityIdParam: opts.entityIdParam ?? 0,
|
|
409
|
+
targetClass: target,
|
|
410
|
+
paramNames,
|
|
411
|
+
};
|
|
412
|
+
Reflect.defineMetadata(exports.JOB_QUERY_METADATA, metadata, target);
|
|
413
|
+
};
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Get JobCommand metadata from a class
|
|
417
|
+
*/
|
|
418
|
+
function getJobCommandMetadata(target) {
|
|
419
|
+
return Reflect.getMetadata(exports.JOB_COMMAND_METADATA, target);
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* Get JobQuery metadata from a class
|
|
423
|
+
*/
|
|
424
|
+
function getJobQueryMetadata(target) {
|
|
425
|
+
return Reflect.getMetadata(exports.JOB_QUERY_METADATA, target);
|
|
426
|
+
}
|
|
427
|
+
/**
|
|
428
|
+
* Check if a class is a JobCommand
|
|
429
|
+
*/
|
|
430
|
+
function isJobCommand(target) {
|
|
431
|
+
return Reflect.hasMetadata(exports.JOB_COMMAND_METADATA, target);
|
|
432
|
+
}
|
|
433
|
+
/**
|
|
434
|
+
* Check if a class is a JobQuery
|
|
435
|
+
*/
|
|
436
|
+
function isJobQuery(target) {
|
|
437
|
+
return Reflect.hasMetadata(exports.JOB_QUERY_METADATA, target);
|
|
438
|
+
}
|
|
439
|
+
// =============================================================================
|
|
279
440
|
// UTILITY FUNCTIONS
|
|
280
441
|
// =============================================================================
|
|
281
442
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators/decorators.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators/decorators.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atomic-queues.module.d.ts","sourceRoot":"","sources":["../../src/module/atomic-queues.module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAIb,IAAI,EACL,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,yBAAyB,EAAe,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"atomic-queues.module.d.ts","sourceRoot":"","sources":["../../src/module/atomic-queues.module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAIb,IAAI,EACL,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,yBAAyB,EAAe,MAAM,WAAW,CAAC;AAmBnE;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;OAEG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IAE1B;;OAEG;IACH,UAAU,EAAE,CACV,GAAG,IAAI,EAAE,OAAO,EAAE,KACf,OAAO,CAAC,yBAAyB,CAAC,GAAG,yBAAyB,CAAC;IAEpE;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAoBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,qBAEa,kBAAkB;IAC7B;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,yBAAyB,GAAG,aAAa;IA0BhE;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,8BAA8B,GAAG,aAAa;IAyB3E;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE;QACzB,UAAU,EAAE,MAAM,CAAC;QACnB,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7D,kBAAkB,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5C,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,GAAG,aAAa;IAgBjB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAuBlC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAUxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;CAqBxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atomic-queues.module.js","sourceRoot":"","sources":["../../src/module/atomic-queues.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAMwB;AACxB,uCAAkF;AAClF,sDAA4B;AAE5B,
|
|
1
|
+
{"version":3,"file":"atomic-queues.module.js","sourceRoot":"","sources":["../../src/module/atomic-queues.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAMwB;AACxB,uCAAkF;AAClF,sDAA4B;AAE5B,0CAgBqB;AA6BrB;;GAEG;AACH,MAAM,aAAa,GAAe;IAChC,8BAAmB;IACnB,+BAAoB;IACpB,8BAAmB;IACnB,8BAAmB;IACnB,+BAAoB;IACpB,iCAAsB;IACtB,6BAAkB;IAClB,6BAAkB;IAClB,8BAAmB;IACnB,+BAAoB;IACpB,oCAAyB;IACzB,kCAAuB;CACxB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAGI,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAC7B;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,MAAiC;QAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAEvD,OAAO;YACL,MAAM,EAAE,oBAAkB;YAC1B,qEAAqE;YACrE,mDAAmD;YACnD,OAAO,EAAE,CAAC,sBAAe,CAAC;YAC1B,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,+BAAoB;oBAC7B,QAAQ,EAAE,MAAM;iBACjB;gBACD,aAAa;gBACb,uBAAgB;gBAChB,sBAAe;gBACf,GAAG,aAAa;aACjB;YACD,OAAO,EAAE;gBACP,+BAAoB;gBACpB,8BAAmB;gBACnB,GAAG,aAAa;aACjB;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,OAAuC;QACzD,MAAM,cAAc,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAEtD,OAAO;YACL,MAAM,EAAE,oBAAkB;YAC1B,qEAAqE;YACrE,mDAAmD;YACnD,OAAO,EAAE,CAAC,sBAAe,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACtD,SAAS,EAAE;gBACT,cAAc;gBACd,aAAa;gBACb,uBAAgB;gBAChB,sBAAe;gBACf,GAAG,aAAa;aACjB;YACD,OAAO,EAAE;gBACP,+BAAoB;gBACpB,8BAAmB;gBACnB,GAAG,aAAa;aACjB;YACD,MAAM,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;SACjC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,OAKjB;QACC,OAAO;YACL,MAAM,EAAE,oBAAkB;YAC1B,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,iBAAiB,OAAO,CAAC,UAAU,EAAE;oBAC9C,QAAQ,EAAE,OAAO;iBAClB;aACF;SACF,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,kBAAkB;IAClB,4EAA4E;IAE5E;;OAEG;IACK,MAAM,CAAC,mBAAmB,CAChC,MAAiC;QAEjC,OAAO;YACL,OAAO,EAAE,8BAAmB;YAC5B,UAAU,EAAE,GAAG,EAAE;gBACf,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;oBACrB,OAAO,IAAI,iBAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;wBACjC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,IAAI;qBAChE,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,IAAI,iBAAK,CAAC;oBACf,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,WAAW;oBACtC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI;oBAC/B,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;oBAC/B,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;oBACnB,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,IAAI;iBAChE,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,yBAAyB,CACtC,OAAuC;QAEvC,OAAO;YACL,OAAO,EAAE,+BAAoB;YAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAU;SACxC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,wBAAwB;QACrC,OAAO;YACL,OAAO,EAAE,8BAAmB;YAC5B,UAAU,EAAE,CAAC,MAAiC,EAAE,EAAE;gBAChD,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;oBACrB,OAAO,IAAI,iBAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;wBACjC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,IAAI;qBAChE,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,IAAI,iBAAK,CAAC;oBACf,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,WAAW;oBACtC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI;oBAC/B,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;oBAC/B,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;oBACnB,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,IAAI;iBAChE,CAAC,CAAC;YACL,CAAC;YACD,MAAM,EAAE,CAAC,+BAAoB,CAAC;SAC/B,CAAC;IACJ,CAAC;CACF,CAAA;AAlJY,gDAAkB;6BAAlB,kBAAkB;IAF9B,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,kBAAkB,CAkJ9B"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { OnModuleInit, Type } from '@nestjs/common';
|
|
2
|
+
import { DiscoveryService, Reflector } from '@nestjs/core';
|
|
3
|
+
import { Job } from 'bullmq';
|
|
4
|
+
interface ICommandBus {
|
|
5
|
+
execute<T>(command: T): Promise<any>;
|
|
6
|
+
}
|
|
7
|
+
interface IQueryBus {
|
|
8
|
+
execute<T>(query: T): Promise<any>;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* CommandDiscoveryService
|
|
12
|
+
*
|
|
13
|
+
* Discovers all classes decorated with @JobCommand and @JobQuery,
|
|
14
|
+
* builds a routing map, and provides auto-execution capabilities.
|
|
15
|
+
*
|
|
16
|
+
* This eliminates the need for @JobHandler boilerplate - commands
|
|
17
|
+
* decorated with @JobCommand are automatically routed and executed.
|
|
18
|
+
*/
|
|
19
|
+
export declare class CommandDiscoveryService implements OnModuleInit {
|
|
20
|
+
private readonly discoveryService;
|
|
21
|
+
private readonly reflector;
|
|
22
|
+
private readonly logger;
|
|
23
|
+
/** Map of job name -> command metadata */
|
|
24
|
+
private readonly commandMap;
|
|
25
|
+
/** Map of job name -> query metadata */
|
|
26
|
+
private readonly queryMap;
|
|
27
|
+
/** Map of entityType:jobName -> command metadata (for scoped routing) */
|
|
28
|
+
private readonly scopedCommandMap;
|
|
29
|
+
/** Map of entityType:jobName -> query metadata (for scoped routing) */
|
|
30
|
+
private readonly scopedQueryMap;
|
|
31
|
+
private commandBus;
|
|
32
|
+
private queryBus;
|
|
33
|
+
constructor(discoveryService: DiscoveryService, reflector: Reflector);
|
|
34
|
+
/**
|
|
35
|
+
* Set the CommandBus for executing commands
|
|
36
|
+
* Called by the module setup if @nestjs/cqrs is available
|
|
37
|
+
*/
|
|
38
|
+
setCommandBus(commandBus: ICommandBus): void;
|
|
39
|
+
/**
|
|
40
|
+
* Set the QueryBus for executing queries
|
|
41
|
+
* Called by the module setup if @nestjs/cqrs is available
|
|
42
|
+
*/
|
|
43
|
+
setQueryBus(queryBus: IQueryBus): void;
|
|
44
|
+
onModuleInit(): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Discover all @JobCommand decorated classes
|
|
47
|
+
*/
|
|
48
|
+
private discoverCommands;
|
|
49
|
+
/**
|
|
50
|
+
* Discover all @JobQuery decorated classes
|
|
51
|
+
*/
|
|
52
|
+
private discoverQueries;
|
|
53
|
+
/**
|
|
54
|
+
* Check if a job name has a registered command or query
|
|
55
|
+
*/
|
|
56
|
+
hasHandler(jobName: string, entityType?: string): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Get command class for a job name
|
|
59
|
+
*/
|
|
60
|
+
getCommandClass(jobName: string, entityType?: string): Type<any> | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* Get query class for a job name
|
|
63
|
+
*/
|
|
64
|
+
getQueryClass(jobName: string, entityType?: string): Type<any> | undefined;
|
|
65
|
+
/**
|
|
66
|
+
* Execute a job by routing to the appropriate command or query
|
|
67
|
+
*
|
|
68
|
+
* @param job The BullMQ job
|
|
69
|
+
* @param entityId The entity ID (injected by the worker processor)
|
|
70
|
+
* @param entityType Optional entity type for scoped routing
|
|
71
|
+
* @returns The result of the command/query execution
|
|
72
|
+
* @throws Error if no handler is found
|
|
73
|
+
*/
|
|
74
|
+
executeJob(job: Job, entityId: string, entityType?: string): Promise<any>;
|
|
75
|
+
/**
|
|
76
|
+
* Instantiate a command/query class from job data
|
|
77
|
+
*/
|
|
78
|
+
private instantiateFromMetadata;
|
|
79
|
+
/**
|
|
80
|
+
* Get all registered job names (for debugging/documentation)
|
|
81
|
+
*/
|
|
82
|
+
getRegisteredJobNames(): {
|
|
83
|
+
commands: string[];
|
|
84
|
+
queries: string[];
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
export {};
|
|
88
|
+
//# sourceMappingURL=command-discovery.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-discovery.service.d.ts","sourceRoot":"","sources":["../../../src/services/command-discovery/command-discovery.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,YAAY,EAAE,IAAI,EAAY,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAS7B,UAAU,WAAW;IACnB,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACtC;AAED,UAAU,SAAS;IACjB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACpC;AAED;;;;;;;;GAQG;AACH,qBACa,uBAAwB,YAAW,YAAY;IAmB5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAnBxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IAEnE,0CAA0C;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyC;IAEpE,wCAAwC;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;IAEhE,yEAAyE;IACzE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyC;IAE1E,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuC;IAEtE,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,QAAQ,CAA0B;gBAGX,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS;IAGnD;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAI5C;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;IAIhC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBnC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4BxB;;OAEG;IACH,OAAO,CAAC,eAAe;IA4BvB;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO;IAUzD;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS;IAS5E;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS;IAS1E;;;;;;;;OAQG;IACG,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAmD/E;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA8B/B;;OAEG;IACH,qBAAqB,IAAI;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE;CAMnE"}
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var CommandDiscoveryService_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.CommandDiscoveryService = void 0;
|
|
17
|
+
const common_1 = require("@nestjs/common");
|
|
18
|
+
const core_1 = require("@nestjs/core");
|
|
19
|
+
const decorators_1 = require("../../decorators");
|
|
20
|
+
/**
|
|
21
|
+
* CommandDiscoveryService
|
|
22
|
+
*
|
|
23
|
+
* Discovers all classes decorated with @JobCommand and @JobQuery,
|
|
24
|
+
* builds a routing map, and provides auto-execution capabilities.
|
|
25
|
+
*
|
|
26
|
+
* This eliminates the need for @JobHandler boilerplate - commands
|
|
27
|
+
* decorated with @JobCommand are automatically routed and executed.
|
|
28
|
+
*/
|
|
29
|
+
let CommandDiscoveryService = CommandDiscoveryService_1 = class CommandDiscoveryService {
|
|
30
|
+
constructor(discoveryService, reflector) {
|
|
31
|
+
this.discoveryService = discoveryService;
|
|
32
|
+
this.reflector = reflector;
|
|
33
|
+
this.logger = new common_1.Logger(CommandDiscoveryService_1.name);
|
|
34
|
+
/** Map of job name -> command metadata */
|
|
35
|
+
this.commandMap = new Map();
|
|
36
|
+
/** Map of job name -> query metadata */
|
|
37
|
+
this.queryMap = new Map();
|
|
38
|
+
/** Map of entityType:jobName -> command metadata (for scoped routing) */
|
|
39
|
+
this.scopedCommandMap = new Map();
|
|
40
|
+
/** Map of entityType:jobName -> query metadata (for scoped routing) */
|
|
41
|
+
this.scopedQueryMap = new Map();
|
|
42
|
+
this.commandBus = null;
|
|
43
|
+
this.queryBus = null;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Set the CommandBus for executing commands
|
|
47
|
+
* Called by the module setup if @nestjs/cqrs is available
|
|
48
|
+
*/
|
|
49
|
+
setCommandBus(commandBus) {
|
|
50
|
+
this.commandBus = commandBus;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Set the QueryBus for executing queries
|
|
54
|
+
* Called by the module setup if @nestjs/cqrs is available
|
|
55
|
+
*/
|
|
56
|
+
setQueryBus(queryBus) {
|
|
57
|
+
this.queryBus = queryBus;
|
|
58
|
+
}
|
|
59
|
+
async onModuleInit() {
|
|
60
|
+
if (!this.discoveryService) {
|
|
61
|
+
this.logger.warn('DiscoveryService not available. @JobCommand/@JobQuery auto-routing disabled.');
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
this.discoverCommands();
|
|
65
|
+
this.discoverQueries();
|
|
66
|
+
this.logger.log(`Discovered ${this.commandMap.size} @JobCommand and ${this.queryMap.size} @JobQuery classes`);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Discover all @JobCommand decorated classes
|
|
70
|
+
*/
|
|
71
|
+
discoverCommands() {
|
|
72
|
+
if (!this.discoveryService)
|
|
73
|
+
return;
|
|
74
|
+
const providers = this.discoveryService.getProviders();
|
|
75
|
+
for (const wrapper of providers) {
|
|
76
|
+
const { metatype } = wrapper;
|
|
77
|
+
if (!metatype)
|
|
78
|
+
continue;
|
|
79
|
+
const metadata = Reflect.getMetadata(decorators_1.JOB_COMMAND_METADATA, metatype);
|
|
80
|
+
if (metadata) {
|
|
81
|
+
this.commandMap.set(metadata.jobName, metadata);
|
|
82
|
+
if (metadata.entityType) {
|
|
83
|
+
const scopedKey = `${metadata.entityType}:${metadata.jobName}`;
|
|
84
|
+
this.scopedCommandMap.set(scopedKey, metadata);
|
|
85
|
+
}
|
|
86
|
+
this.logger.debug(`Registered @JobCommand: ${metadata.jobName} -> ${metatype.name}`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Discover all @JobQuery decorated classes
|
|
92
|
+
*/
|
|
93
|
+
discoverQueries() {
|
|
94
|
+
if (!this.discoveryService)
|
|
95
|
+
return;
|
|
96
|
+
const providers = this.discoveryService.getProviders();
|
|
97
|
+
for (const wrapper of providers) {
|
|
98
|
+
const { metatype } = wrapper;
|
|
99
|
+
if (!metatype)
|
|
100
|
+
continue;
|
|
101
|
+
const metadata = Reflect.getMetadata(decorators_1.JOB_QUERY_METADATA, metatype);
|
|
102
|
+
if (metadata) {
|
|
103
|
+
this.queryMap.set(metadata.jobName, metadata);
|
|
104
|
+
if (metadata.entityType) {
|
|
105
|
+
const scopedKey = `${metadata.entityType}:${metadata.jobName}`;
|
|
106
|
+
this.scopedQueryMap.set(scopedKey, metadata);
|
|
107
|
+
}
|
|
108
|
+
this.logger.debug(`Registered @JobQuery: ${metadata.jobName} -> ${metatype.name}`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Check if a job name has a registered command or query
|
|
114
|
+
*/
|
|
115
|
+
hasHandler(jobName, entityType) {
|
|
116
|
+
if (entityType) {
|
|
117
|
+
const scopedKey = `${entityType}:${jobName}`;
|
|
118
|
+
if (this.scopedCommandMap.has(scopedKey) || this.scopedQueryMap.has(scopedKey)) {
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return this.commandMap.has(jobName) || this.queryMap.has(jobName);
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Get command class for a job name
|
|
126
|
+
*/
|
|
127
|
+
getCommandClass(jobName, entityType) {
|
|
128
|
+
if (entityType) {
|
|
129
|
+
const scopedKey = `${entityType}:${jobName}`;
|
|
130
|
+
const scopedMeta = this.scopedCommandMap.get(scopedKey);
|
|
131
|
+
if (scopedMeta)
|
|
132
|
+
return scopedMeta.targetClass;
|
|
133
|
+
}
|
|
134
|
+
return this.commandMap.get(jobName)?.targetClass;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Get query class for a job name
|
|
138
|
+
*/
|
|
139
|
+
getQueryClass(jobName, entityType) {
|
|
140
|
+
if (entityType) {
|
|
141
|
+
const scopedKey = `${entityType}:${jobName}`;
|
|
142
|
+
const scopedMeta = this.scopedQueryMap.get(scopedKey);
|
|
143
|
+
if (scopedMeta)
|
|
144
|
+
return scopedMeta.targetClass;
|
|
145
|
+
}
|
|
146
|
+
return this.queryMap.get(jobName)?.targetClass;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Execute a job by routing to the appropriate command or query
|
|
150
|
+
*
|
|
151
|
+
* @param job The BullMQ job
|
|
152
|
+
* @param entityId The entity ID (injected by the worker processor)
|
|
153
|
+
* @param entityType Optional entity type for scoped routing
|
|
154
|
+
* @returns The result of the command/query execution
|
|
155
|
+
* @throws Error if no handler is found
|
|
156
|
+
*/
|
|
157
|
+
async executeJob(job, entityId, entityType) {
|
|
158
|
+
const jobName = job.name;
|
|
159
|
+
// Try command first (check scoped, then global)
|
|
160
|
+
let commandMeta;
|
|
161
|
+
if (entityType) {
|
|
162
|
+
commandMeta = this.scopedCommandMap.get(`${entityType}:${jobName}`);
|
|
163
|
+
}
|
|
164
|
+
if (!commandMeta) {
|
|
165
|
+
commandMeta = this.commandMap.get(jobName);
|
|
166
|
+
}
|
|
167
|
+
if (commandMeta) {
|
|
168
|
+
if (!this.commandBus) {
|
|
169
|
+
throw new Error('CommandBus not available. Ensure @nestjs/cqrs is installed and CqrsModule is imported.');
|
|
170
|
+
}
|
|
171
|
+
const command = this.instantiateFromMetadata(commandMeta, entityId, job.data);
|
|
172
|
+
this.logger.debug(`Executing command ${commandMeta.targetClass.name} for job ${jobName}`);
|
|
173
|
+
return this.commandBus.execute(command);
|
|
174
|
+
}
|
|
175
|
+
// Try query (check scoped, then global)
|
|
176
|
+
let queryMeta;
|
|
177
|
+
if (entityType) {
|
|
178
|
+
queryMeta = this.scopedQueryMap.get(`${entityType}:${jobName}`);
|
|
179
|
+
}
|
|
180
|
+
if (!queryMeta) {
|
|
181
|
+
queryMeta = this.queryMap.get(jobName);
|
|
182
|
+
}
|
|
183
|
+
if (queryMeta) {
|
|
184
|
+
if (!this.queryBus) {
|
|
185
|
+
throw new Error('QueryBus not available. Ensure @nestjs/cqrs is installed and CqrsModule is imported.');
|
|
186
|
+
}
|
|
187
|
+
const query = this.instantiateFromMetadata(queryMeta, entityId, job.data);
|
|
188
|
+
this.logger.debug(`Executing query ${queryMeta.targetClass.name} for job ${jobName}`);
|
|
189
|
+
return this.queryBus.execute(query);
|
|
190
|
+
}
|
|
191
|
+
// No handler found
|
|
192
|
+
return undefined;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Instantiate a command/query class from job data
|
|
196
|
+
*/
|
|
197
|
+
instantiateFromMetadata(metadata, entityId, jobData) {
|
|
198
|
+
const { targetClass, paramNames, entityIdParam } = metadata;
|
|
199
|
+
// Build constructor arguments
|
|
200
|
+
const args = [];
|
|
201
|
+
for (let i = 0; i < paramNames.length; i++) {
|
|
202
|
+
const paramName = paramNames[i];
|
|
203
|
+
// Check if this param is the entityId
|
|
204
|
+
const isEntityIdParam = (typeof entityIdParam === 'number' && i === entityIdParam) ||
|
|
205
|
+
(typeof entityIdParam === 'string' && paramName === entityIdParam);
|
|
206
|
+
if (isEntityIdParam) {
|
|
207
|
+
args.push(entityId);
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
// Get from job data using param name
|
|
211
|
+
args.push(jobData[paramName]);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
// Instantiate the class
|
|
215
|
+
return new targetClass(...args);
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Get all registered job names (for debugging/documentation)
|
|
219
|
+
*/
|
|
220
|
+
getRegisteredJobNames() {
|
|
221
|
+
return {
|
|
222
|
+
commands: Array.from(this.commandMap.keys()),
|
|
223
|
+
queries: Array.from(this.queryMap.keys()),
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
exports.CommandDiscoveryService = CommandDiscoveryService;
|
|
228
|
+
exports.CommandDiscoveryService = CommandDiscoveryService = CommandDiscoveryService_1 = __decorate([
|
|
229
|
+
(0, common_1.Injectable)(),
|
|
230
|
+
__param(0, (0, common_1.Optional)()),
|
|
231
|
+
__param(1, (0, common_1.Optional)()),
|
|
232
|
+
__metadata("design:paramtypes", [core_1.DiscoveryService,
|
|
233
|
+
core_1.Reflector])
|
|
234
|
+
], CommandDiscoveryService);
|
|
235
|
+
//# sourceMappingURL=command-discovery.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-discovery.service.js","sourceRoot":"","sources":["../../../src/services/command-discovery/command-discovery.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/command-discovery/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./command-discovery.service"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/command-discovery/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C"}
|
package/dist/services/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AAAA,cAAc,qBAAqB,CAAC"}
|
package/dist/services/index.js
CHANGED
|
@@ -24,4 +24,5 @@ __exportStar(require("./index-manager"), exports);
|
|
|
24
24
|
__exportStar(require("./service-queue"), exports);
|
|
25
25
|
__exportStar(require("./shutdown-state"), exports);
|
|
26
26
|
__exportStar(require("./processor-discovery"), exports);
|
|
27
|
+
__exportStar(require("./command-discovery"), exports);
|
|
27
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,kDAAgC;AAChC,mDAAiC;AACjC,kDAAgC;AAChC,kDAAgC;AAChC,iDAA+B;AAC/B,kDAAgC;AAChC,kDAAgC;AAChC,mDAAiC;AACjC,wDAAsC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,kDAAgC;AAChC,mDAAiC;AACjC,kDAAgC;AAChC,kDAAgC;AAChC,iDAA+B;AAC/B,kDAAgC;AAChC,kDAAgC;AAChC,mDAAiC;AACjC,wDAAsC;AAAA,sDAAoC"}
|
|
@@ -4,6 +4,7 @@ import { WorkerProcessorOptions, EntityScalerOptions } from '../../decorators';
|
|
|
4
4
|
import { WorkerManagerService } from '../worker-manager';
|
|
5
5
|
import { QueueManagerService } from '../queue-manager';
|
|
6
6
|
import { CronManagerService } from '../cron-manager';
|
|
7
|
+
import { CommandDiscoveryService } from '../command-discovery';
|
|
7
8
|
import { IAtomicQueuesModuleConfig } from '../../domain';
|
|
8
9
|
/**
|
|
9
10
|
* Registered processor info
|
|
@@ -73,12 +74,13 @@ export declare class ProcessorDiscoveryService implements OnModuleInit {
|
|
|
73
74
|
private readonly workerManager;
|
|
74
75
|
private readonly queueManager;
|
|
75
76
|
private readonly cronManager;
|
|
77
|
+
private readonly commandDiscovery;
|
|
76
78
|
private readonly config;
|
|
77
79
|
private readonly logger;
|
|
78
80
|
private readonly processors;
|
|
79
81
|
private readonly scalers;
|
|
80
82
|
private readonly activeWorkers;
|
|
81
|
-
constructor(discoveryService: DiscoveryService, metadataScanner: MetadataScanner, moduleRef: ModuleRef, workerManager: WorkerManagerService, queueManager: QueueManagerService, cronManager: CronManagerService, config: IAtomicQueuesModuleConfig);
|
|
83
|
+
constructor(discoveryService: DiscoveryService, metadataScanner: MetadataScanner, moduleRef: ModuleRef, workerManager: WorkerManagerService, queueManager: QueueManagerService, cronManager: CronManagerService, commandDiscovery: CommandDiscoveryService, config: IAtomicQueuesModuleConfig);
|
|
82
84
|
onModuleInit(): Promise<void>;
|
|
83
85
|
/**
|
|
84
86
|
* Discover all @WorkerProcessor decorated classes
|
|
@@ -106,6 +108,11 @@ export declare class ProcessorDiscoveryService implements OnModuleInit {
|
|
|
106
108
|
createWorkerForEntity(entityType: string, entityId: string): Promise<void>;
|
|
107
109
|
/**
|
|
108
110
|
* Process a job using the registered handlers
|
|
111
|
+
*
|
|
112
|
+
* Priority order:
|
|
113
|
+
* 1. Explicit @JobHandler on the processor class
|
|
114
|
+
* 2. Auto-routing via @JobCommand/@JobQuery decorated classes
|
|
115
|
+
* 3. Wildcard @JobHandler('*') on the processor class
|
|
109
116
|
*/
|
|
110
117
|
private processJob;
|
|
111
118
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor-discovery.service.d.ts","sourceRoot":"","sources":["../../../src/services/processor-discovery/processor-discovery.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EACZ,IAAI,EAGL,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG5E,OAAO,EAQL,sBAAsB,EACtB,mBAAmB,EAKpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"processor-discovery.service.d.ts","sourceRoot":"","sources":["../../../src/services/processor-discovery/processor-discovery.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@ const decorators_1 = require("../../decorators");
|
|
|
20
20
|
const worker_manager_1 = require("../worker-manager");
|
|
21
21
|
const queue_manager_1 = require("../queue-manager");
|
|
22
22
|
const cron_manager_1 = require("../cron-manager");
|
|
23
|
+
const command_discovery_1 = require("../command-discovery");
|
|
23
24
|
const constants_1 = require("../constants");
|
|
24
25
|
/**
|
|
25
26
|
* ProcessorDiscoveryService
|
|
@@ -52,13 +53,14 @@ const constants_1 = require("../constants");
|
|
|
52
53
|
* ```
|
|
53
54
|
*/
|
|
54
55
|
let ProcessorDiscoveryService = ProcessorDiscoveryService_1 = class ProcessorDiscoveryService {
|
|
55
|
-
constructor(discoveryService, metadataScanner, moduleRef, workerManager, queueManager, cronManager, config) {
|
|
56
|
+
constructor(discoveryService, metadataScanner, moduleRef, workerManager, queueManager, cronManager, commandDiscovery, config) {
|
|
56
57
|
this.discoveryService = discoveryService;
|
|
57
58
|
this.metadataScanner = metadataScanner;
|
|
58
59
|
this.moduleRef = moduleRef;
|
|
59
60
|
this.workerManager = workerManager;
|
|
60
61
|
this.queueManager = queueManager;
|
|
61
62
|
this.cronManager = cronManager;
|
|
63
|
+
this.commandDiscovery = commandDiscovery;
|
|
62
64
|
this.config = config;
|
|
63
65
|
this.logger = new common_1.Logger(ProcessorDiscoveryService_1.name);
|
|
64
66
|
this.processors = new Map();
|
|
@@ -287,21 +289,37 @@ let ProcessorDiscoveryService = ProcessorDiscoveryService_1 = class ProcessorDis
|
|
|
287
289
|
}
|
|
288
290
|
/**
|
|
289
291
|
* Process a job using the registered handlers
|
|
292
|
+
*
|
|
293
|
+
* Priority order:
|
|
294
|
+
* 1. Explicit @JobHandler on the processor class
|
|
295
|
+
* 2. Auto-routing via @JobCommand/@JobQuery decorated classes
|
|
296
|
+
* 3. Wildcard @JobHandler('*') on the processor class
|
|
290
297
|
*/
|
|
291
298
|
async processJob(processor, job, entityId) {
|
|
292
|
-
const { processorInstance, jobHandlers, wildcardHandler } = processor;
|
|
299
|
+
const { processorInstance, jobHandlers, wildcardHandler, entityType } = processor;
|
|
293
300
|
const jobName = job.name;
|
|
294
|
-
// Try to find specific
|
|
301
|
+
// 1. Try to find specific @JobHandler
|
|
295
302
|
const handler = jobHandlers.get(jobName);
|
|
296
303
|
if (handler) {
|
|
297
304
|
return processorInstance[handler.method](job, entityId);
|
|
298
305
|
}
|
|
299
|
-
//
|
|
306
|
+
// 2. Try auto-routing via @JobCommand/@JobQuery
|
|
307
|
+
if (this.commandDiscovery) {
|
|
308
|
+
const result = await this.commandDiscovery.executeJob(job, entityId, entityType);
|
|
309
|
+
if (result !== undefined) {
|
|
310
|
+
return result;
|
|
311
|
+
}
|
|
312
|
+
// Check if a handler exists (even if it returned undefined)
|
|
313
|
+
if (this.commandDiscovery.hasHandler(jobName, entityType)) {
|
|
314
|
+
return result;
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
// 3. Fall back to wildcard handler
|
|
300
318
|
if (wildcardHandler) {
|
|
301
319
|
return processorInstance[wildcardHandler.method](job, entityId);
|
|
302
320
|
}
|
|
303
321
|
// No handler found
|
|
304
|
-
this.logger.warn(`No handler found for job '${jobName}' on entity type '${
|
|
322
|
+
this.logger.warn(`No handler found for job '${jobName}' on entity type '${entityType}'`);
|
|
305
323
|
return null;
|
|
306
324
|
}
|
|
307
325
|
// ==========================================================================
|
|
@@ -367,12 +385,14 @@ exports.ProcessorDiscoveryService = ProcessorDiscoveryService = ProcessorDiscove
|
|
|
367
385
|
__param(0, (0, common_1.Optional)()),
|
|
368
386
|
__param(1, (0, common_1.Optional)()),
|
|
369
387
|
__param(5, (0, common_1.Optional)()),
|
|
370
|
-
__param(6, (0, common_1.
|
|
388
|
+
__param(6, (0, common_1.Optional)()),
|
|
389
|
+
__param(7, (0, common_1.Inject)(constants_1.ATOMIC_QUEUES_CONFIG)),
|
|
371
390
|
__metadata("design:paramtypes", [core_1.DiscoveryService,
|
|
372
391
|
core_1.MetadataScanner,
|
|
373
392
|
core_1.ModuleRef,
|
|
374
393
|
worker_manager_1.WorkerManagerService,
|
|
375
394
|
queue_manager_1.QueueManagerService,
|
|
376
|
-
cron_manager_1.CronManagerService,
|
|
395
|
+
cron_manager_1.CronManagerService,
|
|
396
|
+
command_discovery_1.CommandDiscoveryService, Object])
|
|
377
397
|
], ProcessorDiscoveryService);
|
|
378
398
|
//# sourceMappingURL=processor-discovery.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor-discovery.service.js","sourceRoot":"","sources":["../../../src/services/processor-discovery/processor-discovery.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"processor-discovery.service.js","sourceRoot":"","sources":["../../../src/services/processor-discovery/processor-discovery.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "atomic-queues",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "A plug-and-play NestJS library for atomic process handling per entity with BullMQ, Redis distributed locking, and dynamic worker management",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|