Files
directus/packages/data
Pascal Jufer e583c6b6ea Add tsconfig for Vue & CJS (#19197)
* Add tsconfig for Vue

* Delete tsconfig.json

* Use vue tsconfig for composables

* Add changeset

* Update changeset

* Update changeset
2023-07-18 17:36:16 -04:00
..
2023-05-10 14:30:53 -04:00
2023-07-11 16:00:17 +02:00

@directus/data

Warning

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

Installation

npm install @directus/data

Usage

Create a new manager:

import { DataEngine } from '@directus/data';

const data = new DataEngine();

Register drivers:

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

const data = new DataEngine();

await data.registerStore(
	'postgres',
	new DataDriverPostgres({
		connectionString: 'postgresql://root:password@localhost/mydb',
	})
);

Query data:

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

const data = new DataEngine();

await data.registerStore(
	'postgres',
	new DataDriverPostgres({
		connectionString: 'postgresql://root:password@localhost/mydb',
	})
);

await data.query({
	root: true,
	store: 'postgres',
	collection: 'articles',
	nodes: [
		{
			type: 'primitive',
			field: 'id',
		},
	],
});

Flow

This visualizes the general data flow regarding data.

graph LR;
    api --> data
    data --> sql-adapter
    data --> no-sql-adapter
	sql-adapter ---> db1[(datastore)]
	sql-adapter  --- data-sql
	no-sql-adapter ---> db2[(datastore)]