You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
a. Should be created as a class
b. Should be automatically loaded in the LB4 app
c. Should have access to a specified Repository
d. Should expose CRUD methods to interact with the Repository
e. Should allow custom methods to be added, with access to:
i. The LB4 request object
ii. A Model
iii. A Repository
iv. The LB4 response object
The text was updated successfully, but these errors were encountered:
@hacksparrow could you please make it more explicit that we also need an easy-to-use solution for describing the remote methods via OpenAPI spec? There are several ways how to do that, I'd like us to consider all of them before we decide the winner. See the discussion in #1978 for more details.
Many of the points I made in #2474 (comment) apply to Controllers too, most notably:
(2)
In addition to the list of objects the route should have access to, the route must be also able to receive parameters parsed by LB4 from the request. The parameters are described in the provided OpenAPI spec (this.route argument number 3), either via parameters or requestBody.
(4)
To describe route's inputs and outputs, we need a helper function to build JSON schema from LB4 model class. I believe that in TypeScript, this conversion is done automatically by @param and @response decorators. In JavaScript, we need to be more explicit.
(5)
As you can see, building the OperationObject requires a lot of boilerplate code. It would be great to create a follow-up spike to look for ways how to simplify this part.
Follow up task for #1978.
Acceptance criteria
a. Should be created as a class
b. Should be automatically loaded in the LB4 app
c. Should have access to a specified Repository
d. Should expose CRUD methods to interact with the Repository
e. Should allow custom methods to be added, with access to:
i. The LB4 request object
ii. A Model
iii. A Repository
iv. The LB4 response object
The text was updated successfully, but these errors were encountered: