AbstractProtected_Protected_Protected_StaticPKEY_The string identifier for primary keys, mapped to 'id' by default.
Protected_Resolves the canonical database path for a record, respecting standard collection structures and hierarchical subcollection configurations.
Optionaluid: stringProtected_Processes raw data entries to convert relational reference objects into native database foreign key IDs
if the adapter has been configured with useNativeForeignKeys = true.
Executes an aggregation operation (sum, avg, distinct, min, max, count) on a query. The default implementation fetches all matching records and performs in-memory aggregation. Specific database adapters should override this to perform native query aggregation.
The Query instance defining the collection and filters.
The aggregate operation.
Optionalproperty: stringThe name of the property to aggregate.
A promise resolving to the aggregated result.
AbstractcreateAdapter-specific implementation for inserting new records.
The payload.
OptionaldesiredUid: stringOptional explicit UID to use.
A promise resolving to the created object.
AbstractdeleteAdapter-specific implementation for deleting an existing record.
The object to delete.
A promise resolving to the deleted object footprint.
AbstractdeleteAdapter-specific implementation for removing an entire collection.
The collection name.
OptionalbatchSize: numberThe pagination batch limit for NoSQL sequential deletes.
Removes a middleware from the pipeline by its class name.
The exact name of the middleware class to remove.
Orchestrates the sequential execution of all attached middlewares for a given action.
The payload traversing the middlewares.
The context (READ, CREATE, UPDATE, DELETE).
Whether to run the before or after pipeline.
Optionalparams: MiddlewareParamsOptional parameters passed down to the middlewares.
A promise resolving to the potentially mutated DataObject.
AbstractfindAdapter-specific implementation translating complex Query constructs into raw database statements.
Base template object representing the queried collection.
The compiled list of WHERE filters.
Limits, offsets, and sorting directions.
Optional linked parent object for nested lookups.
A promise resolving to an array of objects and result metadata.
AbstractgenerateGenerates the SQL up and down statements to create a collection table.
AbstractgenerateGenerates the SQL up and down statements to apply a schema delta to a collection.
Helper method to extract the destination collection name from a DataObject.
The DataObject evaluating the context.
The resolved collection string.
Retrieves a specific configuration parameter.
The parameter key to fetch.
The value associated with the key, or undefined.
Returns true if a given middleware is attached
boolean
Process Query instance and return result
Array
Executes a raw query on the backend. Only supported by SQL adapters.
Optionalparams: any[]AbstractreadAdapter-specific implementation for reading a record by its UID/path.
Empty object holding the target URI path.
A promise resolving to the populated DataObject.
Overrides or adds a backend configuration parameter dynamically.
The parameter key to modify.
The new value to assign.
AbstractupdateAdapter-specific implementation for modifying an existing record.
The modified DataObject payload.
A promise resolving to the updated DataObject.
The baseline abstract class defining the contract for all Quatrain database adapters. Implementations must extend this class to translate agnostic CRUD operations into specific database queries (e.g., PostgreSQL, Firestore). It also handles middleware execution lifecycles.