From a61247d34441f7d92ea39f713e8a34282ff52007 Mon Sep 17 00:00:00 2001 From: CounterFire2023 <136581895+CounterFire2023@users.noreply.github.com> Date: Thu, 21 Dec 2023 19:28:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/tasks.controller.ts | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/src/controllers/tasks.controller.ts b/src/controllers/tasks.controller.ts index 1561f80..1394522 100644 --- a/src/controllers/tasks.controller.ts +++ b/src/controllers/tasks.controller.ts @@ -2,7 +2,7 @@ import { ZError } from "common/ZError"; import BaseController, { ROLE_ANON } from "common/base.controller"; import { role, router } from "decorators/router"; import { all } from "deepmerge"; -import { ActivityInfo } from "models/ActivityInfo"; +import { ActivityInfo, TaskCfg } from "models/ActivityInfo"; import { ActivityUser, TaskStatus, TaskStatusEnum } from "models/ActivityUser"; import { join } from 'path' const fs = require('fs') @@ -66,7 +66,8 @@ const parseCurrentTask = (user: typeof ActivityUser, task: string) => { const parseNextTask = async ( user: typeof ActivityUser, activity: typeof ActivityInfo, - task: string) => { + task: string + ) => { let nextTask = findNextTask(user, task); if (!nextTask) { return true @@ -95,18 +96,12 @@ export default class TasksController extends BaseController { await user.save(); } let visibleTasks = new Set(); - for (let task of activity.tasks) { - if (task.show) { - visibleTasks.add(task.id) + activity.tasks.forEach((t:TaskCfg) => { + if (t.show) { + visibleTasks.add(t.id) } - } - let taskProgress = []; - for (let task of user.taskProgress) { - if (visibleTasks.has(task.id)) { - taskProgress.push(task) - } - } - return taskProgress + }) + return user.taskProgress.filter((t: TaskStatus) => visibleTasks.has(t.id)); }