UNPKG

@dossierhq/sqlite-core

Version:

A library used by concrete SQLite adapters for Dossier.

30 lines 1.41 kB
/// <reference types="./searchEntities.d.ts" /> import { ok, } from '@dossierhq/core'; import { queryMany } from '../QueryFunctions.js'; import { searchAdminEntitiesQuery, } from '../search/QueryGenerator.js'; import { assertIsDefined } from '../utils/AssertUtils.js'; import { resolveAdminEntityInfo, resolveEntityFields } from '../utils/CodecUtils.js'; import { resolveConnectionPagingAndOrdering } from '../utils/ConnectionUtils.js'; export async function adminEntitySearchEntities(database, schema, context, query, paging, resolvedAuthKeys) { const sqlQueryResult = searchAdminEntitiesQuery(database, schema, query, paging, resolvedAuthKeys); if (sqlQueryResult.isError()) return sqlQueryResult; const { cursorExtractor, sqlQuery } = sqlQueryResult.value; const connectionResult = await queryMany(database, context, sqlQuery); if (connectionResult.isError()) return connectionResult; const { hasMore, edges } = resolveConnectionPagingAndOrdering(paging, connectionResult.value); return ok({ hasMore, edges: edges.map((edge) => { assertIsDefined(edge.uuid); return { ...resolveAdminEntityInfo(edge), ...resolveEntityFields(edge), id: edge.uuid, cursor: cursorExtractor(edge), }; }), }); } //# sourceMappingURL=searchEntities.js.map