Setting up an XData server for individual user database connections

First up, I have no need for Aurelius endpoints in my server, everything being handled through services. I’m using Devart IBDAC to connect to a Firebird database.

In order to allow use of database triggers to audit database changes, we need to connect to the database with individual user logins. After playing around with the XData server, it seems that the only way I can do this is to create a connection outside of the “default” connection creation.

To do this, I have created a base service module that uses the login information from a jwt to create a connection to the database, and an object manager attached to that connection. The other service modules descend from this module, so all have access to a manager and connection for a specific user. I’ve enabled pooling on the IBDAC connection, so these connections will be pooled.

My questions are: is this a valid way to handle individual user connections or is their an easier/cleaner way?

Considering I’m not using Aurelius endpoints in any form, am I correct in assuming that I won’t need the default connection, the TDBConnectionFactory or the TDBConnectionPool?

Yes, that is all correct. No problem with your approach, it will work fine.
The default connection in XData is just a helper.

Great. Thanks for the quick confirmation.