Skip to content

Commit

Permalink
- removes strings for operations names
Browse files Browse the repository at this point in the history
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
  • Loading branch information
baywet committed Jan 19, 2024
1 parent 9ffc898 commit f632165
Show file tree
Hide file tree
Showing 47 changed files with 220 additions and 189 deletions.
47 changes: 39 additions & 8 deletions packages/abstractions/src/apiClientProxifier.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,34 @@ import type {
Parsable,
ParsableFactory,
} from "./serialization";

function getRequestMetadata(key: string): string {
if (key.startsWith("to")) {
return key.substring(2).replace("RequestInformation", "").toLowerCase();
function sanitizeMethodName(methodName: string): string {
if (methodName.startsWith("to")) {
return methodName
.substring(2)
.replace("RequestInformation", "")
.toLowerCase();
}
return methodName;
}
function getRequestMethod(key: string): keyof RequestsMetadata {
switch (sanitizeMethodName(key)) {
case "delete":
return "delete";
case "get":
return "get";
case "head":
return "head";
case "options":
return "options";
case "patch":
return "patch";
case "post":
return "post";
case "put":
return "put";
default:
throw new Error(`couldn't find request method for ${key}`);
}
return key;
}

function toRequestInformation<QueryParametersType extends object>(
Expand Down Expand Up @@ -161,7 +183,7 @@ export function apiClientProxifier<T extends object>(
pathParameters: Record<string, unknown>,
urlTemplate: string,
navigationMetadata?: Record<string, NavigationMetadata>,
requestsMetadata?: Record<string, RequestMetadata>,
requestsMetadata?: RequestsMetadata,
): T {
if (!requestAdapter) throw new Error("requestAdapter cannot be undefined");
if (!pathParameters) throw new Error("pathParameters cannot be undefined");
Expand All @@ -182,7 +204,7 @@ export function apiClientProxifier<T extends object>(
};
}
if (requestsMetadata) {
const metadata = requestsMetadata[getRequestMetadata(name)];
const metadata = requestsMetadata[getRequestMethod(name)];
if (metadata) {
switch (name) {
case "get":
Expand Down Expand Up @@ -390,10 +412,19 @@ export interface RequestMetadata {
requestInformationContentSetMethod?: keyof RequestInformationSetContent;
queryParametersMapper?: Record<string, string>;
}
export interface RequestsMetadata {
delete?: RequestMetadata;
get?: RequestMetadata;
head?: RequestMetadata;
options?: RequestMetadata;
patch?: RequestMetadata;
post?: RequestMetadata;
put?: RequestMetadata;
}

export interface NavigationMetadata {
uriTemplate: string;
requestsMetadata?: Record<string, RequestMetadata>;
requestsMetadata?: RequestsMetadata;
navigationMetadata?: Record<string, NavigationMetadata>;
pathParametersMappings?: string[];
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import { createInferenceClassificationFromDiscriminatorValue, serializeInferenceClassification, type InferenceClassification } from '../../../models/';
import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../models/oDataErrors/';
import { OverridesRequestBuilderNavigationMetadata, OverridesRequestBuilderRequestsMetadata, OverridesRequestBuilderUriTemplate, type OverridesRequestBuilder } from './overrides/';
import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestMetadata } from '@microsoft/kiota-abstractions';
import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions';

/**
* Builds and executes requests for operations under /users/{user-id}/inferenceClassification
Expand Down Expand Up @@ -69,8 +69,8 @@ export const InferenceClassificationRequestBuilderNavigationMetadata: Record<Exc
/**
* Metadata for all the requests in the request builder.
*/
export const InferenceClassificationRequestBuilderRequestsMetadata: Record<string, RequestMetadata> = {
"get": {
export const InferenceClassificationRequestBuilderRequestsMetadata: RequestsMetadata = {
get: {
responseBodyContentType: "application/json",
errorMappings: {
"4XX": createODataErrorFromDiscriminatorValue,
Expand All @@ -80,7 +80,7 @@ export const InferenceClassificationRequestBuilderRequestsMetadata: Record<strin
responseBodyFactory: createInferenceClassificationFromDiscriminatorValue,
queryParametersMapper: InferenceClassificationRequestBuilderGetQueryParametersMapper,
},
"patch": {
patch: {
responseBodyContentType: "application/json",
errorMappings: {
"4XX": createODataErrorFromDiscriminatorValue,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
/* eslint-disable */
// Generated by Microsoft Kiota
import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../models/oDataErrors/';
import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestMetadata } from '@microsoft/kiota-abstractions';
import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions';

/**
* Builds and executes requests for operations under /users/{user-id}/inferenceClassification/overrides/$count
Expand Down Expand Up @@ -39,8 +39,8 @@ const CountRequestBuilderGetQueryParametersMapper: Record<string, string> = {
/**
* Metadata for all the requests in the request builder.
*/
export const CountRequestBuilderRequestsMetadata: Record<string, RequestMetadata> = {
"get": {
export const CountRequestBuilderRequestsMetadata: RequestsMetadata = {
get: {
responseBodyContentType: "text/plain;q=0.9",
errorMappings: {
"4XX": createODataErrorFromDiscriminatorValue,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { createInferenceClassificationOverrideCollectionResponseFromDiscriminato
import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../models/oDataErrors/';
import { CountRequestBuilderRequestsMetadata, CountRequestBuilderUriTemplate, type CountRequestBuilder } from './count/';
import { InferenceClassificationOverrideItemRequestBuilderRequestsMetadata, InferenceClassificationOverrideItemRequestBuilderUriTemplate, type InferenceClassificationOverrideItemRequestBuilder } from './item/';
import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestMetadata } from '@microsoft/kiota-abstractions';
import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions';

/**
* Builds and executes requests for operations under /users/{user-id}/inferenceClassification/overrides
Expand Down Expand Up @@ -107,8 +107,8 @@ export const OverridesRequestBuilderNavigationMetadata: Record<Exclude<keyof Ove
/**
* Metadata for all the requests in the request builder.
*/
export const OverridesRequestBuilderRequestsMetadata: Record<string, RequestMetadata> = {
"get": {
export const OverridesRequestBuilderRequestsMetadata: RequestsMetadata = {
get: {
responseBodyContentType: "application/json",
errorMappings: {
"4XX": createODataErrorFromDiscriminatorValue,
Expand All @@ -118,7 +118,7 @@ export const OverridesRequestBuilderRequestsMetadata: Record<string, RequestMeta
responseBodyFactory: createInferenceClassificationOverrideCollectionResponseFromDiscriminatorValue,
queryParametersMapper: OverridesRequestBuilderGetQueryParametersMapper,
},
"post": {
post: {
responseBodyContentType: "application/json",
errorMappings: {
"4XX": createODataErrorFromDiscriminatorValue,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// Generated by Microsoft Kiota
import { createInferenceClassificationOverrideFromDiscriminatorValue, serializeInferenceClassificationOverride, type InferenceClassificationOverride } from '../../../../../models/';
import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../models/oDataErrors/';
import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestMetadata } from '@microsoft/kiota-abstractions';
import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions';

/**
* Builds and executes requests for operations under /users/{user-id}/inferenceClassification/overrides/{inferenceClassificationOverride-id}
Expand Down Expand Up @@ -68,8 +68,8 @@ const InferenceClassificationOverrideItemRequestBuilderGetQueryParametersMapper:
/**
* Metadata for all the requests in the request builder.
*/
export const InferenceClassificationOverrideItemRequestBuilderRequestsMetadata: Record<string, RequestMetadata> = {
"delete": {
export const InferenceClassificationOverrideItemRequestBuilderRequestsMetadata: RequestsMetadata = {
delete: {
responseBodyContentType: "application/json",
errorMappings: {
"4XX": createODataErrorFromDiscriminatorValue,
Expand All @@ -78,7 +78,7 @@ export const InferenceClassificationOverrideItemRequestBuilderRequestsMetadata:
adapterMethodName: "sendPrimitiveAsync",
responseBodyFactory: "ArrayBuffer",
},
"get": {
get: {
responseBodyContentType: "application/json",
errorMappings: {
"4XX": createODataErrorFromDiscriminatorValue,
Expand All @@ -88,7 +88,7 @@ export const InferenceClassificationOverrideItemRequestBuilderRequestsMetadata:
responseBodyFactory: createInferenceClassificationOverrideFromDiscriminatorValue,
queryParametersMapper: InferenceClassificationOverrideItemRequestBuilderGetQueryParametersMapper,
},
"patch": {
patch: {
responseBodyContentType: "application/json",
errorMappings: {
"4XX": createODataErrorFromDiscriminatorValue,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
/* eslint-disable */
// Generated by Microsoft Kiota
import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../models/oDataErrors/';
import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestMetadata } from '@microsoft/kiota-abstractions';
import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions';

/**
* Builds and executes requests for operations under /users/{user-id}/mailFolders/$count
Expand Down Expand Up @@ -39,8 +39,8 @@ const CountRequestBuilderGetQueryParametersMapper: Record<string, string> = {
/**
* Metadata for all the requests in the request builder.
*/
export const CountRequestBuilderRequestsMetadata: Record<string, RequestMetadata> = {
"get": {
export const CountRequestBuilderRequestsMetadata: RequestsMetadata = {
get: {
responseBodyContentType: "text/plain;q=0.9",
errorMappings: {
"4XX": createODataErrorFromDiscriminatorValue,
Expand Down
8 changes: 4 additions & 4 deletions packages/test/generatedCode/users/item/mailFolders/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { createMailFolderCollectionResponseFromDiscriminatorValue, createMailFol
import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../models/oDataErrors/';
import { CountRequestBuilderRequestsMetadata, CountRequestBuilderUriTemplate, type CountRequestBuilder } from './count/';
import { MailFolderItemRequestBuilderNavigationMetadata, MailFolderItemRequestBuilderRequestsMetadata, MailFolderItemRequestBuilderUriTemplate, type MailFolderItemRequestBuilder } from './item/';
import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestMetadata } from '@microsoft/kiota-abstractions';
import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions';

/**
* Builds and executes requests for operations under /users/{user-id}/mailFolders
Expand Down Expand Up @@ -117,8 +117,8 @@ export const MailFoldersRequestBuilderNavigationMetadata: Record<Exclude<keyof M
/**
* Metadata for all the requests in the request builder.
*/
export const MailFoldersRequestBuilderRequestsMetadata: Record<string, RequestMetadata> = {
"get": {
export const MailFoldersRequestBuilderRequestsMetadata: RequestsMetadata = {
get: {
responseBodyContentType: "application/json",
errorMappings: {
"4XX": createODataErrorFromDiscriminatorValue,
Expand All @@ -128,7 +128,7 @@ export const MailFoldersRequestBuilderRequestsMetadata: Record<string, RequestMe
responseBodyFactory: createMailFolderCollectionResponseFromDiscriminatorValue,
queryParametersMapper: MailFoldersRequestBuilderGetQueryParametersMapper,
},
"post": {
post: {
responseBodyContentType: "application/json",
errorMappings: {
"4XX": createODataErrorFromDiscriminatorValue,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
/* eslint-disable */
// Generated by Microsoft Kiota
import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../models/oDataErrors/';
import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestMetadata } from '@microsoft/kiota-abstractions';
import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions';

/**
* Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/childFolders/$count
Expand Down Expand Up @@ -39,8 +39,8 @@ const CountRequestBuilderGetQueryParametersMapper: Record<string, string> = {
/**
* Metadata for all the requests in the request builder.
*/
export const CountRequestBuilderRequestsMetadata: Record<string, RequestMetadata> = {
"get": {
export const CountRequestBuilderRequestsMetadata: RequestsMetadata = {
get: {
responseBodyContentType: "text/plain;q=0.9",
errorMappings: {
"4XX": createODataErrorFromDiscriminatorValue,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { createMailFolderCollectionResponseFromDiscriminatorValue, createMailFol
import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../models/oDataErrors/';
import { CountRequestBuilderRequestsMetadata, CountRequestBuilderUriTemplate, type CountRequestBuilder } from './count/';
import { MailFolderItemRequestBuilderNavigationMetadata, MailFolderItemRequestBuilderRequestsMetadata, MailFolderItemRequestBuilderUriTemplate, type MailFolderItemRequestBuilder } from './item/';
import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestMetadata } from '@microsoft/kiota-abstractions';
import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions';

/**
* Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/childFolders
Expand Down Expand Up @@ -117,8 +117,8 @@ export const ChildFoldersRequestBuilderNavigationMetadata: Record<Exclude<keyof
/**
* Metadata for all the requests in the request builder.
*/
export const ChildFoldersRequestBuilderRequestsMetadata: Record<string, RequestMetadata> = {
"get": {
export const ChildFoldersRequestBuilderRequestsMetadata: RequestsMetadata = {
get: {
responseBodyContentType: "application/json",
errorMappings: {
"4XX": createODataErrorFromDiscriminatorValue,
Expand All @@ -128,7 +128,7 @@ export const ChildFoldersRequestBuilderRequestsMetadata: Record<string, RequestM
responseBodyFactory: createMailFolderCollectionResponseFromDiscriminatorValue,
queryParametersMapper: ChildFoldersRequestBuilderGetQueryParametersMapper,
},
"post": {
post: {
responseBodyContentType: "application/json",
errorMappings: {
"4XX": createODataErrorFromDiscriminatorValue,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { createMailFolderFromDiscriminatorValue, serializeMailFolder, type MailF
import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../models/oDataErrors/';
import { MessageRulesRequestBuilderNavigationMetadata, MessageRulesRequestBuilderRequestsMetadata, MessageRulesRequestBuilderUriTemplate, type MessageRulesRequestBuilder } from './messageRules/';
import { MessagesRequestBuilderNavigationMetadata, MessagesRequestBuilderRequestsMetadata, MessagesRequestBuilderUriTemplate, type MessagesRequestBuilder } from './messages/';
import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestMetadata } from '@microsoft/kiota-abstractions';
import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions';

/**
* Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/childFolders/{mailFolder-id1}
Expand Down Expand Up @@ -100,8 +100,8 @@ export const MailFolderItemRequestBuilderNavigationMetadata: Record<Exclude<keyo
/**
* Metadata for all the requests in the request builder.
*/
export const MailFolderItemRequestBuilderRequestsMetadata: Record<string, RequestMetadata> = {
"delete": {
export const MailFolderItemRequestBuilderRequestsMetadata: RequestsMetadata = {
delete: {
responseBodyContentType: "application/json",
errorMappings: {
"4XX": createODataErrorFromDiscriminatorValue,
Expand All @@ -110,7 +110,7 @@ export const MailFolderItemRequestBuilderRequestsMetadata: Record<string, Reques
adapterMethodName: "sendPrimitiveAsync",
responseBodyFactory: "ArrayBuffer",
},
"get": {
get: {
responseBodyContentType: "application/json",
errorMappings: {
"4XX": createODataErrorFromDiscriminatorValue,
Expand All @@ -120,7 +120,7 @@ export const MailFolderItemRequestBuilderRequestsMetadata: Record<string, Reques
responseBodyFactory: createMailFolderFromDiscriminatorValue,
queryParametersMapper: MailFolderItemRequestBuilderGetQueryParametersMapper,
},
"patch": {
patch: {
responseBodyContentType: "application/json",
errorMappings: {
"4XX": createODataErrorFromDiscriminatorValue,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
/* eslint-disable */
// Generated by Microsoft Kiota
import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../../../models/oDataErrors/';
import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestMetadata } from '@microsoft/kiota-abstractions';
import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions';

/**
* Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/childFolders/{mailFolder-id1}/messageRules/$count
Expand Down Expand Up @@ -39,8 +39,8 @@ const CountRequestBuilderGetQueryParametersMapper: Record<string, string> = {
/**
* Metadata for all the requests in the request builder.
*/
export const CountRequestBuilderRequestsMetadata: Record<string, RequestMetadata> = {
"get": {
export const CountRequestBuilderRequestsMetadata: RequestsMetadata = {
get: {
responseBodyContentType: "text/plain;q=0.9",
errorMappings: {
"4XX": createODataErrorFromDiscriminatorValue,
Expand Down
Loading

0 comments on commit f632165

Please sign in to comment.