Skip to content

Directus

driverdirectus7/8 capabilities

Import the driver directly so the other seventeen tree-shake away.

directus.ts
import { DIRECTUS_DRIVER, QubeeStore, QueryBuilder, Paginator } from '@qubeejs/core';
const store = new QubeeStore();
const qb = new QueryBuilder(store, DIRECTUS_DRIVER.createRequestStrategy('query'));
const paginator = new Paginator(
store,
DIRECTUS_DRIVER.createResponseStrategy(),
DIRECTUS_DRIVER.createResponseOptions({}),
);
qb.setResource('articles')
.addFilter('status', 'published')
.addSort('createdAt', SortEnum.DESC)
.setLimit(25)
.generateUri();

Produces:

/articles?filter[status][_eq]=published&sort=-createdAt&meta=total_count,filter_count&limit=25&page=1
Capability Supported
Filters
Operators
Sort
Select
Fields
Includes
Search
Embedded
const body = await fetch(`https://example.com/api${uri}`).then((r) => r.json());
const page = paginator.paginate(body);
page.data; // rows
page.total; // total rows the backend reported
page.lastPage; // final page number