Как говорится в сообщении об ошибке, третий параметр конструктора DescribeService
не может быть разрешен, а это:
private clients: object
Сервисы (провайдеры) в nestjs создаются (создаются) контекстом приложения, который обеспечивает внедрение зависимостей. Вы можете просто заявить, что вам нужен сервис, не задумываясь о его зависимостях. Это, конечно, работает только тогда, когда все зависимости находятся в контексте приложения. object
явно не является поставщиком, и, следовательно, его нельзя вводить. Вы не указали, что такое clients
, но вы бы это объявили так:
Вы можете указать массив клиентов у своих ApiModules
провайдеров:
export const CLIENTS = 'clients';
@Module({
controllers: [ApiController],
providers: [
UrlsAfipService,
WsaaService,
DescribeService,
{ provide: CLIENTS, useValue: [clientA, clientB] }
],
imports: [ConfigModule]
})
export class ApiModule {}
Затем вы можете внедрить массив в вашем сервисе с помощью декоратора @Inject
:
export class DescribeService {
constructor (
private readonly urlsAfipService: UrlsAfipService,
private readonly wsaaService: WsaaService,
@Inject(CLIENTS) private clients: Client[],
) {}
Посмотрите на этот ответ для более подробного объяснения системы DI гнезда.