UNPKG

odata-v4-server

Version:
241 lines (240 loc) 9.07 kB
/// <reference types="node" /> import { Token } from "odata-v4-parser/lib/lexer"; import { ODataController, ODataServer, ODataProcessor, ODataResult, ODataHttpContext, ODataStream, ODataEntity } from "../lib/index"; import { Product, Category } from "./model/model"; import { ProductPromise, CategoryPromise } from "./model/ModelsForPromise"; import { GeneratorProduct, GeneratorCategory } from "./model/ModelsForGenerator"; import { Readable, PassThrough, Writable } from "stream"; import { ObjectID } from "mongodb"; import * as streamBuffers from "stream-buffers"; export declare class Foobar { id: number; a: number; foo: string; Foo(): void; Bar(): string; echo(message: any): any; echoMany(message: any): any[]; } export declare class Image { Id: number; Filename: string; Data: ODataStream; Data2: ODataStream; } export declare class Music extends PassThrough { Id: number; Artist: string; Title: string; } export declare class SyncTestController extends ODataController { entitySet(): { id: number; a: number; }[]; entity(key: number): Promise<ODataResult<{}>>; insert(body: any): any; put(body: any): void; patch(key: number, delta: any): any; putProperty(body: any, _: Foobar): void; patchProperty(body: any, _: Foobar): void; deleteProperty(_: Foobar): void; remove(): void; getFoo(): { id: number; foo: string; }; } export declare class GeneratorTestController extends ODataController { entitySet(): IterableIterator<{ id: number; a: number; }[]>; } export declare class AsyncTestController extends ODataController { entitySet(): Promise<{}>; entity(key: number): Promise<ODataResult<{}>>; insert(body: any): Promise<{}>; } export declare class InlineCountController extends ODataController { entitySet(): { id: number; a: number; }[]; } export declare class BoundOperationController extends ODataController { Action(): Promise<{}>; Function(value: number): string; FunctionMore(message: string, value: number): string; entitySet(): { id: number; a: number; }[]; entity(key: number): { id: number; a: number; }; } export declare class ImagesController extends ODataController { entitySet(_: Token, __: any, ___: any, ____: ODataProcessor): Image[]; entity(key: number): Image; getData(_: number, context: ODataHttpContext): streamBuffers.ReadableStreamBuffer; postData(_: number, data: Readable): streamBuffers.WritableStreamBuffer; getData2(_: number, stream: Writable, context: ODataHttpContext): Promise<Readable | ODataStream>; postData2(_: number, data: Readable): Promise<Writable | ODataStream>; } export declare class MusicController extends ODataController { findAll(_: ODataHttpContext): Music[]; findOne(_: number, __: ODataHttpContext): Music; mp3(_: number, context: ODataHttpContext): Writable; post(_: number, upload: Readable): streamBuffers.WritableStreamBuffer; } export declare class ProductsController extends ODataController { find(query: Token): any; findOne(key: string): Product; getName(key: string, result: Product): string; setCategory(key: string, link: string): Promise<number>; unsetCategoryId(key: string, link: string): Promise<number>; } export declare class CategoriesController extends ODataController { find(filter: Token): Category[]; findOne(key: string): Category; insertProduct(key: string, link: string, body: Product): Promise<ODataResult<{}>>; findProduct(key: string, link: string): Product; setCategory(key: string, link: string): IterableIterator<any>; unsetCategory(key: string, link: string): Promise<{}>; } export declare class CategoryStream extends Category { } export declare class CategoriesStreamingController extends ODataController { find(filter: Token, stream: Writable): void; findOne(key: string): any; getProducts(result: Category, stream: Writable, context: ODataHttpContext): void; } export declare class Product2 { _id: ObjectID; CategoryId: ObjectID; Category2: Category2; Discontinued: boolean; Name: string; QuantityPerUnit: string; UnitPrice: number; } export declare class Category2 { _id: ObjectID; Description: string; Name: string; Products2: Product2[]; echo(): string[]; } export declare class CategoriesGeneratorController extends ODataController { find(filter: Token, stream: Writable): IterableIterator<any>; findOne(key: string): IterableIterator<any>; findProduct(key: string, result: Category2): IterableIterator<any>; findProducts(filter: Token, stream: Writable, result: Category2): IterableIterator<Promise<any>>; } export declare class ProductsGeneratorController extends ODataController { find(filter: Token, stream: Writable): IterableIterator<any>; findOne(key: string): IterableIterator<any>; findCategories(filter: Token, stream: Writable, result: any): IterableIterator<any>; } export declare class ProductsPromiseGeneratorController extends ODataController { find(filter: Token): IterableIterator<any>; findOne(key: string): IterableIterator<any>; findCategories(filter: Token, result: ProductPromise): IterableIterator<any>; } export declare class CategoriesPromiseGeneratorController extends ODataController { find(filter: Token): IterableIterator<any>; findOne(key: string): IterableIterator<any>; findProduct(key: string, result: CategoryPromise): IterableIterator<any>; findProducts(filter: Token, stream: Writable, result: CategoryPromise): IterableIterator<any>; } export declare class ProductsAdvancedGeneratorController extends ODataController { find(filter: Token): IterableIterator<any>; findOne(key: string): IterableIterator<any>; findCategories(filter: Token, result: GeneratorProduct): IterableIterator<any>; } export declare class CategoriesAdvancedGeneratorController extends ODataController { find(query: Token, filter: Token): IterableIterator<Promise<any> | Category[]>; findOne(key: string): IterableIterator<any>; filterProducts(query: Token, filter: Token, result: GeneratorCategory): IterableIterator<Promise<any> | GeneratorProduct[]>; } export declare class Image2 { Id: number; Filename: string; Data: ODataStream; Data2: ODataStream; } export declare class Images2Controller extends ODataController { entitySet(_: Token): Image2[]; entity(key: number): Image2; getData2(_: number, stream: Writable, context: ODataHttpContext): IterableIterator<any>; postData2(_: number, data: Readable): IterableIterator<any>; } export declare class Location { City: string; Address: string; constructor(city: any, address: any); } export declare class User { Id: number; Location: Location; constructor(id: any, location: any); } export declare class UsersController extends ODataController { find(): User[]; findOne(key: number): User; logout(): void; } export declare class DefTest extends ODataEntity { } export declare class DefTestController extends ODataController { all(): (DefTest & { id: number; key: string; value: string; })[]; one(key: any): DefTest & { id: any; key: string; value: string; }; } export declare class HeaderTestEntity { Id: number; } export declare class HeaderTestEntityController extends ODataController { findAll(ctx: ODataHttpContext, ___: any, ____: ODataProcessor): any[]; findOneByKeys(key: number, ctx: ODataHttpContext): {}; } export declare class UpsertTestEntity { Id: number; name: string; constructor(id?: any, name?: any); } export declare class UpsertTestEntityController extends ODataController { findAll(ctx: ODataHttpContext, ___: any, ____: ODataProcessor): UpsertTestEntity[]; findOneByKeys(id: number, ctx: ODataHttpContext): UpsertTestEntity; put(body: any): UpsertTestEntity; } export declare class DefTestServer extends ODataServer { } export declare class HiddenController extends ODataController { } export declare class TestServer extends ODataServer { ActionImport(): Promise<{}>; ActionImportParams(value: number): void; FunctionImport(value: number): string; FunctionImportMore(message: string, value: number): string; SetStatusCode(ctx: ODataHttpContext): string; SetStatusCode2(ctx: ODataHttpContext): void; } export declare class AuthenticationServer extends ODataServer { echo(message: string): string; } export declare class ProductServer extends ODataServer { } export declare class CategoryServer extends ODataServer { } export declare class NoServer extends ODataServer { }