UNPKG

breeze2-odata4

Version:

Library to allow OData 4 support for breezejs 2

77 lines (76 loc) 3.09 kB
import { DataService, DataServiceAdapter, SaveContext, Entity, EntityKey, JsonResultsAdapter, MappingContext, MetadataStore, SaveBundle, SaveResult } from 'breeze-client'; export interface OData4SaveContext extends SaveContext { tempKeys: EntityKey[]; contentKeys: Entity[]; } export interface IEnum { contains(object: any): boolean; fromName(name: string): EnumSymbol; getNames(): string[]; getSymbols(): EnumSymbol[]; } export interface Enum extends BreezeEnum { constructor(name: string, methodObj?: any): any; addSymbol(propertiesObj?: any): EnumSymbol; contains(object: any): boolean; fromName(name: string): EnumSymbol; getNames(): string[]; getSymbols(): EnumSymbol[]; resolveSymbols(): void; } export interface EnumSymbol { parentEnum: IEnum; getName(): string; toString(): string; } import { QueryResult, ServerError } from 'breeze-client/src/entity-manager'; import { Edmx } from 'ts-odatajs'; import { ChangeRequestInterceptorCtor } from 'breeze-client/src/interface-registry'; import { BreezeEnum } from 'breeze-client/src/enum'; export declare class ProxyDataService { } export declare class OData4DataService extends ProxyDataService implements DataServiceAdapter { changeRequestInterceptor: ChangeRequestInterceptorCtor; private innerAdapter; private metadataAdapters; private functions; private actions; name: string; headers: { [name: string]: string; }; metadataAcceptHeader: string; metadata: Edmx.Edmx; jsonResultsAdapter: JsonResultsAdapter; static register(): void; constructor(); _catchNoConnectionError(err: ServerError): any; _createChangeRequestInterceptor(saveContext: OData4SaveContext, saveBundle: SaveBundle): { getRequest: <T>(request: T, entity: Entity, index: number) => T; done: (requests: Object[]) => void; }; checkForRecomposition(interfaceInitializedArgs: { interfaceName: string; isDefault: boolean; }): void; initialize(): void; getAbsoluteUrl(dataService: DataService, url: string): string; fetchMetadata(metadataStore: MetadataStore, dataService: DataService): Promise<Edmx.DataServices>; executeQuery(mappingContext: MappingContext): Promise<QueryResult>; saveChanges(saveContext: OData4SaveContext, saveBundle: SaveBundle): Promise<SaveResult>; private createChangeRequests(saveContext, saveBundle); private getRequest(mappingContext); private getData(mappingContext, data); private areValidPropertyNames(metadataStore, data); private getInvokableConfig(url); private getUrl(mappingContext); private addQueryString(url, parameters); private transformValue(prop, val); private updateDeleteMergeRequest(request, aspect, routePrefix); private getUriKey(aspect); private fmtProperty(prop, aspect); private createError(error, url); private getMessage(body); private fixODataFormats(); private toQueryString(payload); }