From c67c7097349c4339035487d9f8fb28d2f5b64dd1 Mon Sep 17 00:00:00 2001 From: tokebe <43009413+tokebe@users.noreply.github.com> Date: Fri, 22 Mar 2024 15:20:40 -0400 Subject: [PATCH] fix: typings --- src/controllers/threading/threadHandler.ts | 6 +++--- src/routes/v1/asyncquery_status.ts | 12 ++---------- src/utils/common.ts | 8 ++++---- 3 files changed, 9 insertions(+), 17 deletions(-) diff --git a/src/controllers/threading/threadHandler.ts b/src/controllers/threading/threadHandler.ts index 992318b..a29697f 100644 --- a/src/controllers/threading/threadHandler.ts +++ b/src/controllers/threading/threadHandler.ts @@ -14,7 +14,7 @@ import { tasks } from "../../routes/index"; import { Telemetry } from "@biothings-explorer/utils"; import ErrorHandler from "../../middlewares/error"; import { Request, Response } from "express"; -import { AsyncResultSummary, BullJob, PiscinaWaitTime, ThreadPool } from "../../types"; +import { BullJob, PiscinaWaitTime, ThreadPool } from "../../types"; import { TaskInfo, InnerTaskData } from "@biothings-explorer/types"; import { DialHome, TrapiQuery, TrapiResponse } from "@biothings-explorer/types"; import { Queue } from "bull"; @@ -237,7 +237,7 @@ export async function runTask(req: Request, res: Response, route: string, useBul if (process.env.USE_THREADING === "false") { // Threading disabled, just use the provided function in main event loop - const response = await tasks[route](taskInfo); + const response = await tasks[route](taskInfo) as TrapiResponse; return response; } else if (!(queryQueue && useBullSync)) { // Redis unavailable or query not to sync queue such as asyncquery_status @@ -311,7 +311,7 @@ export async function runTask(req: Request, res: Response, route: string, useBul export async function runBullJob(job: BullJob, route: string, useAsync = true) { const taskInfo: TaskInfo = { - id: job.id, + id: String(job.id), data: { ...job.data }, }; const response = await queueTaskToWorkers( diff --git a/src/routes/v1/asyncquery_status.ts b/src/routes/v1/asyncquery_status.ts index 2c71e47..5e981cb 100644 --- a/src/routes/v1/asyncquery_status.ts +++ b/src/routes/v1/asyncquery_status.ts @@ -9,15 +9,7 @@ import { runTask, taskResponse, taskError } from "../../controllers/threading/th import Debug from "debug"; const debug = Debug("bte:biothings-explorer-trapi:async"); import { Express, NextFunction, Request, RequestHandler, Response } from "express"; -import { - NonTrapiAsyncAltResponse, - QueueData, - TaskInfo, - TrapiAsyncStatusResponse, - TrapiLog, - TrapiQuery, - TrapiResponse, -} from "@biothings-explorer/types"; +import { TaskInfo, TrapiAsyncStatusResponse, TrapiLog, TrapiResponse } from "@biothings-explorer/types"; import { BteRoute } from "../../types"; import { Queue } from "bull"; import StatusError from "../../utils/errors/status_error"; @@ -109,7 +101,7 @@ class V1CheckQueryStatus implements BteRoute { const storedResponse = await getQueryResponse(jobID, taskInfo.data.options.logLevel); if (storedResponse && !("logs" in storedResponse) && logs) { - (storedResponse as NonTrapiAsyncAltResponse).logs = logs; + (storedResponse as Partial).logs = logs; } let returnValue: TrapiResponse | TrapiAsyncStatusResponse; diff --git a/src/utils/common.ts b/src/utils/common.ts index a6471bd..eb7697f 100644 --- a/src/utils/common.ts +++ b/src/utils/common.ts @@ -3,18 +3,18 @@ import { URL } from "url"; import yaml2json from "js-yaml"; import fs from "fs/promises"; import path from "path"; -import { TrapiLog, TrapiWorkflow } from "@biothings-explorer/types"; +import { TrapiLog, TrapiSchema, TrapiWorkflow } from "@biothings-explorer/types"; import { NextFunction, Request, Response } from "express"; const schema: unknown[] = []; -export async function getSchema() { - if (schema.length !== 0) return schema[0]; +export async function getSchema(): Promise { + if (schema.length !== 0) return schema[0] as TrapiSchema; schema.push( yaml2json.load(await fs.readFile(path.join(__dirname, "../../docs/smartapi.yaml"), { encoding: "utf8" })), ); // console.log(schema); - return schema[0]; + return schema[0] as TrapiSchema; } export function removeQuotesFromQuery(queryString: string) {