1 Usage of a List EndPoint
The endPoints of type List are not only used to create tables, they can also be used to make transactions with the dbms. To achieve that is necessary to use forms and link. It will be explained in further sections
2 Examples of List EndPoint
The List endPoints only requires for a title, a path to make them accessible from an URL and a SQL query code to load the data. Other elements may be configurated to make the list more sophisticated and to allow it to make transactions
2.1 Basic List
In this section, we will define different examples of List Endpoint.
As it was said before, to define an Endpoint, Application code, type and label fields are required. In List endpoints, Catalogued SQL is needed too. To display a list, is necessary to give some data.
In the example below we can se a simple definition of a List. It's only necessary a path and a Calaloguet SQL

2.1.1 Catalogued SQL
The catalogued SQL not only defines a sql query to get data, but also defines columns properties and filters.

With the $0
in the where clause we allow to filter by some columns defined in the sql output.
In the image below we can se the structure of the list. Here are defined the order in which the columns are display. Here, the user can define whether a column is display or not (column rowid will be hidden), which column can be filtered, which type of filter (required, exact) and Link options.

In the image below we can see the result. As defined in the output, we can see a filter area with an input for each filterable column. The hidden columns (rowid) are not displayed and the includes defined in the table structure will be displayed.

2.2 Transactionable List
As said in the first point, more sophisticated lists can be done by using links and forms.
2.2.1 EndPoint definition
As usual, the first thing to do is to define the type List endPoint with its path and catalogued SQL.

2.2.2 Catalogued SQL
To define the list behaviour, the sql catalogued and its output must be configured

To show columns, we must define every single column in order. If a column is not defined will not appear.
To make a transactionable list, we must define a link in the column we want to make transactionable. In the example, we will use the terminal_id column.

To complete the output configuration, three fields need to be set.
- Link type: Defines if it's an internal (studio) or external (internet) link.
- Link: Defines the path to the target object
- Condition: Condition to display link. If evalued as false, this row will not have link.
2.2.3 Target form definition
To define a form to allow the transaction on the selected row, is necessary to define one with the same path defined in the link of the list output. In this case, /terminals/{terminal_id}. {terminal_id} will be the pk of the terminal's table. This will allow to show the data of this terminal and to make transaction.
