Executando verificação de segurança...
1

Primeiro, só tu tens o contexto completo pra tomar uma decisão dessas.

Dito isso...

Como avisaste que estás usando knex, já assumo que estás usando js/ts. Dessa forma, posso presumir que estavas falando sobre "Observables" do RxJS, quando falaste de "observers".

Dado esse micro contexto, eu optaria por fazer uma transaction pelo knex, simplesmente pelo princípio KISS (keep it simple, stupid). Os observables do rxjs são bons pra problemas onde é preciso se aplicar filas, buffers e/ou pipelines. Pra essa situação, onde é preciso esperar que todas as informações sejam inseridas no banco de dados antes de dar uma mensagem de sucesso ou erro, o bom é velho beginTransaction -> inserts -> commit (ou rollback, em caso de erro) é a melhor solução.

Espero ter ajudado 😁

Carregando publicação patrocinada...
1

n sei o que é rxjs. me referia ao desing pattern mesmo. pelo que entendi pode ser implementado de algumas maneiras. obrigado pela resposta. ajudou. no final foi decidido que cada tabela tem seu repositorio. ai chama cada repo necessario para criar uma entidade no serviço. o que achou disso? eu to so tentando entender novas perspectivas pq sou dev iniciante e to meio isolado no meu contexto. Não quero ficar limitado a ter sempre a mesma cabeca e so conseguir enxergar uma solução p tudo.