Files
directus/packages/data
Nicola Krumschmidt d5861365e9 Make modifiers and aliases on abstract queries required (#20393)
* Make modifiers on abstract queries required

Since the properties on the modifiers object are already optional, we can explicitly require the modifiers property

* Require at least one element if sort modifier is present

* Make aliases on abstract queries required

* Remove alias from abstract sql

* Always use aliases when generating alias mapping
2023-11-15 12:02:32 +01:00
..
2023-05-10 14:30:53 -04:00
2023-10-20 18:55:45 +00:00
2023-09-26 21:14:27 +08:00

@directus/data

Warning

This is a work in progress. Nothing is expected to work yet.

Installation

npm install @directus/data

The installation of a driver is also required.

Usage

Setup

import { DataEngine } from '@directus/data';
import { DataDriverPostgres } from '@directus/data-driver-postgres';

// Instantiate the engine
const engine = new DataEngine();

// Instantiate a driver
const pgDriver = new DataDriverPostgres({
	connectionString: 'postgresql://root:password@localhost/mydb',
});

// register the driver to the engine
await engine.registerStore('postgres', pgDriver);

Query data

// query data
await engine.query({
	store: 'postgres',
	collection: 'articles',
	fields: [
		{
			type: 'primitive',
			field: 'id',
		},
	],
});

The above is resulting in the following flow.

graph TB;
    api --> data
	subgraph da[data abstraction]
		direction TB
		data --> data-driver-x --> db1[(datastore)]
		data --> data-driver-y --> db2[(datastore)]
	end

Current architecture of this package

To get an overview of how the package is organized regarding it's files, directories and the dependencies between them, run pnpm run depcruise and have a look in the created dependency-graph.svg image.