UNPKG

@resin/pinejs

Version:

Pine.js is a sophisticated rules-driven API engine that enables you to define rules in a structured subset of English. Those rules are used in order for Pine.js to generate a database schema and the associated [OData](http://www.odata.org/) API. This make

59 lines (58 loc) 2.34 kB
import type * as AbstractSQLCompiler from '@resin/abstract-sql-compiler'; import type { ODataBinds, ODataQuery, SupportedMethod } from '@balena/odata-parser'; import type { Tx } from '../database-layer/db'; import type { InstantiatedHooks } from './hooks'; import type { AnyObject } from './common-types'; import * as ODataParser from '@balena/odata-parser'; import * as Bluebird from 'bluebird'; export declare const SyntaxError: typeof ODataParser.SyntaxError; export { BadRequestError, ParsingError, TranslationError } from './errors'; import * as sbvrUtils from './sbvr-utils'; export declare type OdataBinds = ODataBinds; export interface UnparsedRequest { method: string; url: string; data?: any; headers?: { [header: string]: string; }; changeSet?: UnparsedRequest[]; _isChangeSet?: boolean; } export interface ODataRequest { method: SupportedMethod; url: string; odataQuery: ODataQuery; odataBinds: OdataBinds; values: AnyObject; abstractSqlModel?: AbstractSQLCompiler.AbstractSqlModel; abstractSqlQuery?: AbstractSQLCompiler.AbstractSqlQuery; sqlQuery?: AbstractSQLCompiler.SqlResult | AbstractSQLCompiler.SqlResult[]; resourceName: string; vocabulary: string; _defer?: boolean; id?: number; custom: AnyObject; tx?: Tx; modifiedFields?: ReturnType<AbstractSQLCompiler.EngineInstance['getModifiedFields']>; hooks?: InstantiatedHooks<sbvrUtils.Hooks>; engine?: AbstractSQLCompiler.Engines; } export declare const parseId: (b: any) => any; export declare const memoizedParseOdata: (url: string) => { tree: ODataQuery; binds: ODataBinds; }; export declare const metadataEndpoints: string[]; export declare function parseOData(b: UnparsedRequest & { _isChangeSet?: false; }): Bluebird<ODataRequest>; export declare function parseOData(b: UnparsedRequest & { _isChangeSet: true; }): Bluebird<ODataRequest[]>; export declare function parseOData(b: UnparsedRequest): Bluebird<ODataRequest | ODataRequest[]>; export declare const translateUri: <T extends Pick<ODataRequest, "values" | "method" | "odataQuery" | "odataBinds" | "vocabulary" | "abstractSqlModel" | "resourceName">>(request: T & { abstractSqlQuery?: ODataRequest['abstractSqlQuery']; }) => T & { abstractSqlQuery?: ODataRequest['abstractSqlQuery']; };