Wie kann ich jede API-Antwort in ein Standardantwortobjekt in SailsJS einbinden?

Ich bin neu in Sails und versuche, die beste / richtige Methode für die Rückgabe eines Standardobjekts für jede API-Antwort zu finden.

Der Container, den unser Frontend benötigt, ist:

{
    "success": true/false,
    "session": true/false,
    "errors": [],
    "payload": []
}

Momentan überschreibe ich die Blueprint-Aktionen in jedem Controller wie in diesem Beispiel (was einfach so sehr, sehr falsch zu sein scheint):

   find : function( req, res ){

    var id = req.param( 'id' );

    Foo.findOne( { id : id } ).exec( function( err, aFoo ){

      res.json(
        AppSvc.jsonReply(
          req,
          [],
          aFoo
        ), 200
      );
    });

  }

Und in AppSvc.js:

  jsonReply : function( req, errors, data ){

    return {
      success : ( errors && errors.length ? false : true ),
      session : ( req.session.authenticated === true ),
      errors  : ( errors && errors.length ? errors : [] ),
      payload : ( data ? data : [] )
    };

  }

Außerdem musste ich jedes ändernres.json() Methode für jede Standardantwort (badRequest, notFound, etc). Auch dies fühlt sich so falsch an.

Wie kann ich alle API-Antworten ordnungsgemäß in einen Standardcontainer übertragen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage