Я читал о транзакциях в typeorm.
@Transaction()
save(user: User, @TransactionRepository(User) userRepository: Repository<User>) {
return userRepository.save(user);
}
У меня есть приложение nestjs с несколькими модулями и службами. что мне нужно сделать, это вызвать различные методы обслуживания внутри транзакции. но @TransactionRepository
дает мне repository
. Итак, что я должен сделать, чтобы выполнить транзакцию с несколькими сервисными методами, вызываемыми внутри нее. как
class Module3Service{
constructor(
private readonly module1service: Moudle1Service,
private readonly module2service: Module2Service
){}
@Transaction()
save() {
this.module1service.create()
this.module2service.create()
}
Я не знаю, как этого добиться. и также исправьте меня, если я ошибаюсь, что возможное решение состоит в том, чтобы изменить зависимости moduleservice (module1service dependency => module1repositoroy), чтобы перейти на наш новый экземпляр репозитория, который мы получаем из @TransactionRepository(Module1Enity) module1repository: Repository<Module1Entity>
внутри метода transction. или любое другое решение, пожалуйста, помогите
Я использую Postgres