@nger/fk-upload 1.0.67 → 1.0.70

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.
@@ -1,8 +1,16 @@
1
- import { TaskManager } from '@nger/rabbitmq';
1
+ import { TaskEntity, TaskManager } from '@nger/rabbitmq';
2
2
  import { Db } from '@nger/typeorm';
3
3
  export declare class CheckUploadController {
4
4
  private db;
5
5
  private manager;
6
6
  constructor(db: Db, manager: TaskManager);
7
7
  reupload(): Promise<string>;
8
+ recheck(): Promise<{
9
+ msg: string;
10
+ list: TaskEntity<object>[];
11
+ }>;
12
+ redownload(): Promise<{
13
+ msg: string;
14
+ list: TaskEntity<object>[];
15
+ }>;
8
16
  }
@@ -19,6 +19,18 @@ let CheckUploadController = class CheckUploadController {
19
19
  await Promise.all(list.map(item => this.manager.send(item)));
20
20
  return 'reupload success';
21
21
  }
22
+ async recheck() {
23
+ const task = this.db.manager.getRepository(rabbitmq_1.TaskEntity);
24
+ const list = await task.find({ where: { topic: '@nger/fk-upload/effect-task', status: 0 } });
25
+ await Promise.all(list.map(item => this.manager.send(item)));
26
+ return { msg: 'recheck success', list };
27
+ }
28
+ async redownload() {
29
+ const task = this.db.manager.getRepository(rabbitmq_1.TaskEntity);
30
+ const list = await task.find({ where: { topic: '@nger/fk-upload/download-task', status: 0 } });
31
+ await Promise.all(list.map(item => this.manager.send(item)));
32
+ return { msg: 'recheck success', list };
33
+ }
22
34
  };
23
35
  tslib_1.__decorate([
24
36
  (0, http_1.Get)('reupload'),
@@ -26,8 +38,20 @@ tslib_1.__decorate([
26
38
  tslib_1.__metadata("design:paramtypes", []),
27
39
  tslib_1.__metadata("design:returntype", Promise)
28
40
  ], CheckUploadController.prototype, "reupload", null);
41
+ tslib_1.__decorate([
42
+ (0, http_1.Get)('recheck'),
43
+ tslib_1.__metadata("design:type", Function),
44
+ tslib_1.__metadata("design:paramtypes", []),
45
+ tslib_1.__metadata("design:returntype", Promise)
46
+ ], CheckUploadController.prototype, "recheck", null);
47
+ tslib_1.__decorate([
48
+ (0, http_1.Get)('redownload'),
49
+ tslib_1.__metadata("design:type", Function),
50
+ tslib_1.__metadata("design:paramtypes", []),
51
+ tslib_1.__metadata("design:returntype", Promise)
52
+ ], CheckUploadController.prototype, "redownload", null);
29
53
  CheckUploadController = tslib_1.__decorate([
30
- (0, core_1.Controller)(`@nger/fk-uplaod`),
54
+ (0, core_1.Controller)(`@nger/fk-upload`),
31
55
  tslib_1.__metadata("design:paramtypes", [typeorm_1.Db, rabbitmq_1.TaskManager])
32
56
  ], CheckUploadController);
33
57
  exports.CheckUploadController = CheckUploadController;
@@ -5,6 +5,7 @@ import { Injector, Next } from "@nger/core";
5
5
  */
6
6
  export declare class DownloadTask extends Task {
7
7
  constructor();
8
+ downloadingCount: number;
8
9
  handle(injector: Injector, next?: Next): Promise<void>;
9
10
  private createUploadTask;
10
11
  }
@@ -21,7 +21,12 @@ class DownloadTask extends rabbitmq_1.Task {
21
21
  constructor() {
22
22
  super(actions_1.DOWNLOAD_ACTION);
23
23
  }
24
+ downloadingCount = 0;
24
25
  async handle(injector, next) {
26
+ if (this.downloadingCount > 3) {
27
+ throw new Error(`system is busy`);
28
+ }
29
+ this.downloadingCount += 1;
25
30
  const db = injector.get(typeorm_1.Db);
26
31
  const task = injector.get(rabbitmq_1.DATA);
27
32
  const complete = injector.get(rabbitmq_1.COMPLETE);
@@ -66,6 +71,11 @@ class DownloadTask extends rabbitmq_1.Task {
66
71
  req.on('response', async (resp) => {
67
72
  const headers = resp.headers;
68
73
  total = Number(headers["content-length"]);
74
+ if (total > 1024 * 1024 * 1024) {
75
+ console.log(`file is to large`);
76
+ req.destroy();
77
+ complete();
78
+ }
69
79
  });
70
80
  if (next)
71
81
  await next();
@@ -2,18 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.tasksProviders = void 0;
4
4
  const rabbitmq_1 = require("@nger/rabbitmq");
5
+ const download_task_1 = require("./download-task");
6
+ const schedule_task_1 = require("./schedule-task");
5
7
  const upload_task_1 = require("./upload-task");
6
8
  exports.tasksProviders = [
7
- // {
8
- // provide: Task,
9
- // useFactory: () => new DownloadTask(),
10
- // multi: true
11
- // },
12
- // {
13
- // provide: Task,
14
- // useFactory: () => new ScheduleTask(),
15
- // multi: true
16
- // },
9
+ {
10
+ provide: rabbitmq_1.Task,
11
+ useFactory: () => new download_task_1.DownloadTask(),
12
+ multi: true
13
+ },
14
+ {
15
+ provide: rabbitmq_1.Task,
16
+ useFactory: () => new schedule_task_1.ScheduleTask(),
17
+ multi: true
18
+ },
17
19
  {
18
20
  provide: rabbitmq_1.Task,
19
21
  useFactory: () => new upload_task_1.UploadTask(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nger/fk-upload",
3
- "version": "1.0.67",
3
+ "version": "1.0.70",
4
4
  "description": "",
5
5
  "main": "dist/core.js",
6
6
  "types": "dist/core.d.ts",