JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources

Should fail with original error

Aperta
#1,133 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Type: Enhancement
Lingua principale
Ruby
Stelle
2.3k
Fork
546
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

In some cases original exceptions have important effects, for example I ran with issue that this fix is not working with jsonapi-resources "deallocate prepared statements if we fail inside a transaction"(https://github.com/rails/rails/pull/22170), so when you shallow error here you'd potentially breaks some other logic.

I think you should propagate original error, not just ActiveRecord::Rollback

Something like this should work, I think
https://github.com/cerebris/jsonapi-resources/blob/v0.9.0/lib/jsonapi/operation_dispatcher.rb#L30:
rollback(transactional) if results.has_errors? => fail results.original_error if results.has_errors? && transactional

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia da operation_dispatcher.rb intorno alla riga 30 e acts_as_resource_controller.rb intorno alla riga 100, quindi esamina il comportamento transazionale indicato nella modifica Rails collegata. Verifica che un'operazione transazionale propaghi la propria eccezione originale invece di propagare solo ActiveRecord::Rollback, mentre il comportamento non transazionale rimane invariato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
rails, ruby
Ambito
api, backend
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.