From 7488c8df111b63863dfd034b2bd3c19fb030f4c4 Mon Sep 17 00:00:00 2001 From: Matthew Hill Date: Mon, 29 Jun 2015 23:21:37 +0100 Subject: [PATCH] extends restangular IProvider in IService interface --- restangular/restangular-tests.ts | 44 ++++++++++++++++++++++++++++++++ restangular/restangular.d.ts | 2 +- 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/restangular/restangular-tests.ts b/restangular/restangular-tests.ts index 82dfcd8059..33c46a4212 100644 --- a/restangular/restangular-tests.ts +++ b/restangular/restangular-tests.ts @@ -81,6 +81,50 @@ myApp.controller('TestCtrl', ( Restangular.one('accounts', 123).one('buildings', 456).get(); Restangular.one('accounts', 123).getList('buildings'); Restangular.one('accounts', 123).getList('buildings'); + + Restangular.setBaseUrl('/api/v1'); + Restangular.setExtraFields(['name']); + Restangular.setResponseExtractor(function (response, operation) { + return response.data; + }); + + Restangular.setDefaultHttpFields({ cache: true }); + Restangular.setMethodOverriders(["put", "patch"]); + + Restangular.setErrorInterceptor(function (response) { + console.error('' + response.status + ' ' + response.data); + }); + + Restangular.setRequestSuffix('.json'); + + Restangular.setRequestInterceptor(function (element, operation, route, url) { + }); + + Restangular.addElementTransformer('accounts', false, function (elem: any) { + elem.accountName = 'Changed'; + return elem; + }); + + Restangular.setRestangularFields({ + id: "_id", + route: "restangularRoute", + selfLink: "self.href" + }); + + Restangular.addRequestInterceptor(function(element, operation, route, url) { + delete element.name; + return element; + }); + + Restangular.setFullRequestInterceptor(function(element, operation, route, url, headers, params, httpConfig) { + delete element.name; + return { + element: element, + params: params, + headers: headers, + httpConfig: httpConfig + }; + }); var accountData = Restangular.one('accounts', 123).plain(); var accountClone: restangular.IElement = Restangular.one('accounts', 123).clone(); diff --git a/restangular/restangular.d.ts b/restangular/restangular.d.ts index 4f48101d8f..5b19cdad79 100644 --- a/restangular/restangular.d.ts +++ b/restangular/restangular.d.ts @@ -83,7 +83,7 @@ declare module restangular { addRestangularMethod(name: string, operation: string, path?: string, params?: any, headers?: any, elem?: any): IPromise; } - interface IService extends ICustom { + interface IService extends ICustom, IProvider { one(route: string, id?: number): IElement; one(route: string, id?: string): IElement; oneUrl(route: string, url: string): IElement;