@anchan828/nest-cloud-run-queue-worker 1.0.7 → 1.0.10

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.
@@ -8,6 +8,7 @@ import { QueueWorkerName } from "@anchan828/nest-cloud-run-queue-common";
8
8
  * @returns {ClassDecorator}
9
9
  */
10
10
  export declare function QueueWorker(name: QueueWorkerName, priority?: number): ClassDecorator;
11
+ export declare function QueueWorker(names: QueueWorkerName[], priority?: number): ClassDecorator;
11
12
  /**
12
13
  * Define worker processor
13
14
  *
@@ -3,16 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.QueueWorkerProcess = exports.QueueWorker = void 0;
4
4
  const common_1 = require("@nestjs/common");
5
5
  const constants_1 = require("./constants");
6
- /**
7
- * Define worker
8
- *
9
- * @export
10
- * @param {QueueWorkerName} name
11
- * @param {number} [priority=0] Highest priority is 0, and lower the larger integer you use.
12
- * @returns {ClassDecorator}
13
- */
14
- function QueueWorker(name, priority = 0) {
15
- return (0, common_1.SetMetadata)(constants_1.QUEUE_WORKER_DECORATOR, { name, priority });
6
+ function QueueWorker(names, priority = 0) {
7
+ return (0, common_1.SetMetadata)(constants_1.QUEUE_WORKER_DECORATOR, {
8
+ names: Array.isArray(names) ? names : [names],
9
+ priority,
10
+ });
16
11
  }
17
12
  exports.QueueWorker = QueueWorker;
18
13
  /**
@@ -32,13 +32,15 @@ let QueueWorkerExplorerService = class QueueWorkerExplorerService {
32
32
  .getProviders()
33
33
  .filter((instanceWrapper) => { var _a; return (_a = instanceWrapper.instance) === null || _a === void 0 ? void 0 : _a.constructor; })) {
34
34
  const args = Reflect.getMetadata(constants_1.QUEUE_WORKER_DECORATOR, classInstanceWrapper.instance.constructor);
35
- if (args) {
36
- metadata.push({
37
- instance: classInstanceWrapper.instance,
38
- name: args.name,
39
- priority: args.priority || 0,
40
- processors: [],
41
- });
35
+ if (args && Array.isArray(args.names)) {
36
+ for (const name of args.names) {
37
+ metadata.push({
38
+ instance: classInstanceWrapper.instance,
39
+ name,
40
+ priority: args.priority || 0,
41
+ processors: [],
42
+ });
43
+ }
42
44
  }
43
45
  }
44
46
  return metadata;
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { ALL_WORKERS_QUEUE_WORKER_NAME as ALL_QUEUE_WORKERS, UNHANDLED_QUEUE_WORKER_NAME as UNHANDLED_QUEUE_WORKER, } from "./constants";
2
2
  export { QueueWorker, QueueWorkerProcess } from "./decorators";
3
- export { QueueWorkerModuleAsyncOptions, QueueWorkerModuleOptions, QueueWorkerModuleOptionsFactory, QueueWorkerProcessor, QueueWorkerProcessorStatus, QueueWorkerExtraConfig, QueueWorkerRawMessage, QueueWorkerControllerInterface, QueueWorkerControllerMetadata, } from "./interfaces";
3
+ export { QueueWorkerModuleAsyncOptions, QueueWorkerModuleOptions, QueueWorkerModuleOptionsFactory, QueueWorkerProcessor, QueueWorkerProcessorStatus, QueueWorkerExtraConfig, QueueWorkerRawMessage, QueueWorkerControllerInterface, QueueWorkerControllerMetadata, QueueWorkerReceivedMessage, } from "./interfaces";
4
4
  export { QueueWorkerModule } from "./worker.module";
5
5
  export { QueueWorkerService } from "./worker.service";
@@ -27,17 +27,20 @@ export interface QueueWorkerModuleOptions extends ModuleOptions {
27
27
  /**
28
28
  * Define a Route for the controller.
29
29
  * Default: POST /
30
- * @type {QueueWorkerControllerMetadata}
30
+ * If you provide your own Controller, set it to null.
31
+ * @type {(QueueWorkerControllerMetadata | null)}
31
32
  * @memberof QueueWorkerModuleOptions
32
33
  */
33
- workerController?: QueueWorkerControllerMetadata;
34
+ workerController?: QueueWorkerControllerMetadata | null;
34
35
  }
35
36
  export declare type QueueWorkerModuleAsyncOptions = ModuleAsyncOptions<Omit<QueueWorkerModuleOptions, "workerController">> & Pick<QueueWorkerModuleOptions, "workerController">;
36
37
  export declare type QueueWorkerModuleOptionsFactory = ModuleOptionsFactory<Omit<QueueWorkerModuleOptions, "workerController">> & Pick<QueueWorkerModuleOptions, "workerController">;
37
38
  export declare type QueueWorkerProcessor = <T>(message: T, rawMessage: QueueWorkerRawMessage) => Promise<void> | void;
38
- export interface QueueWorkerMetadata extends QueueWorkerDecoratorArgs {
39
+ export interface QueueWorkerMetadata {
39
40
  instance: Injectable;
40
41
  processors: QueueWorkerProcessorMetadata[];
42
+ name: QueueWorkerName;
43
+ priority: number;
41
44
  }
42
45
  export interface QueueWorkerProcessorMetadata extends QueueWorkerProcessDecoratorArgs {
43
46
  processor: QueueWorkerProcessor;
@@ -51,7 +54,7 @@ export declare type QueueWorkerExtraConfig = {
51
54
  postProcessor?: (name: string, ...args: Parameters<QueueWorkerProcessor>) => void | Promise<void>;
52
55
  };
53
56
  export interface QueueWorkerDecoratorArgs {
54
- name: QueueWorkerName;
57
+ names: QueueWorkerName[];
55
58
  /**
56
59
  * Highest priority is 0, and lower the larger integer you use.
57
60
  *
@@ -73,7 +76,7 @@ export declare type QueueWorkerRawMessage<T = Record<string, any>> = {
73
76
  readonly data?: string | Uint8Array | Buffer | null;
74
77
  readonly headers?: Record<string, string>;
75
78
  } & T;
76
- export declare type ReceivedMessage = {
79
+ export declare type QueueWorkerReceivedMessage = {
77
80
  readonly message: QueueWorkerRawMessage;
78
81
  };
79
82
  export interface QueueWorkerControllerMetadata extends RequestMappingMetadata {
@@ -86,5 +89,5 @@ export interface QueueWorkerControllerMetadata extends RequestMappingMetadata {
86
89
  statusCode?: number;
87
90
  }
88
91
  export interface QueueWorkerControllerInterface {
89
- execute(body: ReceivedMessage, headers: Record<string, string>): Promise<void>;
92
+ execute(body: QueueWorkerReceivedMessage, headers: Record<string, string>): Promise<void>;
90
93
  }
@@ -18,20 +18,28 @@ const worker_controller_1 = require("./worker.controller");
18
18
  const worker_service_1 = require("./worker.service");
19
19
  let QueueWorkerModule = QueueWorkerModule_1 = class QueueWorkerModule {
20
20
  static register(options = {}) {
21
- const WorkerController = (0, worker_controller_1.getWorkerController)(options.workerController);
21
+ const controllers = [];
22
22
  const providers = [(0, nest_cloud_run_queue_common_1.createOptionProvider)(constants_1.QUEUE_WORKER_MODULE_OPTIONS, options)];
23
+ if (options.workerController !== null) {
24
+ const WorkerController = (0, worker_controller_1.getWorkerController)(options.workerController);
25
+ controllers.push(WorkerController);
26
+ }
23
27
  return {
24
- controllers: [WorkerController],
28
+ controllers,
25
29
  global: true,
26
30
  module: QueueWorkerModule_1,
27
31
  providers,
28
32
  };
29
33
  }
30
34
  static registerAsync(options) {
31
- const WorkerController = (0, worker_controller_1.getWorkerController)(options.workerController);
35
+ const controllers = [];
32
36
  const providers = [...(0, nest_cloud_run_queue_common_1.createAsyncProviders)(constants_1.QUEUE_WORKER_MODULE_OPTIONS, options)];
37
+ if (options.workerController !== null) {
38
+ const WorkerController = (0, worker_controller_1.getWorkerController)(options.workerController);
39
+ controllers.push(WorkerController);
40
+ }
33
41
  return {
34
- controllers: [WorkerController],
42
+ controllers,
35
43
  global: true,
36
44
  imports: [...(options.imports || [])],
37
45
  module: QueueWorkerModule_1,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anchan828/nest-cloud-run-queue-worker",
3
- "version": "1.0.7",
3
+ "version": "1.0.10",
4
4
  "description": "> TODO: description",
5
5
  "homepage": "https://github.com/anchan828/nest-cloud-run-queue/tree/master/packages/worker#readme",
6
6
  "bugs": {
@@ -33,7 +33,7 @@
33
33
  "watch": "tsc -w"
34
34
  },
35
35
  "dependencies": {
36
- "@anchan828/nest-cloud-run-queue-common": "^1.0.7",
36
+ "@anchan828/nest-cloud-run-queue-common": "^1.0.10",
37
37
  "class-validator": "0.13.2"
38
38
  },
39
39
  "devDependencies": {
@@ -46,5 +46,5 @@
46
46
  "publishConfig": {
47
47
  "access": "public"
48
48
  },
49
- "gitHead": "e1955a070bdc1333a80e75deaf203b726d35561c"
49
+ "gitHead": "6d7b6c1abb9408cffa16aea7c4eb07f4f381a4fa"
50
50
  }