breeze2-odata4
Version:
Library to allow OData 4 support for breezejs 2
77 lines (76 loc) • 3.09 kB
TypeScript
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);
}