@nger/fk-upload 1.0.62 → 1.0.65

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.
@@ -156,12 +156,13 @@ let FkService = class FkService {
156
156
  if (downUrl) {
157
157
  if (downUrl.startsWith('https://site-upload')) {
158
158
  console.log(`upload fail`);
159
+ throw new Error(`need re bind`);
159
160
  }
160
161
  const fullUrl = downUrl.startsWith('http') ? downUrl : `https:` + downUrl;
161
162
  task.uploadUrl = fullUrl;
162
163
  }
163
164
  }
164
- console.log(`uploading ${Math.floor((index + 1 / task.totalChunks) * 100)}%`);
165
+ console.log(`uploading ${task.filename} ${Math.floor((index + 1 / task.totalChunks) * 100)}%`);
165
166
  index = index + 1;
166
167
  } while (!complete);
167
168
  // upload complete
@@ -7,6 +7,7 @@ const fk_service_1 = require("./fk.service");
7
7
  const task_service_1 = require("./task.service");
8
8
  const typeorm_1 = require("@nger/typeorm");
9
9
  const entities_1 = require("../../entities");
10
+ const fs_1 = require("fs");
10
11
  class UploadTask extends rabbitmq_1.Task {
11
12
  constructor() {
12
13
  super(actions_1.UPLOAD_ACTION);
@@ -14,21 +15,32 @@ class UploadTask extends rabbitmq_1.Task {
14
15
  async handle(injector, next) {
15
16
  const task = injector.get(rabbitmq_1.DATA);
16
17
  const complete = injector.get(rabbitmq_1.COMPLETE);
17
- const fail = injector.get(rabbitmq_1.FAIL);
18
18
  const fk = injector.get(fk_service_1.FkService);
19
19
  const taskService = injector.get(task_service_1.TaskService);
20
20
  const manager = injector.get(rabbitmq_1.TaskManager);
21
21
  const db = injector.get(typeorm_1.Db);
22
+ const old = await db.manager.findOne(entities_1.FkDownloadTaskEntity, { where: { filename: task.filename } });
22
23
  // > 1G give up
23
24
  if (task.total >= 1024 * 1024 * 1024) {
24
25
  complete();
25
26
  }
26
- await fk.startUploadFile(task).then(async (res) => {
27
- // create effect task
28
- await db.manager.update(entities_1.FkDownloadTaskEntity, task.filename, { status: 2, uploadUrl: task.uploadUrl, uploadSize: task.total, uploadStatus: 1 });
29
- const effectTask = await taskService.createEffectTask(task.filename, task.uploadUrl, task.topicId, task.path);
30
- return manager.send(effectTask).then(() => complete());
31
- });
27
+ if (!(0, fs_1.existsSync)(task.path)) {
28
+ await db.manager.update(entities_1.FkDownloadTaskEntity, task.filename, { status: 0 });
29
+ complete();
30
+ }
31
+ if (old.status === 1) {
32
+ // upload
33
+ await fk.startUploadFile(task).then(async (res) => {
34
+ // create effect task
35
+ console.log(`upload success`, res.filename);
36
+ await db.manager.update(entities_1.FkDownloadTaskEntity, task.filename, { status: 2, uploadUrl: task.uploadUrl, uploadSize: task.total, uploadStatus: 1 });
37
+ const effectTask = await taskService.createEffectTask(res.filename, res.uploadUrl, task.topicId, task.path);
38
+ return manager.send(effectTask).then(() => complete());
39
+ });
40
+ }
41
+ else {
42
+ complete();
43
+ }
32
44
  if (next)
33
45
  await next();
34
46
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nger/fk-upload",
3
- "version": "1.0.62",
3
+ "version": "1.0.65",
4
4
  "description": "",
5
5
  "main": "dist/core.js",
6
6
  "types": "dist/core.d.ts",