diff --git a/apps/meteor/app/api/server/ApiClass.ts b/apps/meteor/app/api/server/ApiClass.ts index 7d171cd944c..24fc53910ed 100644 --- a/apps/meteor/app/api/server/ApiClass.ts +++ b/apps/meteor/app/api/server/ApiClass.ts @@ -78,13 +78,13 @@ export type ExtractRoutesFromAPI = Prettify< type ConvertToRoute = { [K in TRoute['path']]: { - [K2 in Extract['method']]: K2 extends 'GET' + [K2 in Extract['method']]: K2 extends 'GET' | 'DELETE' ? ( ...args: [ExtractValidation['query']>] extends [never] ? [params?: never] : [params: ExtractValidation['query']>] ) => ExtractValidation['response'][200]> - : K2 extends 'POST' + : K2 extends 'POST' | 'PUT' ? ( params: ExtractValidation['body']>, ) => ExtractValidation< @@ -704,6 +704,12 @@ export class APIClass< method: 'PUT'; path: TPathPattern; } & Omit) + | Prettify< + { + method: 'PUT'; + path: TPathPattern; + } & TOptions + > > { return this.method('PUT', subpath, options, action); } @@ -719,6 +725,12 @@ export class APIClass< method: 'DELETE'; path: TPathPattern; } & Omit) + | Prettify< + { + method: 'DELETE'; + path: TPathPattern; + } & TOptions + > > { return this.method('DELETE', subpath, options, action); }