JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources

RecordNotFound should receive associated resource class

Offen
#747 1 Kommentar 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Type: Enhancement
Vorherrschende Sprache
Ruby
Sterne
2.3k
Forks
546
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

The message from record not found only pass ID as attribute.
I think it would be better to pass the resource class as well so that we can have something like

 detail: I18n.translate('jsonapi-resources.exceptions.record_not_found.detail',
                                                   default: "The #{resource.name} identified by #{id} could not be found.", id: id, type: resource.class))]

Or maybe the associated activerecord class
This is the current implementation

 class RecordNotFound < Error
      attr_accessor :id
      def initialize(id)
        @id = id
      end

      def errors
        [JSONAPI::Error.new(code: JSONAPI::RECORD_NOT_FOUND,
                            status: :not_found,
                            title: I18n.translate('jsonapi-resources.exceptions.record_not_found.title',
                                                  default: 'Record not found'),
                            detail: I18n.translate('jsonapi-resources.exceptions.record_not_found.detail',
                                                   default: "The record identified by #{id} could not be found.", id: id))]
      end
    end

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, die Klasse RecordNotFound und ihre Aufrufer nachzuverfolgen, wobei du dich auf die Übersetzung des JSONAPI::Error-Details und den im Issue gezeigten record_not_found-I18n-Schlüssel konzentrierst. Kläre, ob der Fehler die JSON:API-Ressourcenklasse oder die zugehörige ActiveRecord-Klasse offenlegen sollte, und prüfe anschließend, dass die resultierende Not-found-Meldung den vorgesehenen Ressourcenkontext und die ID enthält.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
rails, ruby
Bereich
api, backend
Issue-Typ
Feature
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.