-
Notifications
You must be signed in to change notification settings - Fork 0
Making a Endpoint Step by Step
This section will serve as a checklist for everything you might do while setting up an endpoint, with links the appropriate documentation. Please keep in mind that generally, you will not have to do all the steps, or even a high number of them to make an endpoint, but all steps are listed (including the optional ones) for posterity. Optional steps are in italics.
1. Follow the Quick Start Rapid Prototyping guide.
This guide will walk you through step by step creating an endpoint. At the end of the guide, you will have an endpoint that is fully open so the frontend developers can start using it right away.
2. Improve your Entity. Follow the Setting Up Your Entities guide see all the options.
A. Make sure all the appropriate Contexts are set up.
B. Make sure all your inheritance is set up between the contexts.
C. Make sure your configuration blocks account for Modes
D. Make sure all your permissions are in place.
i. Make sure that the right mode/context combo has the correct allowed blocks.
ii. Make sure that your permissive permissions are set up right.
iii. Add any enforcement rules if needed.
iv. Put in any input validation rules are in place.
v. Add in any assignment rules if needed.
vi. Add in any chaining rules if needed.
vii. Put in any custom closures for validation if needed.
E. Put in content substitution rules if needed on your entity.
i. Put in simple substitution rules if needed
ii. Put in mutators if needed
F. Define what will be returned when a standard transformation of the entity is run to return it to the frontend if needed.
G. Put in any event listeners for the entity if needed
H. If you want your entity to automatical send messages to users use raven.
3. Improve your repository by following the repository guide.
A. Set up your Contexts.
B. Set up your modes blocks in the config.
C. Make sure all your inheritance is set up between the contexts.
D. Set up your query blocks for read operations.
E. Make sure permissions are set up for what a user can do in terms of filtering and ordering the results
F. Add any options if needed.
G. Add any needed event listeners.
Improve your controller using the controller guide.
A. Make sure all the appropriate Contexts are set up.
B. Make sure all your inheritance is set up between the contexts.
C. Make sure your configuration blocks account for Modes
D. Set up transaction level if needed.
E. Set up overrides if needed. (this is used to override settings on the repo level if needed).
G. Set up your transformer settings if needed. (this is used changing the settings of the entity transformer code)
H. Set up your resource id conversion if needed. (this is used for taking url placeholders, and converting them to query placeholders)
4. Improve your routes using the routes guide
A. Use moat to set your ACL layer.
B. Set up the ttPath. (this is the path used to find the right context configuration blocks in your other configs).
C. Set up ttFallback if needed. (this is a context that entities, repos, and controllers accessed through the route will try to fall back to, if the primary context in ttPath isn't found for them)
E. Set up config overrides if needed.