У меня есть класс, назовем его first.ts
, в котором есть функция с именем post
, которая принимает контекстный объект koa, содержащий соответствующие детали от клиента для вызова API (например, body, auth token, et c.). Функция преобразует тело запроса в класс ValidatedObject, проверяет объект и затем отправляет его в конечную точку.
first.ts
:
import { plainToClass } from 'class-transformer';
import { Context } from 'koa';
public static async post(ctx: Context) {
const validatedObject: ValidatedObject = plainToClass(ValidatedObject, ctx.request.body);
// validates the object, and, if no errors, sends it to some api
}
И ValidatedObject.ts
выглядит примерно так :
import { ValidateNested } from 'class-validator';
import { Type } from 'class-transformer';
export default class ValidatedObject {
@ValidateNested()
@Type(() => NestedObject)
apiValidatedObject: NestedObject;
// some other relevant fields
}
В NestedObject.ts
в конечную точку делается вызов API для проверки правильности apiValidatedObject
(логика c которого не должна относиться к этому вопросу). Чтобы выполнить этот вызов API, необходимо получить доступ к токену аутентификации, хранящемуся в объекте контекста в first.ts
. Как передать объект контекста из first.ts
вниз по слоям в NestedObject.ts
, чтобы можно было сделать вызов проверки API?