@@ -6,6 +6,53 @@ import { IServiceResult, IServiceError } from 'facility-core';
66import { IExampleApi , IGetWidgetsRequest , IGetWidgetsResponse , ICreateWidgetRequest , ICreateWidgetResponse , IGetWidgetRequest , IGetWidgetResponse , IDeleteWidgetRequest , IDeleteWidgetResponse , IEditWidgetRequest , IEditWidgetResponse , IGetWidgetBatchRequest , IGetWidgetBatchResponse , IGetWidgetWeightRequest , IGetWidgetWeightResponse , IGetPreferenceRequest , IGetPreferenceResponse , ISetPreferenceRequest , ISetPreferenceResponse , IGetInfoRequest , IGetInfoResponse , INotRestfulRequest , INotRestfulResponse , IKitchenRequest , IKitchenResponse , IWidget , IWidgetJob , IPreference , IObsoleteData , IKitchenSink } from './exampleApiTypes' ;
77export * from './exampleApiTypes' ;
88
9+ export interface IRequestContext {
10+ request : express . Request ;
11+ response : express . Response ;
12+ }
13+
14+ declare module './exampleApiTypes' {
15+ export interface IExampleApi {
16+ /** Gets widgets. */
17+ getWidgets ( request : IGetWidgetsRequest , context ?: IRequestContext ) : Promise < IServiceResult < IGetWidgetsResponse > > ;
18+
19+ /** Creates a new widget. */
20+ createWidget ( request : ICreateWidgetRequest , context ?: IRequestContext ) : Promise < IServiceResult < ICreateWidgetResponse > > ;
21+
22+ /** Gets the specified widget. */
23+ getWidget ( request : IGetWidgetRequest , context ?: IRequestContext ) : Promise < IServiceResult < IGetWidgetResponse > > ;
24+
25+ /** Deletes the specified widget. */
26+ deleteWidget ( request : IDeleteWidgetRequest , context ?: IRequestContext ) : Promise < IServiceResult < IDeleteWidgetResponse > > ;
27+
28+ /** Edits widget. */
29+ editWidget ( request : IEditWidgetRequest , context ?: IRequestContext ) : Promise < IServiceResult < IEditWidgetResponse > > ;
30+
31+ /** Gets the specified widgets. */
32+ getWidgetBatch ( request : IGetWidgetBatchRequest , context ?: IRequestContext ) : Promise < IServiceResult < IGetWidgetBatchResponse > > ;
33+
34+ /**
35+ * Gets the widget weight.
36+ * @deprecated
37+ */
38+ getWidgetWeight ( request : IGetWidgetWeightRequest , context ?: IRequestContext ) : Promise < IServiceResult < IGetWidgetWeightResponse > > ;
39+
40+ /** Gets a widget preference. */
41+ getPreference ( request : IGetPreferenceRequest , context ?: IRequestContext ) : Promise < IServiceResult < IGetPreferenceResponse > > ;
42+
43+ /** Sets a widget preference. */
44+ setPreference ( request : ISetPreferenceRequest , context ?: IRequestContext ) : Promise < IServiceResult < ISetPreferenceResponse > > ;
45+
46+ /** Gets service info. */
47+ getInfo ( request : IGetInfoRequest , context ?: IRequestContext ) : Promise < IServiceResult < IGetInfoResponse > > ;
48+
49+ /** Demonstrates the default HTTP behavior. */
50+ notRestful ( request : INotRestfulRequest , context ?: IRequestContext ) : Promise < IServiceResult < INotRestfulResponse > > ;
51+
52+ kitchen ( request : IKitchenRequest , context ?: IRequestContext ) : Promise < IServiceResult < IKitchenResponse > > ;
53+ }
54+ }
55+
956const standardErrorCodes : { [ code : string ] : number } = {
1057 'notModified' : 304 ,
1158 'invalidRequest' : 400 ,
@@ -59,7 +106,7 @@ export function createApp(service: IExampleApi): express.Application {
59106 request . minPrice = parseFloat ( req . query [ 'minPrice' ] ) ;
60107 }
61108
62- return service . getWidgets ( request )
109+ return service . getWidgets ( request , { request : req , response : res } )
63110 . then ( result => {
64111 if ( result . error ) {
65112 const status = result . error . code && standardErrorCodes [ result . error . code ] || 500 ;
@@ -88,7 +135,7 @@ export function createApp(service: IExampleApi): express.Application {
88135 const request : ICreateWidgetRequest = { } ;
89136 request . widget = req . body ;
90137
91- return service . createWidget ( request )
138+ return service . createWidget ( request , { request : req , response : res } )
92139 . then ( result => {
93140 if ( result . error ) {
94141 const status = result . error . code && standardErrorCodes [ result . error . code ] || 500 ;
@@ -112,7 +159,7 @@ export function createApp(service: IExampleApi): express.Application {
112159 request . id = req . params . id ;
113160 request . ifNoneMatch = req . header ( 'If-None-Match' ) ;
114161
115- return service . getWidget ( request )
162+ return service . getWidget ( request , { request : req , response : res } )
116163 . then ( result => {
117164 if ( result . error ) {
118165 const status = result . error . code && standardErrorCodes [ result . error . code ] || 500 ;
@@ -142,7 +189,7 @@ export function createApp(service: IExampleApi): express.Application {
142189 const request : IDeleteWidgetRequest = { } ;
143190 request . id = req . params . id ;
144191
145- return service . deleteWidget ( request )
192+ return service . deleteWidget ( request , { request : req , response : res } )
146193 . then ( result => {
147194 if ( result . error ) {
148195 const status = result . error . code && standardErrorCodes [ result . error . code ] || 500 ;
@@ -165,7 +212,7 @@ export function createApp(service: IExampleApi): express.Application {
165212 request . ops = req . body . ops ;
166213 request . weight = req . body . weight ;
167214
168- return service . editWidget ( request )
215+ return service . editWidget ( request , { request : req , response : res } )
169216 . then ( result => {
170217 if ( result . error ) {
171218 const status = result . error . code && standardErrorCodes [ result . error . code ] || 500 ;
@@ -192,7 +239,7 @@ export function createApp(service: IExampleApi): express.Application {
192239 const request : IGetWidgetBatchRequest = { } ;
193240 request . ids = req . body ;
194241
195- return service . getWidgetBatch ( request )
242+ return service . getWidgetBatch ( request , { request : req , response : res } )
196243 . then ( result => {
197244 if ( result . error ) {
198245 const status = result . error . code && standardErrorCodes [ result . error . code ] || 500 ;
@@ -218,7 +265,7 @@ export function createApp(service: IExampleApi): express.Application {
218265 const request : IGetWidgetWeightRequest = { } ;
219266 request . id = req . params . id ;
220267
221- return service . getWidgetWeight ( request )
268+ return service . getWidgetWeight ( request , { request : req , response : res } )
222269 . then ( result => {
223270 if ( result . error ) {
224271 const status = result . error . code && standardErrorCodes [ result . error . code ] || 500 ;
@@ -241,7 +288,7 @@ export function createApp(service: IExampleApi): express.Application {
241288 const request : IGetPreferenceRequest = { } ;
242289 request . key = req . params . key ;
243290
244- return service . getPreference ( request )
291+ return service . getPreference ( request , { request : req , response : res } )
245292 . then ( result => {
246293 if ( result . error ) {
247294 const status = result . error . code && standardErrorCodes [ result . error . code ] || 500 ;
@@ -265,7 +312,7 @@ export function createApp(service: IExampleApi): express.Application {
265312 request . key = req . params . key ;
266313 request . value = req . body ;
267314
268- return service . setPreference ( request )
315+ return service . setPreference ( request , { request : req , response : res } )
269316 . then ( result => {
270317 if ( result . error ) {
271318 const status = result . error . code && standardErrorCodes [ result . error . code ] || 500 ;
@@ -287,7 +334,7 @@ export function createApp(service: IExampleApi): express.Application {
287334 app . get ( '/' , function ( req , res , next ) {
288335 const request : IGetInfoRequest = { } ;
289336
290- return service . getInfo ( request )
337+ return service . getInfo ( request , { request : req , response : res } )
291338 . then ( result => {
292339 if ( result . error ) {
293340 const status = result . error . code && standardErrorCodes [ result . error . code ] || 500 ;
@@ -309,7 +356,7 @@ export function createApp(service: IExampleApi): express.Application {
309356 app . post ( '/notRestful' , function ( req , res , next ) {
310357 const request : INotRestfulRequest = { } ;
311358
312- return service . notRestful ( request )
359+ return service . notRestful ( request , { request : req , response : res } )
313360 . then ( result => {
314361 if ( result . error ) {
315362 const status = result . error . code && standardErrorCodes [ result . error . code ] || 500 ;
@@ -329,7 +376,7 @@ export function createApp(service: IExampleApi): express.Application {
329376 const request : IKitchenRequest = { } ;
330377 request . sink = req . body . sink ;
331378
332- return service . kitchen ( request )
379+ return service . kitchen ( request , { request : req , response : res } )
333380 . then ( result => {
334381 if ( result . error ) {
335382 const status = result . error . code && standardErrorCodes [ result . error . code ] || 500 ;
0 commit comments