Как вызвать метод контроллера Loopback4 с другого контроллера - PullRequest
0 голосов
/ 01 июня 2019

У меня есть контроллер loopback 4 с функцией, которую я не хочу показывать через HTTP. Я хотел бы иметь возможность вызывать функцию из другого контроллера.

Как я могу это сделать? Есть ли способ ввести контроллер в другой контроллер? (Я могу вводить репозитории в контроллеры, но не контроллеры в других контроллерах).

Ответы [ 2 ]

1 голос
/ 05 июня 2019

Вы должны сначала импортировать хранилище другого контроллера, например,

import { MemberRepository, EmailTemplateRepository } from '../repositories';

тогда вы должны добавить его в конструктор следующим образом: -

@repository(EmailTemplateRepository) public emailTemplateRepository: EmailTemplateRepository,

затем, после того, как вы можете использовать любую функцию контроллера, как это: -

const template = await this.emailTemplateRepository.findOne({
  where: {
    slug: 'user-password-reset',
    status: 1
  }
}); 
0 голосов
/ 02 июня 2019

Ответ здесь: https://github.com/strongloop/loopback-next/issues/3028

@inject(‘controllers.AnotherController’) c: AnotherController
...