- Added
sortRaw
andfieldsRaw
- Added
userIdFieldName
(default isuser_id
) for redefining the user ID field name in the check owner procedure
- Added
leftJoinDistinct
boolean for avoid duplicates on leftJoin
- Update
linkedind
login flow
- Added
leftJoin
tojoin
/joinByDemand
section:
join: [
{
table: 'coffee_groups',
where: 'coffee.id = coffee_groups.coffee_id',
leftJoin: 'groups ON groups.id = coffee_groups.group_id',
},
],
joinOnDemand: [
{
table: 'tea_groups',
alias: 'groups',
where: 'tea.id = tea_groups.tea_id',
leftJoin: ['groups', 'groups.id', 'tea_groups.group_id'],
},
],
- Added
alias
as a key in relations
- Added the
SOFT_DELETE_USERS
parameter to allow password restoration for deleted accounts
- Added
_join
query forjoinOnDemand
flow ingetById
method
- Await for the e-mail send method
- Added a new unsubscribe route
DELETE /emails/subscribe
and subscribe routePOST /emails/subscribe
- Changing email requires confirmation using
POST /login/email
with thecode
parameter
- Update the relations by setting the
relation_field_name
as an optional key in the results.
- The new parameter
joinOnDemand
has been added to the definitions. It allows you to select which table to join using the _join parameter in queries. Here's an example of how to use it:
joinOnDemand: [
{
table: 'lang',
where: 'lang.key = table.description'
}
]
In this example, the joinOnDemand parameter specifies that the lang table should be joined based on the condition lang.key = table.description
.
To retrieve the result with the joined lang table, you can make a request like this: GET /tables?_join=lang
This request will perform the join operation and include the joined data from the lang table in the response.
- add
encodeURIComponent
posibility to email templates. Example of usage: '{{{email}}}'
- Add the
/drawio
endpoint to retrieve the database schema as aCSV
file that can be imported into draw.io.
- Move the connection to the database flow to the
constructor
. - Add
api.initRoutes(flow)
to initialize any routes flow before starting the server. - The
flow
parameter can now be afunction
that takes theapi
object as a parameter. - Add the
api.startServer()
method.