diff --git a/.github/workflows/build_test_validate.yml b/.github/workflows/build_test_validate.yml index 3fe11f223..32e1528b2 100644 --- a/.github/workflows/build_test_validate.yml +++ b/.github/workflows/build_test_validate.yml @@ -46,6 +46,7 @@ jobs: TENANT_ID: ${{secrets.tenant_id}} CLIENT_ID: ${{secrets.client_id}} CLIENT_SECRET: ${{secrets.client_secret}} + USER_ID: "813956a3-4a30-4596-914f-bfd86a657a09" - run: yarn lerna run test --parallel publish-npm: diff --git a/package.json b/package.json index ce867014f..1eaffa2f8 100644 --- a/package.json +++ b/package.json @@ -39,11 +39,11 @@ "packages/authentication/*" ], "scripts": { - "build": "npm run build:cjs && npm run build:es", + "build": "npm run build:cjs && npm run build:esm", "build:watch": "npm run build:watch:cjs & npm run build:watch:es", "build:cjs": "tsc -b packages/test/tsconfig.cjs.json", "build:watch:cjs": "tsc -b packages/test/tsconfig.cjs.json -w", - "build:es": "tsc -b packages/test/tsconfig.es.json", + "build:esm": "tsc -b packages/test/tsconfig.es.json", "build:sdk": "npm run build:sdk:es && npm run build:sdk:cjs", "build:sdk:es": "tsc -b packages/test/tsconfig.sdk.es.json", "build:sdk:cjs": "tsc -b packages/test/tsconfig.sdk.cjs.json", diff --git a/packages/abstractions/package.json b/packages/abstractions/package.json index 814ec3317..b93bd7d41 100644 --- a/packages/abstractions/package.json +++ b/packages/abstractions/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/kiota-abstractions", - "version": "1.0.0-preview.36", + "version": "1.0.0-preview.37", "description": "Core abstractions for kiota generated libraries in TypeScript and JavaScript", "main": "dist/cjs/src/index.js", "module": "dist/es/src/index.js", diff --git a/packages/abstractions/src/apiClientProxifier.ts b/packages/abstractions/src/apiClientProxifier.ts new file mode 100644 index 000000000..3d96c5003 --- /dev/null +++ b/packages/abstractions/src/apiClientProxifier.ts @@ -0,0 +1,447 @@ +import { getPathParameters } from "./getPathParameters"; +import { HttpMethod } from "./httpMethod"; +import type { + ErrorMappings, + PrimitiveTypesForDeserialization, + PrimitiveTypesForDeserializationType, + RequestAdapter, +} from "./requestAdapter"; +import type { RequestConfiguration } from "./requestConfiguration"; +import { + RequestInformation, + type RequestInformationSetContent, +} from "./requestInformation"; +import type { + ModelSerializerFunction, + Parsable, + ParsableFactory, +} from "./serialization"; +function sanitizeMethodName(methodName: string): string { + if (methodName.startsWith("to")) { + return methodName + .substring(2) + .replace("RequestInformation", "") + .toLowerCase(); + } + return methodName; +} +function getRequestMethod(key: string): KeysOfRequestsMetadata | undefined { + 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: + return undefined; + } +} + +function toRequestInformation( + urlTemplate: string, + pathParameters: Record, + metadata: RequestMetadata, + requestAdapter: RequestAdapter, + httpMethod: HttpMethod, + body: unknown | ArrayBuffer | undefined, + bodyMediaType: string | undefined, + requestConfiguration: RequestConfiguration | undefined, +): RequestInformation { + const requestInfo = new RequestInformation( + httpMethod, + urlTemplate, + pathParameters, + ); + requestInfo.configure(requestConfiguration, metadata.queryParametersMapper); + addAcceptHeaderIfPresent(metadata, requestInfo); + if (metadata.requestBodySerializer) { + if (!body) throw new Error("body cannot be undefined"); + if (typeof metadata.requestBodySerializer === "function") { + requestInfo.setContentFromParsable( + requestAdapter, + metadata.requestBodyContentType + ? metadata.requestBodyContentType + : bodyMediaType, + body, + metadata.requestBodySerializer, + ); + } else { + requestInfo.setContentFromScalar( + requestAdapter, + metadata.requestBodyContentType + ? metadata.requestBodyContentType + : bodyMediaType, + body as PrimitiveTypesForDeserializationType, + ); + } + } else if ( + metadata.requestInformationContentSetMethod === "setStreamContent" + ) { + if (!body) throw new Error("body cannot be undefined"); + requestInfo.setStreamContent( + body as ArrayBuffer, + metadata.requestBodyContentType + ? metadata.requestBodyContentType + : bodyMediaType, + ); + } + return requestInfo; +} +function addAcceptHeaderIfPresent( + metadata: RequestMetadata, + requestInfo: RequestInformation, +): void { + if (metadata.responseBodyContentType) { + requestInfo.headers.tryAdd("Accept", metadata.responseBodyContentType); + } +} +function getRequestMediaTypeUserDefinedValue( + requestMetadata: RequestMetadata, + args: any[], +) { + if ( + args.length > 2 && + !requestMetadata.requestBodySerializer && + requestMetadata.requestInformationContentSetMethod === "setStreamContent" + ) { + // request body with unknown media type so we have an argument for it. + return args[1]; + } + return undefined; +} +function getRequestConfigurationValue(args: any[]) { + if (args.length > 0) { + // request configuration is always the last argument + return args[args.length - 1]; + } + return undefined; +} +function sendAsync( + requestAdapter: RequestAdapter, + requestInfo: RequestInformation, + metadata: RequestMetadata, +) { + switch (metadata.adapterMethodName) { + case "sendAsync": + if (!metadata.responseBodyFactory) { + throw new Error("couldn't find response body factory"); + } + return requestAdapter.sendAsync( + requestInfo, + metadata.responseBodyFactory as ParsableFactory, + metadata.errorMappings, + ); + case "sendCollectionAsync": + if (!metadata.responseBodyFactory) { + throw new Error("couldn't find response body factory"); + } + return requestAdapter.sendCollectionAsync( + requestInfo, + metadata.responseBodyFactory as ParsableFactory, + metadata.errorMappings, + ); + case "sendCollectionOfPrimitiveAsync": + if (!metadata.responseBodyFactory) { + throw new Error("couldn't find response body factory"); + } + return requestAdapter.sendCollectionOfPrimitiveAsync( + requestInfo, + metadata.responseBodyFactory as Exclude< + PrimitiveTypesForDeserialization, + "ArrayBuffer" + >, + metadata.errorMappings, + ); + case "sendPrimitiveAsync": + if (!metadata.responseBodyFactory) { + throw new Error("couldn't find response body factory"); + } + return requestAdapter.sendPrimitiveAsync( + requestInfo, + metadata.responseBodyFactory as PrimitiveTypesForDeserialization, + metadata.errorMappings, + ); + case "sendNoResponseContentAsync": + return requestAdapter.sendNoResponseContentAsync( + requestInfo, + metadata.errorMappings, + ); + default: + throw new Error("couldn't find adapter method"); + } +} +export function apiClientProxifier( + requestAdapter: RequestAdapter, + pathParameters: Record, + urlTemplate: string, + navigationMetadata?: Record, + requestsMetadata?: RequestsMetadata, +): T { + if (!requestAdapter) throw new Error("requestAdapter cannot be undefined"); + if (!pathParameters) throw new Error("pathParameters cannot be undefined"); + if (!urlTemplate) throw new Error("urlTemplate cannot be undefined"); + return new Proxy({} as T, { + get(target, property) { + const name = String(property); + if (name === "withUrl") { + return (rawUrl: string) => { + if (!rawUrl) throw new Error("rawUrl cannot be undefined"); + return apiClientProxifier( + requestAdapter, + getPathParameters(rawUrl), + urlTemplate, + navigationMetadata, + requestsMetadata, + ); + }; + } + if (requestsMetadata) { + const metadataKey = getRequestMethod(name); + if (metadataKey) { + const metadata = requestsMetadata[metadataKey]; + if (metadata) { + switch (name) { + case "get": + return ( + requestConfiguration?: RequestConfiguration | undefined, + ) => { + const requestInfo = toRequestInformation( + urlTemplate, + pathParameters, + metadata, + requestAdapter, + HttpMethod.GET, + undefined, + undefined, + requestConfiguration, + ); + return sendAsync(requestAdapter, requestInfo, metadata); + }; + case "patch": + return (...args: any[]) => { + const requestInfo = toRequestInformation( + urlTemplate, + pathParameters, + metadata, + requestAdapter, + HttpMethod.PATCH, + args.length > 0 ? args[0] : undefined, + getRequestMediaTypeUserDefinedValue(metadata, args), + getRequestConfigurationValue(args), + ); + return sendAsync(requestAdapter, requestInfo, metadata); + }; + case "put": + return (...args: any[]) => { + const requestInfo = toRequestInformation( + urlTemplate, + pathParameters, + metadata, + requestAdapter, + HttpMethod.PUT, + args.length > 0 ? args[0] : undefined, + getRequestMediaTypeUserDefinedValue(metadata, args), + getRequestConfigurationValue(args), + ); + return sendAsync(requestAdapter, requestInfo, metadata); + }; + case "delete": + return (...args: any[]) => { + const requestInfo = toRequestInformation( + urlTemplate, + pathParameters, + metadata, + requestAdapter, + HttpMethod.DELETE, + args.length > 0 ? args[0] : undefined, + getRequestMediaTypeUserDefinedValue(metadata, args), + getRequestConfigurationValue(args), + ); + return sendAsync(requestAdapter, requestInfo, metadata); + }; + case "post": + return (...args: any[]) => { + const requestInfo = toRequestInformation( + urlTemplate, + pathParameters, + metadata, + requestAdapter, + HttpMethod.POST, + args.length > 0 ? args[0] : undefined, + getRequestMediaTypeUserDefinedValue(metadata, args), + getRequestConfigurationValue(args), + ); + return sendAsync(requestAdapter, requestInfo, metadata); + }; + case "toGetRequestInformation": + return (requestConfiguration?: RequestConfiguration) => { + return toRequestInformation( + urlTemplate, + pathParameters, + metadata, + requestAdapter, + HttpMethod.GET, + undefined, + undefined, + requestConfiguration, + ); + }; + case "toPatchRequestInformation": + return (...args: any[]) => { + return toRequestInformation( + urlTemplate, + pathParameters, + metadata, + requestAdapter, + HttpMethod.PATCH, + args.length > 0 ? args[0] : undefined, + getRequestMediaTypeUserDefinedValue(metadata, args), + getRequestConfigurationValue(args), + ); + }; + case "toPutRequestInformation": + return (...args: any[]) => { + return toRequestInformation( + urlTemplate, + pathParameters, + metadata, + requestAdapter, + HttpMethod.PUT, + args.length > 0 ? args[0] : undefined, + getRequestMediaTypeUserDefinedValue(metadata, args), + getRequestConfigurationValue(args), + ); + }; + case "toDeleteRequestInformation": + return (...args: any[]) => { + return toRequestInformation( + urlTemplate, + pathParameters, + metadata, + requestAdapter, + HttpMethod.DELETE, + args.length > 0 ? args[0] : undefined, + getRequestMediaTypeUserDefinedValue(metadata, args), + getRequestConfigurationValue(args), + ); + }; + case "toPostRequestInformation": + return (...args: any[]) => { + return toRequestInformation( + urlTemplate, + pathParameters, + metadata, + requestAdapter, + HttpMethod.POST, + args.length > 0 ? args[0] : undefined, + getRequestMediaTypeUserDefinedValue(metadata, args), + getRequestConfigurationValue(args), + ); + }; + default: + break; + } + } + } + } + if (navigationMetadata) { + const navigationCandidate = navigationMetadata[name]; + if (navigationCandidate) { + if ( + !navigationCandidate.pathParametersMappings || + navigationCandidate.pathParametersMappings.length === 0 + ) { + // navigation property + return apiClientProxifier( + requestAdapter, + getPathParameters(pathParameters), + navigationCandidate.uriTemplate, + navigationCandidate.navigationMetadata, + navigationCandidate.requestsMetadata, + ); + } + return (...argArray: any[]) => { + // navigation method like indexers or multiple path parameters + const downWardPathParameters = getPathParameters(pathParameters); + if ( + navigationCandidate.pathParametersMappings && + navigationCandidate.pathParametersMappings.length > 0 + ) { + for (let i = 0; i < argArray.length; i++) { + const element = argArray[i]; + downWardPathParameters[ + navigationCandidate.pathParametersMappings[i] + ] = element; + } + } + return apiClientProxifier( + requestAdapter, + downWardPathParameters, + navigationCandidate.uriTemplate, + navigationCandidate.navigationMetadata, + navigationCandidate.requestsMetadata, + ); + }; + } + throw new Error( + `couldn't find navigation property ${name} data: ${JSON.stringify( + navigationMetadata, + )}`, + ); + } + }, + }); +} + +export interface RequestMetadata { + requestBodyContentType?: string; + responseBodyContentType?: string; + errorMappings?: ErrorMappings; + adapterMethodName?: keyof RequestAdapter; + responseBodyFactory?: + | ParsableFactory + | PrimitiveTypesForDeserialization; + requestBodySerializer?: + | ModelSerializerFunction + | PrimitiveTypesForDeserialization; + requestInformationContentSetMethod?: keyof RequestInformationSetContent; + queryParametersMapper?: Record; +} +export interface RequestsMetadata { + delete?: RequestMetadata; + get?: RequestMetadata; + head?: RequestMetadata; + options?: RequestMetadata; + patch?: RequestMetadata; + post?: RequestMetadata; + put?: RequestMetadata; +} + +type KeysOfRequestsMetadata = keyof RequestsMetadata; + +export interface NavigationMetadata { + uriTemplate: string; + requestsMetadata?: RequestsMetadata; + navigationMetadata?: Record; + pathParametersMappings?: string[]; +} + +export type KeysToExcludeForNavigationMetadata = + | KeysOfRequestsMetadata + | "toDeleteRequestInformation" + | "toGetRequestInformation" + | "toHeadRequestInformation" + | "toOptionsRequestInformation" + | "toPatchRequestInformation" + | "toPostRequestInformation" + | "toPutRequestInformation" + | "withUrl"; diff --git a/packages/abstractions/src/baseRequestBuilder.ts b/packages/abstractions/src/baseRequestBuilder.ts index 939faa474..92915c9f7 100644 --- a/packages/abstractions/src/baseRequestBuilder.ts +++ b/packages/abstractions/src/baseRequestBuilder.ts @@ -1,43 +1,3 @@ -import { getPathParameters } from "./getPathParameters"; -import type { RequestAdapter } from "./requestAdapter"; - -export abstract class BaseRequestBuilder { - /** Path parameters for the request */ - protected pathParameters: Record; - /** The request adapter to use to execute the requests. */ - protected requestAdapter: RequestAdapter; - /** Url template to use to build the URL for the current request builder */ - protected urlTemplate: string; - private withUrlFactory: WithUrlFactory; - protected constructor( - pathParameters: Record | string | undefined, - requestAdapter: RequestAdapter, - urlTemplate: string, - factory: WithUrlFactory, - ) { - if (!requestAdapter) throw new Error("requestAdapter cannot be undefined"); - if (urlTemplate === undefined) { - // empty string is ok - throw new Error("urlTemplate cannot be undefined"); - } - if (!factory) throw new Error("factory cannot be undefined"); - this.pathParameters = getPathParameters(pathParameters); - this.requestAdapter = requestAdapter; - this.urlTemplate = urlTemplate; - this.withUrlFactory = factory; - } - /** - * Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored. - * @param rawUrl The raw URL to use for the request builder. - * @returns a MessageItemRequestBuilder - */ - public withUrl(rawUrl: string): T { - if (!rawUrl) throw new Error("rawUrl cannot be undefined"); - return this.withUrlFactory(rawUrl, this.requestAdapter); - } +export interface BaseRequestBuilder { + withUrl(rawUrl: string): T; } - -type WithUrlFactory = ( - pathParameters: Record | string | undefined, - requestAdapter: RequestAdapter, -) => T; diff --git a/packages/abstractions/src/getPathParameters.ts b/packages/abstractions/src/getPathParameters.ts index 6387cac64..781804792 100644 --- a/packages/abstractions/src/getPathParameters.ts +++ b/packages/abstractions/src/getPathParameters.ts @@ -1,7 +1,7 @@ import { RequestInformation } from "./requestInformation"; export function getPathParameters( - parameters: Record | string | undefined + parameters: Record | string | undefined, ): Record { const result: Record = {}; if (typeof parameters === "string") { diff --git a/packages/abstractions/src/index.ts b/packages/abstractions/src/index.ts index 48257b577..b68d7b6f6 100644 --- a/packages/abstractions/src/index.ts +++ b/packages/abstractions/src/index.ts @@ -1,4 +1,5 @@ export * from "./apiClientBuilder"; +export * from "./apiClientProxifier"; export * from "./apiError"; export * from "./authentication"; export * from "./baseRequestBuilder"; diff --git a/packages/abstractions/src/nativeResponseHandler.ts b/packages/abstractions/src/nativeResponseHandler.ts index 31890b3c1..42657f501 100644 --- a/packages/abstractions/src/nativeResponseHandler.ts +++ b/packages/abstractions/src/nativeResponseHandler.ts @@ -1,15 +1,15 @@ +import type { ErrorMappings } from "./requestAdapter"; import type { ResponseHandler } from "./responseHandler"; -import type { Parsable, ParsableFactory } from "./serialization"; /** Default response handler to access the native response object. */ export class NativeResponseHandler implements ResponseHandler { /** Native response object as returned by the core service */ public value?: any; /** The error mappings for the response to use when deserializing failed responses bodies. Where an error code like 401 applies specifically to that status code, a class code like 4XX applies to all status codes within the range if an the specific error code is not present. */ - public errorMappings: Record> | undefined; + public errorMappings: ErrorMappings | undefined; public handleResponseAsync( response: NativeResponseType, - errorMappings: Record> | undefined + errorMappings: ErrorMappings | undefined, ): Promise { this.value = response; this.errorMappings = errorMappings; diff --git a/packages/abstractions/src/requestAdapter.ts b/packages/abstractions/src/requestAdapter.ts index 46af47b13..1768b09a2 100644 --- a/packages/abstractions/src/requestAdapter.ts +++ b/packages/abstractions/src/requestAdapter.ts @@ -1,6 +1,13 @@ +import type { DateOnly } from "./dateOnly"; +import type { Duration } from "./duration"; import { type RequestInformation } from "./requestInformation"; -import type { Parsable, ParsableFactory, SerializationWriterFactory } from "./serialization"; +import type { + Parsable, + ParsableFactory, + SerializationWriterFactory, +} from "./serialization"; import { type BackingStoreFactory } from "./store"; +import type { TimeOnly } from "./timeOnly"; /** Service responsible for translating abstract Request Info into concrete native HTTP requests. */ export interface RequestAdapter { @@ -20,7 +27,7 @@ export interface RequestAdapter { sendAsync( requestInfo: RequestInformation, type: ParsableFactory, - errorMappings: Record> | undefined + errorMappings: ErrorMappings | undefined, ): Promise; /** * Executes the HTTP request specified by the given RequestInformation and returns the deserialized response model collection. @@ -33,7 +40,7 @@ export interface RequestAdapter { sendCollectionAsync( requestInfo: RequestInformation, type: ParsableFactory, - errorMappings: Record> | undefined + errorMappings: ErrorMappings | undefined, ): Promise; /** * Executes the HTTP request specified by the given RequestInformation and returns the deserialized response model collection. @@ -44,10 +51,15 @@ export interface RequestAdapter { * @typeParam ResponseType the type of the response model to deserialize the response into. * @return a {@link Promise} with the deserialized response model collection. */ - sendCollectionOfPrimitiveAsync( + sendCollectionOfPrimitiveAsync< + ResponseType extends Exclude< + PrimitiveTypesForDeserializationType, + ArrayBuffer + >, + >( requestInfo: RequestInformation, - responseType: "string" | "number" | "boolean" | "Date", - errorMappings: Record> | undefined + responseType: Exclude, + errorMappings: ErrorMappings | undefined, ): Promise; /** * Executes the HTTP request specified by the given RequestInformation and returns the deserialized primitive response model. @@ -57,10 +69,10 @@ export interface RequestAdapter { * @typeParam ResponseType the type of the response model to deserialize the response into. * @return a {@link Promise} with the deserialized primitive response model. */ - sendPrimitiveAsync( + sendPrimitiveAsync( requestInfo: RequestInformation, - responseType: "string" | "number" | "boolean" | "Date" | "ArrayBuffer", - errorMappings: Record> | undefined + responseType: PrimitiveTypesForDeserialization, + errorMappings: ErrorMappings | undefined, ): Promise; /** * Executes the HTTP request specified by the given RequestInformation and returns the deserialized primitive response model. @@ -70,14 +82,14 @@ export interface RequestAdapter { */ sendNoResponseContentAsync( requestInfo: RequestInformation, - errorMappings: Record> | undefined + errorMappings: ErrorMappings | undefined, ): Promise; /** * Enables the backing store proxies for the SerializationWriters and ParseNodes in use. * @param backingStoreFactory the backing store factory to use. */ enableBackingStore( - backingStoreFactory?: BackingStoreFactory | undefined + backingStoreFactory?: BackingStoreFactory | undefined, ): void; /** The base url for every request. */ baseUrl: string; @@ -89,3 +101,28 @@ export interface RequestAdapter { */ convertToNativeRequestAsync(requestInfo: RequestInformation): Promise; } +export interface ErrorMappings { + _4XX?: ParsableFactory; + _5XX?: ParsableFactory; + [key: number]: ParsableFactory; +} + +export type PrimitiveTypesForDeserializationType = + | string + | number + | boolean + | Date + | DateOnly + | TimeOnly + | Duration + | ArrayBuffer; + +export type PrimitiveTypesForDeserialization = + | "string" + | "number" + | "boolean" + | "Date" + | "DateOnly" + | "TimeOnly" + | "Duration" + | "ArrayBuffer"; diff --git a/packages/abstractions/src/requestInformation.ts b/packages/abstractions/src/requestInformation.ts index 5bd7800e0..722304f1d 100644 --- a/packages/abstractions/src/requestInformation.ts +++ b/packages/abstractions/src/requestInformation.ts @@ -7,7 +7,10 @@ import { Headers } from "./headers"; import { type HttpMethod } from "./httpMethod"; import { MultipartBody } from "./multipartBody"; import { createRecordWithCaseInsensitiveKeys } from "./recordWithCaseInsensitiveKeys"; -import type { RequestAdapter } from "./requestAdapter"; +import type { + PrimitiveTypesForDeserializationType, + RequestAdapter, +} from "./requestAdapter"; import type { RequestConfiguration } from "./requestConfiguration"; import type { RequestOption } from "./requestOption"; import type { @@ -18,7 +21,7 @@ import type { import { TimeOnly } from "./timeOnly"; /** This class represents an abstract HTTP request. */ -export class RequestInformation { +export class RequestInformation implements RequestInformationSetContent { /** * Initializes a request information instance with the provided values. * @param httpMethod The HTTP method for the request. @@ -209,10 +212,12 @@ export class RequestInformation { * @param requestAdapter The adapter service to get the serialization writer from. * @typeParam T the model type. */ - public setContentFromScalar = ( - requestAdapter?: RequestAdapter | undefined, - contentType?: string | undefined, - value?: T[] | T, + public setContentFromScalar = < + T extends PrimitiveTypesForDeserializationType, + >( + requestAdapter: RequestAdapter | undefined, + contentType: string | undefined, + value: T[] | T, ): void => { trace .getTracer(RequestInformation.tracerKey) @@ -317,3 +322,20 @@ export class RequestInformation { this.addRequestOptions(config.options); } } +/** + * Describes the contract of request adapter set content methods so it can be used in request metadata. + */ +export interface RequestInformationSetContent { + setStreamContent(value: ArrayBuffer, contentType?: string): void; + setContentFromScalar( + requestAdapter: RequestAdapter | undefined, + contentType: string | undefined, + value: T[] | T, + ): void; + setContentFromParsable( + requestAdapter?: RequestAdapter | undefined, + contentType?: string | undefined, + value?: T[] | T, + modelSerializerFunction?: ModelSerializerFunction, + ): void; +} diff --git a/packages/abstractions/src/responseHandler.ts b/packages/abstractions/src/responseHandler.ts index 256107dc6..11f1ff9fd 100644 --- a/packages/abstractions/src/responseHandler.ts +++ b/packages/abstractions/src/responseHandler.ts @@ -1,4 +1,4 @@ -import type { Parsable, ParsableFactory } from "./serialization"; +import { type ErrorMappings } from "./requestAdapter"; /** Defines the contract for a response handler. */ export interface ResponseHandler { @@ -12,6 +12,6 @@ export interface ResponseHandler { */ handleResponseAsync( response: NativeResponseType, - errorMappings: Record> | undefined + errorMappings: ErrorMappings | undefined, ): Promise; } diff --git a/packages/abstractions/src/serialization/serializationFunctionTypes.ts b/packages/abstractions/src/serialization/serializationFunctionTypes.ts index 965e269d8..ab32077a9 100644 --- a/packages/abstractions/src/serialization/serializationFunctionTypes.ts +++ b/packages/abstractions/src/serialization/serializationFunctionTypes.ts @@ -4,9 +4,9 @@ import type { SerializationWriter } from "./serializationWriter"; export type ModelSerializerFunction = ( writer: SerializationWriter, - value?: T | undefined + value?: T | undefined, ) => void; export type DeserializeIntoModelFunction = ( - value?: T | undefined + value?: T | undefined, ) => Record void>; diff --git a/packages/authentication/azure/package.json b/packages/authentication/azure/package.json index f0a96c5e0..1a79130ab 100644 --- a/packages/authentication/azure/package.json +++ b/packages/authentication/azure/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/kiota-authentication-azure", - "version": "1.0.0-preview.31", + "version": "1.0.0-preview.32", "description": "Authentication provider for Kiota using Azure Identity", "main": "dist/cjs/src/index.js", "module": "dist/es/src/index.js", @@ -30,7 +30,7 @@ "homepage": "https://github.com/microsoft/kiota-typescript#readme", "dependencies": { "@azure/core-auth": "^1.3.2", - "@microsoft/kiota-abstractions": "^1.0.0-preview.36", + "@microsoft/kiota-abstractions": "^1.0.0-preview.37", "@opentelemetry/api": "^1.2.0", "tslib": "^2.3.1" }, diff --git a/packages/authentication/spfx/package.json b/packages/authentication/spfx/package.json index 2f548244c..ea2dcf92b 100644 --- a/packages/authentication/spfx/package.json +++ b/packages/authentication/spfx/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/kiota-authentication-spfx", - "version": "1.0.0-preview.26", + "version": "1.0.0-preview.27", "description": "Authentication provider for using Kiota in SPFx solutions", "main": "dist/cjs/src/index.js", "module": "dist/es/src/index.js", @@ -39,7 +39,7 @@ }, "homepage": "https://github.com/microsoft/kiota-typescript#readme", "dependencies": { - "@microsoft/kiota-abstractions": "^1.0.0-preview.36", + "@microsoft/kiota-abstractions": "^1.0.0-preview.37", "@microsoft/sp-http": "^1.15.2", "@opentelemetry/api": "^1.2.0", "tslib": "^2.3.1" diff --git a/packages/http/fetch/package.json b/packages/http/fetch/package.json index f31370857..a7699bee8 100644 --- a/packages/http/fetch/package.json +++ b/packages/http/fetch/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/kiota-http-fetchlibrary", - "version": "1.0.0-preview.35", + "version": "1.0.0-preview.36", "description": "Kiota request adapter implementation with fetch", "keywords": [ "Kiota", @@ -25,9 +25,9 @@ }, "types": "dist/cjs/src/index.d.ts", "scripts": { - "build": "npm run build:cjs && npm run build:es", + "build": "npm run build:cjs && npm run build:esm", "build:cjs": "tsc -b tsconfig.cjs.json", - "build:es": "tsc -b tsconfig.es.json", + "build:esm": "tsc -b tsconfig.es.json", "build:test": "tsc -b tsconfig.cjs.test.json && tsc -b tsconfig.es.test.json", "clean": "rm -r ./dist", "karma": "npm run rollup && karma start --single-run --browsers ChromeHeadless karma.conf.js", @@ -38,7 +38,7 @@ "test:cjs": "mocha 'dist/cjs/test/common/**/*.js' && mocha 'dist/cjs/test/node/**/*.js'" }, "dependencies": { - "@microsoft/kiota-abstractions": "^1.0.0-preview.36", + "@microsoft/kiota-abstractions": "^1.0.0-preview.37", "@opentelemetry/api": "^1.2.0", "guid-typescript": "^1.0.9", "node-fetch": "^2.6.5", diff --git a/packages/http/fetch/src/fetchRequestAdapter.ts b/packages/http/fetch/src/fetchRequestAdapter.ts index 5298e0033..fbfb1dbbd 100644 --- a/packages/http/fetch/src/fetchRequestAdapter.ts +++ b/packages/http/fetch/src/fetchRequestAdapter.ts @@ -1,4 +1,4 @@ -import { type ApiError, type AuthenticationProvider, type BackingStoreFactory, BackingStoreFactorySingleton, type DateOnly, DefaultApiError, type Duration, enableBackingStoreForParseNodeFactory, enableBackingStoreForSerializationWriterFactory,type Parsable, type ParsableFactory,type ParseNode, type ParseNodeFactory,ParseNodeFactoryRegistry, type RequestAdapter,type RequestInformation,type ResponseHandler,type ResponseHandlerOption, ResponseHandlerOptionKey, type SerializationWriterFactory, SerializationWriterFactoryRegistry, type TimeOnly } from "@microsoft/kiota-abstractions"; +import { type ApiError, type AuthenticationProvider, type BackingStoreFactory, BackingStoreFactorySingleton, type DateOnly, DefaultApiError, type Duration, enableBackingStoreForParseNodeFactory, enableBackingStoreForSerializationWriterFactory, type ErrorMappings, type Parsable, type ParsableFactory, type ParseNode, type ParseNodeFactory, ParseNodeFactoryRegistry, type PrimitiveTypesForDeserialization, type PrimitiveTypesForDeserializationType,type RequestAdapter, type RequestInformation, type ResponseHandler, type ResponseHandlerOption, ResponseHandlerOptionKey, type SerializationWriterFactory, SerializationWriterFactoryRegistry, type TimeOnly } from "@microsoft/kiota-abstractions"; import { type Span, SpanStatusCode, trace } from "@opentelemetry/api"; import { HttpClient } from "./httpClient"; @@ -19,7 +19,13 @@ export class FetchRequestAdapter implements RequestAdapter { * @param httpClient the http client to use to execute requests. * @param observabilityOptions the observability options to use. */ - public constructor(public readonly authenticationProvider: AuthenticationProvider, private parseNodeFactory: ParseNodeFactory = ParseNodeFactoryRegistry.defaultInstance, private serializationWriterFactory: SerializationWriterFactory = SerializationWriterFactoryRegistry.defaultInstance, private readonly httpClient: HttpClient = new HttpClient(), observabilityOptions: ObservabilityOptions = new ObservabilityOptionsImpl()) { + public constructor( + public readonly authenticationProvider: AuthenticationProvider, + private parseNodeFactory: ParseNodeFactory = ParseNodeFactoryRegistry.defaultInstance, + private serializationWriterFactory: SerializationWriterFactory = SerializationWriterFactoryRegistry.defaultInstance, + private readonly httpClient: HttpClient = new HttpClient(), + observabilityOptions: ObservabilityOptions = new ObservabilityOptionsImpl(), + ) { if (!authenticationProvider) { throw new Error("authentication provider cannot be null"); } @@ -51,7 +57,7 @@ export class FetchRequestAdapter implements RequestAdapter { return responseHandlerOption?.responseHandler; }; private static readonly responseTypeAttributeKey = "com.microsoft.kiota.response.type"; - public sendCollectionOfPrimitiveAsync = (requestInfo: RequestInformation, responseType: "string" | "number" | "boolean" | "Date", errorMappings: Record> | undefined): Promise => { + public sendCollectionOfPrimitiveAsync = >(requestInfo: RequestInformation, responseType: Exclude, errorMappings: ErrorMappings | undefined): Promise => { if (!requestInfo) { throw new Error("requestInfo cannot be null"); } @@ -107,7 +113,7 @@ export class FetchRequestAdapter implements RequestAdapter { } }); }; - public sendCollectionAsync = (requestInfo: RequestInformation, deserialization: ParsableFactory, errorMappings: Record> | undefined): Promise => { + public sendCollectionAsync = (requestInfo: RequestInformation, deserialization: ParsableFactory, errorMappings: ErrorMappings | undefined): Promise => { if (!requestInfo) { throw new Error("requestInfo cannot be null"); } @@ -154,7 +160,7 @@ export class FetchRequestAdapter implements RequestAdapter { }); }; public static readonly eventResponseHandlerInvokedKey = "com.microsoft.kiota.response_handler_invoked"; - public sendAsync = (requestInfo: RequestInformation, deserializer: ParsableFactory, errorMappings: Record> | undefined): Promise => { + public sendAsync = (requestInfo: RequestInformation, deserializer: ParsableFactory, errorMappings: ErrorMappings | undefined): Promise => { if (!requestInfo) { throw new Error("requestInfo cannot be null"); } @@ -188,7 +194,7 @@ export class FetchRequestAdapter implements RequestAdapter { } }) as Promise; }; - public sendPrimitiveAsync = (requestInfo: RequestInformation, responseType: "string" | "number" | "boolean" | "Date" | "ArrayBuffer", errorMappings: Record> | undefined): Promise => { + public sendPrimitiveAsync = (requestInfo: RequestInformation, responseType: PrimitiveTypesForDeserialization, errorMappings: ErrorMappings | undefined): Promise => { if (!requestInfo) { throw new Error("requestInfo cannot be null"); } @@ -248,9 +254,9 @@ export class FetchRequestAdapter implements RequestAdapter { } finally { span.end(); } - }) as Promise; + }) as Promise; }; - public sendNoResponseContentAsync = (requestInfo: RequestInformation, errorMappings: Record> | undefined): Promise => { + public sendNoResponseContentAsync = (requestInfo: RequestInformation, errorMappings: ErrorMappings | undefined): Promise => { if (!requestInfo) { throw new Error("requestInfo cannot be null"); } @@ -304,7 +310,7 @@ export class FetchRequestAdapter implements RequestAdapter { }; public static readonly errorMappingFoundAttributeName = "com.microsoft.kiota.error.mapping_found"; public static readonly errorBodyFoundAttributeName = "com.microsoft.kiota.error.body_found"; - private throwIfFailedResponse = (response: Response, errorMappings: Record> | undefined, spanForAttributes: Span): Promise => { + private throwIfFailedResponse = (response: Response, errorMappings: ErrorMappings | undefined, spanForAttributes: Span): Promise => { return trace.getTracer(this.observabilityOptions.getTracerInstrumentationName()).startActiveSpan("throwIfFailedResponse", async (span) => { try { if (response.ok) return; @@ -319,8 +325,7 @@ export class FetchRequestAdapter implements RequestAdapter { response.headers.forEach((value, key) => { responseHeaders[key] = value.split(","); }); - const statusCodeAsString = statusCode.toString(); - if (!errorMappings || (!errorMappings[statusCodeAsString] && !(statusCode >= 400 && statusCode < 500 && errorMappings["4XX"]) && !(statusCode >= 500 && statusCode < 600 && errorMappings["5XX"]))) { + if (!errorMappings || (!errorMappings[statusCode] && !(statusCode >= 400 && statusCode < 500 && errorMappings._4XX) && !(statusCode >= 500 && statusCode < 600 && errorMappings._5XX))) { spanForAttributes.setAttribute(FetchRequestAdapter.errorMappingFoundAttributeName, false); const error = new DefaultApiError("the server returned an unexpected status code and no error class is registered for this code " + statusCode); error.responseStatusCode = statusCode; @@ -330,7 +335,7 @@ export class FetchRequestAdapter implements RequestAdapter { } spanForAttributes.setAttribute(FetchRequestAdapter.errorMappingFoundAttributeName, true); - const factory = errorMappings[statusCodeAsString] ?? (statusCode >= 400 && statusCode < 500 ? errorMappings["4XX"] : undefined) ?? (statusCode >= 500 && statusCode < 600 ? errorMappings["5XX"] : undefined); + const factory = errorMappings[statusCode] ?? (statusCode >= 400 && statusCode < 500 ? errorMappings._4XX : undefined) ?? (statusCode >= 500 && statusCode < 600 ? errorMappings._5XX : undefined); const rootNode = await this.getRootParseNode(response); let error = trace.getTracer(this.observabilityOptions.getTracerInstrumentationName()).startActiveSpan("getObjectValue", (deserializeSpan) => { diff --git a/packages/serialization/form/package.json b/packages/serialization/form/package.json index e9d144f41..9aa0b83b6 100644 --- a/packages/serialization/form/package.json +++ b/packages/serialization/form/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/kiota-serialization-form", - "version": "1.0.0-preview.25", + "version": "1.0.0-preview.26", "description": "Implementation of Kiota Serialization interfaces for URI from encoded", "main": "dist/cjs/src/index.js", "browser": { @@ -10,9 +10,9 @@ "module": "dist/es/src/index.js", "types": "dist/cjs/src/index.d.ts", "scripts": { - "build": "npm run build:cjs && npm run build:es", + "build": "npm run build:cjs && npm run build:esm", "build:cjs": "tsc -b tsconfig.cjs.json", - "build:es": "tsc -b tsconfig.es.json", + "build:esm": "tsc -b tsconfig.es.json", "lint": "eslint . --ext .ts", "lint:fix": "eslint . --ext .ts --fix", "clean": "rm -r ./dist", @@ -39,7 +39,7 @@ }, "homepage": "https://github.com/microsoft/kiota-typescript#readme", "dependencies": { - "@microsoft/kiota-abstractions": "^1.0.0-preview.36", + "@microsoft/kiota-abstractions": "^1.0.0-preview.37", "guid-typescript": "^1.0.9", "tslib": "^2.3.1" }, diff --git a/packages/serialization/json/package.json b/packages/serialization/json/package.json index d691c87d6..47f80ca76 100644 --- a/packages/serialization/json/package.json +++ b/packages/serialization/json/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/kiota-serialization-json", - "version": "1.0.0-preview.36", + "version": "1.0.0-preview.37", "description": "Implementation of Kiota Serialization interfaces for JSON", "main": "dist/cjs/src/index.js", "browser": { @@ -10,9 +10,9 @@ "module": "dist/es/src/index.js", "types": "dist/cjs/src/index.d.ts", "scripts": { - "build": "npm run build:cjs && npm run build:es", + "build": "npm run build:cjs && npm run build:esm", "build:cjs": "tsc -b tsconfig.cjs.json", - "build:es": "tsc -b tsconfig.es.json", + "build:esm": "tsc -b tsconfig.es.json", "lint": "eslint . --ext .ts", "lint:fix": "eslint . --ext .ts --fix", "clean": "rm -r ./dist", @@ -39,7 +39,7 @@ }, "homepage": "https://github.com/microsoft/kiota-typescript#readme", "dependencies": { - "@microsoft/kiota-abstractions": "^1.0.0-preview.36", + "@microsoft/kiota-abstractions": "^1.0.0-preview.37", "guid-typescript": "^1.0.9", "tslib": "^2.3.1" }, diff --git a/packages/serialization/multipart/package.json b/packages/serialization/multipart/package.json index c9a1a82b6..c91d299c9 100644 --- a/packages/serialization/multipart/package.json +++ b/packages/serialization/multipart/package.json @@ -1,14 +1,14 @@ { "name": "@microsoft/kiota-serialization-multipart", - "version": "1.0.0-preview.15", + "version": "1.0.0-preview.16", "description": "Implementation of Kiota Serialization interfaces for multipart form data", "main": "dist/cjs/src/index.js", "module": "dist/es/src/index.js", "types": "dist/cjs/src/index.d.ts", "scripts": { - "build": "npm run build:cjs && npm run build:es", + "build": "npm run build:cjs && npm run build:esm", "build:cjs": "tsc -b tsconfig.cjs.json", - "build:es": "tsc -b tsconfig.es.json", + "build:esm": "tsc -b tsconfig.es.json", "lint": "eslint . --ext .ts", "lint:fix": "eslint . --ext .ts --fix", "clean": "rm -r ./dist", @@ -35,12 +35,12 @@ }, "homepage": "https://github.com/microsoft/kiota-typescript#readme", "dependencies": { - "@microsoft/kiota-abstractions": "^1.0.0-preview.36", + "@microsoft/kiota-abstractions": "^1.0.0-preview.37", "guid-typescript": "^1.0.9", "tslib": "^2.3.1" }, "devDependencies": { - "@microsoft/kiota-serialization-json": "^1.0.0-preview.36" + "@microsoft/kiota-serialization-json": "^1.0.0-preview.37" }, "publishConfig": { "access": "public" diff --git a/packages/serialization/text/package.json b/packages/serialization/text/package.json index e69c30079..e23322e29 100644 --- a/packages/serialization/text/package.json +++ b/packages/serialization/text/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/kiota-serialization-text", - "version": "1.0.0-preview.33", + "version": "1.0.0-preview.34", "description": "Implementation of Kiota Serialization interfaces for text", "main": "dist/cjs/src/index.js", "browser": { @@ -10,9 +10,9 @@ "module": "dist/es/src/index.js", "types": "dist/cjs/src/index.d.ts", "scripts": { - "build": "npm run build:cjs && npm run build:es", + "build": "npm run build:cjs && npm run build:esm", "build:cjs": "tsc -b tsconfig.cjs.json", - "build:es": "tsc -b tsconfig.es.json", + "build:esm": "tsc -b tsconfig.es.json", "lint": "eslint . --ext .ts", "lint:fix": "eslint . --ext .ts --fix", "clean": "rm -r ./dist ./node_modules", @@ -39,7 +39,7 @@ }, "homepage": "https://github.com/microsoft/kiota-typescript#readme", "dependencies": { - "@microsoft/kiota-abstractions": "^1.0.0-preview.36", + "@microsoft/kiota-abstractions": "^1.0.0-preview.37", "guid-typescript": "^1.0.9", "tslib": "^2.3.1" }, diff --git a/packages/test/.eslintrc.js b/packages/test/.eslintrc.js index b0204e88c..e228f5234 100644 --- a/packages/test/.eslintrc.js +++ b/packages/test/.eslintrc.js @@ -31,7 +31,6 @@ module.exports = { ], "rules": { "@typescript-eslint/consistent-type-imports": "error", - "no-unused-vars": "warn", "@typescript-eslint/no-unused-vars": "warn", "no-extra-semi" : "warn" } diff --git a/packages/test/generatedCode/apiClient.ts b/packages/test/generatedCode/apiClient.ts index 53651977a..6dbf04f6a 100644 --- a/packages/test/generatedCode/apiClient.ts +++ b/packages/test/generatedCode/apiClient.ts @@ -1,8 +1,8 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { UsersRequestBuilder } from './users/'; -import { BaseRequestBuilder, enableBackingStoreForSerializationWriterFactory, ParseNodeFactoryRegistry, registerDefaultDeserializer, registerDefaultSerializer, SerializationWriterFactoryRegistry, type RequestAdapter } from '@microsoft/kiota-abstractions'; +import { type UsersRequestBuilder, UsersRequestBuilderNavigationMetadata, UsersRequestBuilderUriTemplate } from './users/'; +import { apiClientProxifier, registerDefaultDeserializer, registerDefaultSerializer, type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type RequestAdapter } from '@microsoft/kiota-abstractions'; import { FormParseNodeFactory, FormSerializationWriterFactory } from '@microsoft/kiota-serialization-form'; import { JsonParseNodeFactory, JsonSerializationWriterFactory } from '@microsoft/kiota-serialization-json'; import { MultipartSerializationWriterFactory } from '@microsoft/kiota-serialization-multipart'; @@ -11,31 +11,44 @@ import { TextParseNodeFactory, TextSerializationWriterFactory } from '@microsoft /** * The main entry point of the SDK, exposes the configuration and the fluent API. */ -export class ApiClient extends BaseRequestBuilder { +export interface ApiClient extends BaseRequestBuilder { /** * The users property */ - public get users(): UsersRequestBuilder { - return new UsersRequestBuilder(this.pathParameters, this.requestAdapter); - } - /** - * Instantiates a new ApiClient and sets the default values. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(requestAdapter: RequestAdapter) { - super({}, requestAdapter, "{+baseurl}", (x, y) => new ApiClient(y)); - registerDefaultSerializer(JsonSerializationWriterFactory); - registerDefaultSerializer(TextSerializationWriterFactory); - registerDefaultSerializer(FormSerializationWriterFactory); - registerDefaultSerializer(MultipartSerializationWriterFactory); - registerDefaultDeserializer(JsonParseNodeFactory); - registerDefaultDeserializer(TextParseNodeFactory); - registerDefaultDeserializer(FormParseNodeFactory); - if (requestAdapter.baseUrl === undefined || requestAdapter.baseUrl === "") { - requestAdapter.baseUrl = "https://graph.microsoft.com/v1.0"; - } - this.pathParameters["baseurl"] = requestAdapter.baseUrl; + get users(): UsersRequestBuilder; +} +/** + * Instantiates a new ApiClient and sets the default values. + * @param requestAdapter The request adapter to use to execute the requests. + */ +export function createApiClient(requestAdapter: RequestAdapter) { + registerDefaultSerializer(JsonSerializationWriterFactory); + registerDefaultSerializer(TextSerializationWriterFactory); + registerDefaultSerializer(FormSerializationWriterFactory); + registerDefaultSerializer(MultipartSerializationWriterFactory); + registerDefaultDeserializer(JsonParseNodeFactory); + registerDefaultDeserializer(TextParseNodeFactory); + registerDefaultDeserializer(FormParseNodeFactory); + if (requestAdapter.baseUrl === undefined || requestAdapter.baseUrl === "") { + requestAdapter.baseUrl = "https://graph.microsoft.com/v1.0"; } + const pathParameters: Record = { + "baseurl": requestAdapter.baseUrl, + }; + return apiClientProxifier(requestAdapter, pathParameters, ApiClientUriTemplate, ApiClientNavigationMetadata, undefined); } -// tslint:enable -// eslint-enable +/** + * Metadata for all the navigation properties in the request builder. + */ +export const ApiClientNavigationMetadata: Record, NavigationMetadata> = { + users: { + uriTemplate: UsersRequestBuilderUriTemplate, + navigationMetadata: UsersRequestBuilderNavigationMetadata, + }, +}; +/** + * Uri template for the request builder. + */ +export const ApiClientUriTemplate = "{+baseurl}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/kiota-lock.json b/packages/test/generatedCode/kiota-lock.json index c4c5c7c5a..9d9e2bd55 100644 --- a/packages/test/generatedCode/kiota-lock.json +++ b/packages/test/generatedCode/kiota-lock.json @@ -1,8 +1,8 @@ { - "descriptionHash": "293EC13E4EA89E6695FB19ADCE23A67734E8CC8018E1BA88D27E27EC369C01F1C6EA5C84B7F25E60128993F20D175018DDDB4BA206CB4A7336F09CB8352B74C3", + "descriptionHash": "880607FEC08E088EFB64EA3C15BAC2221BCF7C9AAD42A7DF5939AB8D6F14D90AB52FDA7BF7B28235D6FF87CF2D9A7B45B697BCC79DA574D955A39132B7C04DA2", "descriptionLocation": "https://raw.githubusercontent.com/microsoftgraph/msgraph-sdk-powershell/dev/openApiDocs/v1.0/Mail.yml", "lockFileVersion": "1.0.0", - "kiotaVersion": "1.10.0", + "kiotaVersion": "1.11.0", "clientClassName": "ApiClient", "clientNamespaceName": "ApiSdk", "language": "TypeScript", diff --git a/packages/test/generatedCode/models/index.ts b/packages/test/generatedCode/models/index.ts index 3a9ee7403..2c2af2372 100644 --- a/packages/test/generatedCode/models/index.ts +++ b/packages/test/generatedCode/models/index.ts @@ -1,5 +1,5 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota import { type AdditionalDataHolder, type Parsable, type ParseNode, type SerializationWriter } from '@microsoft/kiota-abstractions'; @@ -40,81 +40,211 @@ export interface AttachmentCollectionResponse extends AdditionalDataHolder, Pars value?: Attachment[]; } export type BodyType = (typeof BodyTypeObject)[keyof typeof BodyTypeObject]; +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a attachmentCollectionResponse + */ export function createAttachmentCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoAttachmentCollectionResponse; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a attachment + */ export function createAttachmentFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoAttachment; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a dateTimeTimeZone + */ export function createDateTimeTimeZoneFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoDateTimeTimeZone; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a emailAddress + */ export function createEmailAddressFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoEmailAddress; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a entity + */ export function createEntityFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoEntity; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a extensionCollectionResponse + */ export function createExtensionCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoExtensionCollectionResponse; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a extension + */ export function createExtensionFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoExtension; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a followupFlag + */ export function createFollowupFlagFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoFollowupFlag; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a inferenceClassification + */ export function createInferenceClassificationFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoInferenceClassification; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a inferenceClassificationOverrideCollectionResponse + */ export function createInferenceClassificationOverrideCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoInferenceClassificationOverrideCollectionResponse; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a inferenceClassificationOverride + */ export function createInferenceClassificationOverrideFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoInferenceClassificationOverride; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a internetMessageHeader + */ export function createInternetMessageHeaderFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoInternetMessageHeader; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a itemBody + */ export function createItemBodyFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoItemBody; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a mailFolderCollectionResponse + */ export function createMailFolderCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoMailFolderCollectionResponse; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a mailFolder + */ export function createMailFolderFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoMailFolder; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a messageCollectionResponse + */ export function createMessageCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoMessageCollectionResponse; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a message + */ export function createMessageFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoMessage; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a messageRuleActions + */ export function createMessageRuleActionsFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoMessageRuleActions; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a messageRuleCollectionResponse + */ export function createMessageRuleCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoMessageRuleCollectionResponse; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a messageRule + */ export function createMessageRuleFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoMessageRule; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a messageRulePredicates + */ export function createMessageRulePredicatesFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoMessageRulePredicates; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a multiValueLegacyExtendedProperty + */ export function createMultiValueLegacyExtendedPropertyFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoMultiValueLegacyExtendedProperty; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a outlookItem + */ export function createOutlookItemFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoOutlookItem; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a recipient + */ export function createRecipientFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoRecipient; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a singleValueLegacyExtendedProperty + */ export function createSingleValueLegacyExtendedPropertyFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoSingleValueLegacyExtendedProperty; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a sizeRange + */ export function createSizeRangeFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoSizeRange; } @@ -132,6 +262,10 @@ export interface DateTimeTimeZone extends AdditionalDataHolder, Parsable { */ timeZone?: string; } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoAttachment(attachment: Attachment | undefined = {} as Attachment) : Record void> { return { ...deserializeIntoEntity(attachment), @@ -142,40 +276,68 @@ export function deserializeIntoAttachment(attachment: Attachment | undefined = { "size": n => { attachment.size = n.getNumberValue(); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoAttachmentCollectionResponse(attachmentCollectionResponse: AttachmentCollectionResponse | undefined = {} as AttachmentCollectionResponse) : Record void> { return { "@odata.nextLink": n => { attachmentCollectionResponse.odataNextLink = n.getStringValue(); }, "value": n => { attachmentCollectionResponse.value = n.getCollectionOfObjectValues(createAttachmentFromDiscriminatorValue); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoDateTimeTimeZone(dateTimeTimeZone: DateTimeTimeZone | undefined = {} as DateTimeTimeZone) : Record void> { return { "dateTime": n => { dateTimeTimeZone.dateTime = n.getStringValue(); }, "timeZone": n => { dateTimeTimeZone.timeZone = n.getStringValue(); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoEmailAddress(emailAddress: EmailAddress | undefined = {} as EmailAddress) : Record void> { return { "address": n => { emailAddress.address = n.getStringValue(); }, "name": n => { emailAddress.name = n.getStringValue(); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoEntity(entity: Entity | undefined = {} as Entity) : Record void> { return { "id": n => { entity.id = n.getStringValue(); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoExtension(extension: Extension | undefined = {} as Extension) : Record void> { return { ...deserializeIntoEntity(extension), } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoExtensionCollectionResponse(extensionCollectionResponse: ExtensionCollectionResponse | undefined = {} as ExtensionCollectionResponse) : Record void> { return { "@odata.nextLink": n => { extensionCollectionResponse.odataNextLink = n.getStringValue(); }, "value": n => { extensionCollectionResponse.value = n.getCollectionOfObjectValues(createExtensionFromDiscriminatorValue); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoFollowupFlag(followupFlag: FollowupFlag | undefined = {} as FollowupFlag) : Record void> { return { "completedDateTime": n => { followupFlag.completedDateTime = n.getObjectValue(createDateTimeTimeZoneFromDiscriminatorValue); }, @@ -184,12 +346,20 @@ export function deserializeIntoFollowupFlag(followupFlag: FollowupFlag | undefin "startDateTime": n => { followupFlag.startDateTime = n.getObjectValue(createDateTimeTimeZoneFromDiscriminatorValue); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoInferenceClassification(inferenceClassification: InferenceClassification | undefined = {} as InferenceClassification) : Record void> { return { ...deserializeIntoEntity(inferenceClassification), "overrides": n => { inferenceClassification.overrides = n.getCollectionOfObjectValues(createInferenceClassificationOverrideFromDiscriminatorValue); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoInferenceClassificationOverride(inferenceClassificationOverride: InferenceClassificationOverride | undefined = {} as InferenceClassificationOverride) : Record void> { return { ...deserializeIntoEntity(inferenceClassificationOverride), @@ -197,24 +367,40 @@ export function deserializeIntoInferenceClassificationOverride(inferenceClassifi "senderEmailAddress": n => { inferenceClassificationOverride.senderEmailAddress = n.getObjectValue(createEmailAddressFromDiscriminatorValue); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoInferenceClassificationOverrideCollectionResponse(inferenceClassificationOverrideCollectionResponse: InferenceClassificationOverrideCollectionResponse | undefined = {} as InferenceClassificationOverrideCollectionResponse) : Record void> { return { "@odata.nextLink": n => { inferenceClassificationOverrideCollectionResponse.odataNextLink = n.getStringValue(); }, "value": n => { inferenceClassificationOverrideCollectionResponse.value = n.getCollectionOfObjectValues(createInferenceClassificationOverrideFromDiscriminatorValue); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoInternetMessageHeader(internetMessageHeader: InternetMessageHeader | undefined = {} as InternetMessageHeader) : Record void> { return { "name": n => { internetMessageHeader.name = n.getStringValue(); }, "value": n => { internetMessageHeader.value = n.getStringValue(); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoItemBody(itemBody: ItemBody | undefined = {} as ItemBody) : Record void> { return { "content": n => { itemBody.content = n.getStringValue(); }, "contentType": n => { itemBody.contentType = n.getEnumValue(BodyTypeObject); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoMailFolder(mailFolder: MailFolder | undefined = {} as MailFolder) : Record void> { return { ...deserializeIntoEntity(mailFolder), @@ -231,12 +417,20 @@ export function deserializeIntoMailFolder(mailFolder: MailFolder | undefined = { "unreadItemCount": n => { mailFolder.unreadItemCount = n.getNumberValue(); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoMailFolderCollectionResponse(mailFolderCollectionResponse: MailFolderCollectionResponse | undefined = {} as MailFolderCollectionResponse) : Record void> { return { "@odata.nextLink": n => { mailFolderCollectionResponse.odataNextLink = n.getStringValue(); }, "value": n => { mailFolderCollectionResponse.value = n.getCollectionOfObjectValues(createMailFolderFromDiscriminatorValue); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoMessage(message: Message | undefined = {} as Message) : Record void> { return { ...deserializeIntoOutlookItem(message), @@ -272,12 +466,20 @@ export function deserializeIntoMessage(message: Message | undefined = {} as Mess "webLink": n => { message.webLink = n.getStringValue(); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoMessageCollectionResponse(messageCollectionResponse: MessageCollectionResponse | undefined = {} as MessageCollectionResponse) : Record void> { return { "@odata.nextLink": n => { messageCollectionResponse.odataNextLink = n.getStringValue(); }, "value": n => { messageCollectionResponse.value = n.getCollectionOfObjectValues(createMessageFromDiscriminatorValue); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoMessageRule(messageRule: MessageRule | undefined = {} as MessageRule) : Record void> { return { ...deserializeIntoEntity(messageRule), @@ -291,6 +493,10 @@ export function deserializeIntoMessageRule(messageRule: MessageRule | undefined "sequence": n => { messageRule.sequence = n.getNumberValue(); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoMessageRuleActions(messageRuleActions: MessageRuleActions | undefined = {} as MessageRuleActions) : Record void> { return { "assignCategories": n => { messageRuleActions.assignCategories = n.getCollectionOfPrimitiveValues(); }, @@ -306,12 +512,20 @@ export function deserializeIntoMessageRuleActions(messageRuleActions: MessageRul "stopProcessingRules": n => { messageRuleActions.stopProcessingRules = n.getBooleanValue(); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoMessageRuleCollectionResponse(messageRuleCollectionResponse: MessageRuleCollectionResponse | undefined = {} as MessageRuleCollectionResponse) : Record void> { return { "@odata.nextLink": n => { messageRuleCollectionResponse.odataNextLink = n.getStringValue(); }, "value": n => { messageRuleCollectionResponse.value = n.getCollectionOfObjectValues(createMessageRuleFromDiscriminatorValue); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoMessageRulePredicates(messageRulePredicates: MessageRulePredicates | undefined = {} as MessageRulePredicates) : Record void> { return { "bodyContains": n => { messageRulePredicates.bodyContains = n.getCollectionOfPrimitiveValues(); }, @@ -346,12 +560,20 @@ export function deserializeIntoMessageRulePredicates(messageRulePredicates: Mess "withinSizeRange": n => { messageRulePredicates.withinSizeRange = n.getObjectValue(createSizeRangeFromDiscriminatorValue); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoMultiValueLegacyExtendedProperty(multiValueLegacyExtendedProperty: MultiValueLegacyExtendedProperty | undefined = {} as MultiValueLegacyExtendedProperty) : Record void> { return { ...deserializeIntoEntity(multiValueLegacyExtendedProperty), "value": n => { multiValueLegacyExtendedProperty.value = n.getCollectionOfPrimitiveValues(); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoOutlookItem(outlookItem: OutlookItem | undefined = {} as OutlookItem) : Record void> { return { ...deserializeIntoEntity(outlookItem), @@ -361,17 +583,29 @@ export function deserializeIntoOutlookItem(outlookItem: OutlookItem | undefined "lastModifiedDateTime": n => { outlookItem.lastModifiedDateTime = n.getDateValue(); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoRecipient(recipient: Recipient | undefined = {} as Recipient) : Record void> { return { "emailAddress": n => { recipient.emailAddress = n.getObjectValue(createEmailAddressFromDiscriminatorValue); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoSingleValueLegacyExtendedProperty(singleValueLegacyExtendedProperty: SingleValueLegacyExtendedProperty | undefined = {} as SingleValueLegacyExtendedProperty) : Record void> { return { ...deserializeIntoEntity(singleValueLegacyExtendedProperty), "value": n => { singleValueLegacyExtendedProperty.value = n.getStringValue(); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoSizeRange(sizeRange: SizeRange | undefined = {} as SizeRange) : Record void> { return { "maximumSize": n => { sizeRange.maximumSize = n.getNumberValue(); }, @@ -957,6 +1191,10 @@ export interface Recipient extends AdditionalDataHolder, Parsable { emailAddress?: EmailAddress; } export type Sensitivity = (typeof SensitivityObject)[keyof typeof SensitivityObject]; +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeAttachment(writer: SerializationWriter, attachment: Attachment | undefined = {} as Attachment) : void { serializeEntity(writer, attachment) writer.writeStringValue("contentType", attachment.contentType); @@ -965,33 +1203,61 @@ export function serializeAttachment(writer: SerializationWriter, attachment: Att writer.writeStringValue("name", attachment.name); writer.writeNumberValue("size", attachment.size); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeAttachmentCollectionResponse(writer: SerializationWriter, attachmentCollectionResponse: AttachmentCollectionResponse | undefined = {} as AttachmentCollectionResponse) : void { writer.writeStringValue("@odata.nextLink", attachmentCollectionResponse.odataNextLink); writer.writeCollectionOfObjectValues("value", attachmentCollectionResponse.value, serializeAttachment); writer.writeAdditionalData(attachmentCollectionResponse.additionalData); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeDateTimeTimeZone(writer: SerializationWriter, dateTimeTimeZone: DateTimeTimeZone | undefined = {} as DateTimeTimeZone) : void { writer.writeStringValue("dateTime", dateTimeTimeZone.dateTime); writer.writeStringValue("timeZone", dateTimeTimeZone.timeZone); writer.writeAdditionalData(dateTimeTimeZone.additionalData); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeEmailAddress(writer: SerializationWriter, emailAddress: EmailAddress | undefined = {} as EmailAddress) : void { writer.writeStringValue("address", emailAddress.address); writer.writeStringValue("name", emailAddress.name); writer.writeAdditionalData(emailAddress.additionalData); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeEntity(writer: SerializationWriter, entity: Entity | undefined = {} as Entity) : void { writer.writeStringValue("id", entity.id); writer.writeAdditionalData(entity.additionalData); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeExtension(writer: SerializationWriter, extension: Extension | undefined = {} as Extension) : void { serializeEntity(writer, extension) } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeExtensionCollectionResponse(writer: SerializationWriter, extensionCollectionResponse: ExtensionCollectionResponse | undefined = {} as ExtensionCollectionResponse) : void { writer.writeStringValue("@odata.nextLink", extensionCollectionResponse.odataNextLink); writer.writeCollectionOfObjectValues("value", extensionCollectionResponse.value, serializeExtension); writer.writeAdditionalData(extensionCollectionResponse.additionalData); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeFollowupFlag(writer: SerializationWriter, followupFlag: FollowupFlag | undefined = {} as FollowupFlag) : void { writer.writeObjectValue("completedDateTime", followupFlag.completedDateTime, serializeDateTimeTimeZone); writer.writeObjectValue("dueDateTime", followupFlag.dueDateTime, serializeDateTimeTimeZone); @@ -999,30 +1265,54 @@ export function serializeFollowupFlag(writer: SerializationWriter, followupFlag: writer.writeObjectValue("startDateTime", followupFlag.startDateTime, serializeDateTimeTimeZone); writer.writeAdditionalData(followupFlag.additionalData); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeInferenceClassification(writer: SerializationWriter, inferenceClassification: InferenceClassification | undefined = {} as InferenceClassification) : void { serializeEntity(writer, inferenceClassification) writer.writeCollectionOfObjectValues("overrides", inferenceClassification.overrides, serializeInferenceClassificationOverride); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeInferenceClassificationOverride(writer: SerializationWriter, inferenceClassificationOverride: InferenceClassificationOverride | undefined = {} as InferenceClassificationOverride) : void { serializeEntity(writer, inferenceClassificationOverride) writer.writeEnumValue("classifyAs", inferenceClassificationOverride.classifyAs); writer.writeObjectValue("senderEmailAddress", inferenceClassificationOverride.senderEmailAddress, serializeEmailAddress); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeInferenceClassificationOverrideCollectionResponse(writer: SerializationWriter, inferenceClassificationOverrideCollectionResponse: InferenceClassificationOverrideCollectionResponse | undefined = {} as InferenceClassificationOverrideCollectionResponse) : void { writer.writeStringValue("@odata.nextLink", inferenceClassificationOverrideCollectionResponse.odataNextLink); writer.writeCollectionOfObjectValues("value", inferenceClassificationOverrideCollectionResponse.value, serializeInferenceClassificationOverride); writer.writeAdditionalData(inferenceClassificationOverrideCollectionResponse.additionalData); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeInternetMessageHeader(writer: SerializationWriter, internetMessageHeader: InternetMessageHeader | undefined = {} as InternetMessageHeader) : void { writer.writeStringValue("name", internetMessageHeader.name); writer.writeStringValue("value", internetMessageHeader.value); writer.writeAdditionalData(internetMessageHeader.additionalData); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeItemBody(writer: SerializationWriter, itemBody: ItemBody | undefined = {} as ItemBody) : void { writer.writeStringValue("content", itemBody.content); writer.writeEnumValue("contentType", itemBody.contentType); writer.writeAdditionalData(itemBody.additionalData); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeMailFolder(writer: SerializationWriter, mailFolder: MailFolder | undefined = {} as MailFolder) : void { serializeEntity(writer, mailFolder) writer.writeNumberValue("childFolderCount", mailFolder.childFolderCount); @@ -1037,11 +1327,19 @@ export function serializeMailFolder(writer: SerializationWriter, mailFolder: Mai writer.writeNumberValue("totalItemCount", mailFolder.totalItemCount); writer.writeNumberValue("unreadItemCount", mailFolder.unreadItemCount); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeMailFolderCollectionResponse(writer: SerializationWriter, mailFolderCollectionResponse: MailFolderCollectionResponse | undefined = {} as MailFolderCollectionResponse) : void { writer.writeStringValue("@odata.nextLink", mailFolderCollectionResponse.odataNextLink); writer.writeCollectionOfObjectValues("value", mailFolderCollectionResponse.value, serializeMailFolder); writer.writeAdditionalData(mailFolderCollectionResponse.additionalData); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeMessage(writer: SerializationWriter, message: Message | undefined = {} as Message) : void { serializeOutlookItem(writer, message) writer.writeCollectionOfObjectValues("attachments", message.attachments, serializeAttachment); @@ -1075,11 +1373,19 @@ export function serializeMessage(writer: SerializationWriter, message: Message | writer.writeObjectValue("uniqueBody", message.uniqueBody, serializeItemBody); writer.writeStringValue("webLink", message.webLink); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeMessageCollectionResponse(writer: SerializationWriter, messageCollectionResponse: MessageCollectionResponse | undefined = {} as MessageCollectionResponse) : void { writer.writeStringValue("@odata.nextLink", messageCollectionResponse.odataNextLink); writer.writeCollectionOfObjectValues("value", messageCollectionResponse.value, serializeMessage); writer.writeAdditionalData(messageCollectionResponse.additionalData); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeMessageRule(writer: SerializationWriter, messageRule: MessageRule | undefined = {} as MessageRule) : void { serializeEntity(writer, messageRule) writer.writeObjectValue("actions", messageRule.actions, serializeMessageRuleActions); @@ -1091,6 +1397,10 @@ export function serializeMessageRule(writer: SerializationWriter, messageRule: M writer.writeBooleanValue("isReadOnly", messageRule.isReadOnly); writer.writeNumberValue("sequence", messageRule.sequence); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeMessageRuleActions(writer: SerializationWriter, messageRuleActions: MessageRuleActions | undefined = {} as MessageRuleActions) : void { writer.writeCollectionOfPrimitiveValues("assignCategories", messageRuleActions.assignCategories); writer.writeStringValue("copyToFolder", messageRuleActions.copyToFolder); @@ -1105,11 +1415,19 @@ export function serializeMessageRuleActions(writer: SerializationWriter, message writer.writeBooleanValue("stopProcessingRules", messageRuleActions.stopProcessingRules); writer.writeAdditionalData(messageRuleActions.additionalData); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeMessageRuleCollectionResponse(writer: SerializationWriter, messageRuleCollectionResponse: MessageRuleCollectionResponse | undefined = {} as MessageRuleCollectionResponse) : void { writer.writeStringValue("@odata.nextLink", messageRuleCollectionResponse.odataNextLink); writer.writeCollectionOfObjectValues("value", messageRuleCollectionResponse.value, serializeMessageRule); writer.writeAdditionalData(messageRuleCollectionResponse.additionalData); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeMessageRulePredicates(writer: SerializationWriter, messageRulePredicates: MessageRulePredicates | undefined = {} as MessageRulePredicates) : void { writer.writeCollectionOfPrimitiveValues("bodyContains", messageRulePredicates.bodyContains); writer.writeCollectionOfPrimitiveValues("bodyOrSubjectContains", messageRulePredicates.bodyOrSubjectContains); @@ -1143,10 +1461,18 @@ export function serializeMessageRulePredicates(writer: SerializationWriter, mess writer.writeObjectValue("withinSizeRange", messageRulePredicates.withinSizeRange, serializeSizeRange); writer.writeAdditionalData(messageRulePredicates.additionalData); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeMultiValueLegacyExtendedProperty(writer: SerializationWriter, multiValueLegacyExtendedProperty: MultiValueLegacyExtendedProperty | undefined = {} as MultiValueLegacyExtendedProperty) : void { serializeEntity(writer, multiValueLegacyExtendedProperty) writer.writeCollectionOfPrimitiveValues("value", multiValueLegacyExtendedProperty.value); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeOutlookItem(writer: SerializationWriter, outlookItem: OutlookItem | undefined = {} as OutlookItem) : void { serializeEntity(writer, outlookItem) writer.writeCollectionOfPrimitiveValues("categories", outlookItem.categories); @@ -1154,14 +1480,26 @@ export function serializeOutlookItem(writer: SerializationWriter, outlookItem: O writer.writeDateValue("createdDateTime", outlookItem.createdDateTime); writer.writeDateValue("lastModifiedDateTime", outlookItem.lastModifiedDateTime); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeRecipient(writer: SerializationWriter, recipient: Recipient | undefined = {} as Recipient) : void { writer.writeObjectValue("emailAddress", recipient.emailAddress, serializeEmailAddress); writer.writeAdditionalData(recipient.additionalData); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeSingleValueLegacyExtendedProperty(writer: SerializationWriter, singleValueLegacyExtendedProperty: SingleValueLegacyExtendedProperty | undefined = {} as SingleValueLegacyExtendedProperty) : void { serializeEntity(writer, singleValueLegacyExtendedProperty) writer.writeStringValue("value", singleValueLegacyExtendedProperty.value); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeSizeRange(writer: SerializationWriter, sizeRange: SizeRange | undefined = {} as SizeRange) : void { writer.writeNumberValue("maximumSize", sizeRange.maximumSize); writer.writeNumberValue("minimumSize", sizeRange.minimumSize); @@ -1224,5 +1562,5 @@ export const SensitivityObject = { Private: "private", Confidential: "confidential", } as const; -// tslint:enable -// eslint-enable +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/models/oDataErrors/index.ts b/packages/test/generatedCode/models/oDataErrors/index.ts index 619d8299a..ef75c2ed5 100644 --- a/packages/test/generatedCode/models/oDataErrors/index.ts +++ b/packages/test/generatedCode/models/oDataErrors/index.ts @@ -1,20 +1,44 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota import { type AdditionalDataHolder, type ApiError, type Parsable, type ParseNode, type SerializationWriter } from '@microsoft/kiota-abstractions'; +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a ErrorDetails + */ export function createErrorDetailsFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoErrorDetails; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a InnerError + */ export function createInnerErrorFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoInnerError; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a MainError + */ export function createMainErrorFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoMainError; } +/** + * Creates a new instance of the appropriate class based on discriminator value + * @param parseNode The parse node to use to read the discriminator value and create the object + * @returns a ODataError + */ export function createODataErrorFromDiscriminatorValue(parseNode: ParseNode | undefined) { return deserializeIntoODataError; } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoErrorDetails(errorDetails: ErrorDetails | undefined = {} as ErrorDetails) : Record void> { return { "code": n => { errorDetails.code = n.getStringValue(); }, @@ -22,10 +46,18 @@ export function deserializeIntoErrorDetails(errorDetails: ErrorDetails | undefin "target": n => { errorDetails.target = n.getStringValue(); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoInnerError(innerError: InnerError | undefined = {} as InnerError) : Record void> { return { } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoMainError(mainError: MainError | undefined = {} as MainError) : Record void> { return { "code": n => { mainError.code = n.getStringValue(); }, @@ -35,6 +67,10 @@ export function deserializeIntoMainError(mainError: MainError | undefined = {} a "target": n => { mainError.target = n.getStringValue(); }, } } +/** + * The deserialization information for the current model + * @returns a Record void> + */ export function deserializeIntoODataError(oDataError: ODataError | undefined = {} as ODataError) : Record void> { return { "error": n => { oDataError.errorEscaped = n.getObjectValue(createMainErrorFromDiscriminatorValue); oDataError.message = oDataError.errorEscaped?.message ?? ""; }, @@ -58,6 +94,9 @@ export interface ErrorDetails extends AdditionalDataHolder, Parsable { */ target?: string; } +/** + * The structure of this object is service-specific + */ export interface InnerError extends AdditionalDataHolder, Parsable { /** * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well. @@ -100,15 +139,27 @@ export interface ODataError extends AdditionalDataHolder, ApiError, Parsable { */ errorEscaped?: MainError; } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeErrorDetails(writer: SerializationWriter, errorDetails: ErrorDetails | undefined = {} as ErrorDetails) : void { writer.writeStringValue("code", errorDetails.code); writer.writeStringValue("message", errorDetails.message); writer.writeStringValue("target", errorDetails.target); writer.writeAdditionalData(errorDetails.additionalData); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeInnerError(writer: SerializationWriter, innerError: InnerError | undefined = {} as InnerError) : void { writer.writeAdditionalData(innerError.additionalData); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeMainError(writer: SerializationWriter, mainError: MainError | undefined = {} as MainError) : void { writer.writeStringValue("code", mainError.code); writer.writeCollectionOfObjectValues("details", mainError.details, serializeErrorDetails); @@ -117,9 +168,13 @@ export function serializeMainError(writer: SerializationWriter, mainError: MainE writer.writeStringValue("target", mainError.target); writer.writeAdditionalData(mainError.additionalData); } +/** + * Serializes information the current object + * @param writer Serialization writer to use to serialize this model + */ export function serializeODataError(writer: SerializationWriter, oDataError: ODataError | undefined = {} as ODataError) : void { writer.writeObjectValue("error", oDataError.errorEscaped, serializeMainError); writer.writeAdditionalData(oDataError.additionalData); } -// tslint:enable -// eslint-enable +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/index.ts b/packages/test/generatedCode/users/index.ts index 105f5d412..aa3073b09 100644 --- a/packages/test/generatedCode/users/index.ts +++ b/packages/test/generatedCode/users/index.ts @@ -1,32 +1,33 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { UserItemRequestBuilder } from './item/'; -import { BaseRequestBuilder, getPathParameters, type RequestAdapter } from '@microsoft/kiota-abstractions'; +import { type UserItemRequestBuilder, UserItemRequestBuilderNavigationMetadata, UserItemRequestBuilderUriTemplate } from './item/'; +import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata } from '@microsoft/kiota-abstractions'; /** * Builds and executes requests for operations under /users */ -export class UsersRequestBuilder extends BaseRequestBuilder { +export interface UsersRequestBuilder extends BaseRequestBuilder { /** * Gets an item from the ApiSdk.users.item collection * @param userId The unique identifier of user * @returns a UserItemRequestBuilder */ - public byUserId(userId: string) : UserItemRequestBuilder { - if(!userId) throw new Error("userId cannot be undefined"); - const urlTplParams = getPathParameters(this.pathParameters); - urlTplParams["user%2Did"] = userId - return new UserItemRequestBuilder(urlTplParams, this.requestAdapter); - } - /** - * Instantiates a new UsersRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users", (x, y) => new UsersRequestBuilder(x, y)); - } + byUserId(userId: string) : UserItemRequestBuilder; } -// tslint:enable -// eslint-enable +/** + * Metadata for all the navigation properties in the request builder. + */ +export const UsersRequestBuilderNavigationMetadata: Record, NavigationMetadata> = { + byUserId: { + uriTemplate: UserItemRequestBuilderUriTemplate, + navigationMetadata: UserItemRequestBuilderNavigationMetadata, + pathParametersMappings: ["user%2Did"], + }, +}; +/** + * Uri template for the request builder. + */ +export const UsersRequestBuilderUriTemplate = "{+baseurl}/users"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/index.ts b/packages/test/generatedCode/users/item/index.ts index c89fbf85e..e088ce609 100644 --- a/packages/test/generatedCode/users/item/index.ts +++ b/packages/test/generatedCode/users/item/index.ts @@ -1,41 +1,51 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { InferenceClassificationRequestBuilder } from './inferenceClassification/'; -import { MailFoldersRequestBuilder } from './mailFolders/'; -import { MessagesRequestBuilder } from './messages/'; -import { BaseRequestBuilder, type RequestAdapter } from '@microsoft/kiota-abstractions'; +import { InferenceClassificationRequestBuilderNavigationMetadata, InferenceClassificationRequestBuilderRequestsMetadata, InferenceClassificationRequestBuilderUriTemplate, type InferenceClassificationRequestBuilder } from './inferenceClassification/'; +import { MailFoldersRequestBuilderNavigationMetadata, MailFoldersRequestBuilderRequestsMetadata, MailFoldersRequestBuilderUriTemplate, type MailFoldersRequestBuilder } from './mailFolders/'; +import { MessagesRequestBuilderNavigationMetadata, MessagesRequestBuilderRequestsMetadata, MessagesRequestBuilderUriTemplate, type MessagesRequestBuilder } from './messages/'; +import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata } from '@microsoft/kiota-abstractions'; /** * Builds and executes requests for operations under /users/{user-id} */ -export class UserItemRequestBuilder extends BaseRequestBuilder { +export interface UserItemRequestBuilder extends BaseRequestBuilder { /** * The inferenceClassification property */ - public get inferenceClassification(): InferenceClassificationRequestBuilder { - return new InferenceClassificationRequestBuilder(this.pathParameters, this.requestAdapter); - } + get inferenceClassification(): InferenceClassificationRequestBuilder; /** * The mailFolders property */ - public get mailFolders(): MailFoldersRequestBuilder { - return new MailFoldersRequestBuilder(this.pathParameters, this.requestAdapter); - } + get mailFolders(): MailFoldersRequestBuilder; /** * The messages property */ - public get messages(): MessagesRequestBuilder { - return new MessagesRequestBuilder(this.pathParameters, this.requestAdapter); - } - /** - * Instantiates a new UserItemRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}", (x, y) => new UserItemRequestBuilder(x, y)); - } + get messages(): MessagesRequestBuilder; } -// tslint:enable -// eslint-enable +/** + * Metadata for all the navigation properties in the request builder. + */ +export const UserItemRequestBuilderNavigationMetadata: Record, NavigationMetadata> = { + inferenceClassification: { + uriTemplate: InferenceClassificationRequestBuilderUriTemplate, + requestsMetadata: InferenceClassificationRequestBuilderRequestsMetadata, + navigationMetadata: InferenceClassificationRequestBuilderNavigationMetadata, + }, + mailFolders: { + uriTemplate: MailFoldersRequestBuilderUriTemplate, + requestsMetadata: MailFoldersRequestBuilderRequestsMetadata, + navigationMetadata: MailFoldersRequestBuilderNavigationMetadata, + }, + messages: { + uriTemplate: MessagesRequestBuilderUriTemplate, + requestsMetadata: MessagesRequestBuilderRequestsMetadata, + navigationMetadata: MessagesRequestBuilderNavigationMetadata, + }, +}; +/** + * Uri template for the request builder. + */ +export const UserItemRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/inferenceClassification/index.ts b/packages/test/generatedCode/users/item/inferenceClassification/index.ts index c8833aa62..059afd424 100644 --- a/packages/test/generatedCode/users/item/inferenceClassification/index.ts +++ b/packages/test/generatedCode/users/item/inferenceClassification/index.ts @@ -1,94 +1,101 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createInferenceClassificationFromDiscriminatorValue, deserializeIntoInferenceClassification, serializeInferenceClassification, type InferenceClassification } from '../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../models/oDataErrors/'; -import { OverridesRequestBuilder } from './overrides/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +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 RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface InferenceClassificationRequestBuilderGetQueryParameters { - /** - * Select properties to be returned - */ - select?: string[]; -} /** * Builds and executes requests for operations under /users/{user-id}/inferenceClassification */ -export class InferenceClassificationRequestBuilder extends BaseRequestBuilder { +export interface InferenceClassificationRequestBuilder extends BaseRequestBuilder { /** * The overrides property */ - public get overrides(): OverridesRequestBuilder { - return new OverridesRequestBuilder(this.pathParameters, this.requestAdapter); - } - /** - * Instantiates a new InferenceClassificationRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/inferenceClassification{?%24select}", (x, y) => new InferenceClassificationRequestBuilder(x, y)); - } + get overrides(): OverridesRequestBuilder; /** * Relevance classification of the user's messages based on explicit designations that override inferred relevance or importance. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of InferenceClassification */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createInferenceClassificationFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Update the navigation property inferenceClassification in users * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of InferenceClassification */ - public patch(body: InferenceClassification, requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toPatchRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createInferenceClassificationFromDiscriminatorValue, errorMapping); - } + patch(body: InferenceClassification, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Relevance classification of the user's messages based on explicit designations that override inferred relevance or importance. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, inferenceClassificationRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Update the navigation property inferenceClassification in users * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPatchRequestInformation(body: InferenceClassification, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.PATCH, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeInferenceClassification); - return requestInfo; - } + toPatchRequestInformation(body: InferenceClassification, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; +} +/** + * Relevance classification of the user's messages based on explicit designations that override inferred relevance or importance. + */ +export interface InferenceClassificationRequestBuilderGetQueryParameters { + /** + * Select properties to be returned + */ + select?: string[]; } -const inferenceClassificationRequestBuilderGetQueryParametersMapper: Record = { +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const InferenceClassificationRequestBuilderGetQueryParametersMapper: Record = { "select": "%24select", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the navigation properties in the request builder. + */ +export const InferenceClassificationRequestBuilderNavigationMetadata: Record, NavigationMetadata> = { + overrides: { + uriTemplate: OverridesRequestBuilderUriTemplate, + requestsMetadata: OverridesRequestBuilderRequestsMetadata, + navigationMetadata: OverridesRequestBuilderNavigationMetadata, + }, +}; +/** + * Metadata for all the requests in the request builder. + */ +export const InferenceClassificationRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createInferenceClassificationFromDiscriminatorValue, + queryParametersMapper: InferenceClassificationRequestBuilderGetQueryParametersMapper, + }, + patch: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createInferenceClassificationFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeInferenceClassification, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const InferenceClassificationRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/inferenceClassification{?%24select}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/inferenceClassification/overrides/count/index.ts b/packages/test/generatedCode/users/item/inferenceClassification/overrides/count/index.ts index 89559cafb..26b3008af 100644 --- a/packages/test/generatedCode/users/item/inferenceClassification/overrides/count/index.ts +++ b/packages/test/generatedCode/users/item/inferenceClassification/overrides/count/index.ts @@ -1,56 +1,59 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../models/oDataErrors/'; +import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface CountRequestBuilderGetQueryParameters { - /** - * Filter items by property values - */ - filter?: string; -} /** * Builds and executes requests for operations under /users/{user-id}/inferenceClassification/overrides/$count */ -export class CountRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new CountRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/inferenceClassification/overrides/$count{?%24filter}", (x, y) => new CountRequestBuilder(x, y)); - } +export interface CountRequestBuilder extends BaseRequestBuilder { /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Integer */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "number", errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, countRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "text/plain;q=0.9"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -const countRequestBuilderGetQueryParametersMapper: Record = { +/** + * Get the number of the resource + */ +export interface CountRequestBuilderGetQueryParameters { + /** + * Filter items by property values + */ + filter?: string; +} +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const CountRequestBuilderGetQueryParametersMapper: Record = { "filter": "%24filter", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const CountRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "text/plain;q=0.9", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "number", + queryParametersMapper: CountRequestBuilderGetQueryParametersMapper, + }, +}; +/** + * Uri template for the request builder. + */ +export const CountRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/inferenceClassification/overrides/$count{?%24filter}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/inferenceClassification/overrides/index.ts b/packages/test/generatedCode/users/item/inferenceClassification/overrides/index.ts index b7daf5999..45a1089ec 100644 --- a/packages/test/generatedCode/users/item/inferenceClassification/overrides/index.ts +++ b/packages/test/generatedCode/users/item/inferenceClassification/overrides/index.ts @@ -1,83 +1,33 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createInferenceClassificationOverrideCollectionResponseFromDiscriminatorValue, createInferenceClassificationOverrideFromDiscriminatorValue, deserializeIntoInferenceClassificationOverride, serializeInferenceClassificationOverride, type InferenceClassificationOverride, type InferenceClassificationOverrideCollectionResponse } from '../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../models/oDataErrors/'; -import { CountRequestBuilder } from './count/'; -import { InferenceClassificationOverrideItemRequestBuilder } from './item/'; -import { BaseRequestBuilder, getPathParameters, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createInferenceClassificationOverrideCollectionResponseFromDiscriminatorValue, createInferenceClassificationOverrideFromDiscriminatorValue, serializeInferenceClassificationOverride, type InferenceClassificationOverride, type InferenceClassificationOverrideCollectionResponse } from '../../../../models/'; +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 RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface OverridesRequestBuilderGetQueryParameters { - /** - * Include count of items - */ - count?: boolean; - /** - * Filter items by property values - */ - filter?: string; - /** - * Order items by property values - */ - orderby?: string[]; - /** - * Select properties to be returned - */ - select?: string[]; - /** - * Skip the first n items - */ - skip?: number; - /** - * Show only the first n items - */ - top?: number; -} /** * Builds and executes requests for operations under /users/{user-id}/inferenceClassification/overrides */ -export class OverridesRequestBuilder extends BaseRequestBuilder { +export interface OverridesRequestBuilder extends BaseRequestBuilder { /** * The Count property */ - public get count(): CountRequestBuilder { - return new CountRequestBuilder(this.pathParameters, this.requestAdapter); - } + get count(): CountRequestBuilder; /** * Gets an item from the ApiSdk.users.item.inferenceClassification.overrides.item collection * @param inferenceClassificationOverrideId The unique identifier of inferenceClassificationOverride * @returns a InferenceClassificationOverrideItemRequestBuilder */ - public byInferenceClassificationOverrideId(inferenceClassificationOverrideId: string) : InferenceClassificationOverrideItemRequestBuilder { - if(!inferenceClassificationOverrideId) throw new Error("inferenceClassificationOverrideId cannot be undefined"); - const urlTplParams = getPathParameters(this.pathParameters); - urlTplParams["inferenceClassificationOverride%2Did"] = inferenceClassificationOverrideId - return new InferenceClassificationOverrideItemRequestBuilder(urlTplParams, this.requestAdapter); - } - /** - * Instantiates a new OverridesRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/inferenceClassification/overrides{?%24top,%24skip,%24filter,%24count,%24orderby,%24select}", (x, y) => new OverridesRequestBuilder(x, y)); - } + byInferenceClassificationOverrideId(inferenceClassificationOverrideId: string) : InferenceClassificationOverrideItemRequestBuilder; /** * Get the overrides that a user has set up to always classify messages from certain senders in specific ways. Each override corresponds to an SMTP address of a sender. Initially, a user does not have any overrides. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of InferenceClassificationOverrideCollectionResponse * @see {@link https://learn.microsoft.com/graph/api/inferenceclassification-list-overrides?view=graph-rest-1.0|Find more info here} */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createInferenceClassificationOverrideCollectionResponseFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Create an override for a sender identified by an SMTP address. Future messages from that SMTP address will be consistently classifiedas specified in the override. Note * @param body The request body @@ -85,43 +35,54 @@ export class OverridesRequestBuilder extends BaseRequestBuilder | undefined) : Promise { - const requestInfo = this.toPostRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createInferenceClassificationOverrideFromDiscriminatorValue, errorMapping); - } + post(body: InferenceClassificationOverride, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get the overrides that a user has set up to always classify messages from certain senders in specific ways. Each override corresponds to an SMTP address of a sender. Initially, a user does not have any overrides. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, overridesRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Create an override for a sender identified by an SMTP address. Future messages from that SMTP address will be consistently classifiedas specified in the override. Note * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPostRequestInformation(body: InferenceClassificationOverride, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.POST, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeInferenceClassificationOverride); - return requestInfo; - } + toPostRequestInformation(body: InferenceClassificationOverride, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; +} +/** + * Get the overrides that a user has set up to always classify messages from certain senders in specific ways. Each override corresponds to an SMTP address of a sender. Initially, a user does not have any overrides. + */ +export interface OverridesRequestBuilderGetQueryParameters { + /** + * Include count of items + */ + count?: boolean; + /** + * Filter items by property values + */ + filter?: string; + /** + * Order items by property values + */ + orderby?: string[]; + /** + * Select properties to be returned + */ + select?: string[]; + /** + * Skip the first n items + */ + skip?: number; + /** + * Show only the first n items + */ + top?: number; } -const overridesRequestBuilderGetQueryParametersMapper: Record = { +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const OverridesRequestBuilderGetQueryParametersMapper: Record = { "count": "%24count", "filter": "%24filter", "orderby": "%24orderby", @@ -129,5 +90,50 @@ const overridesRequestBuilderGetQueryParametersMapper: Record = "skip": "%24skip", "top": "%24top", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the navigation properties in the request builder. + */ +export const OverridesRequestBuilderNavigationMetadata: Record, NavigationMetadata> = { + byInferenceClassificationOverrideId: { + uriTemplate: InferenceClassificationOverrideItemRequestBuilderUriTemplate, + requestsMetadata: InferenceClassificationOverrideItemRequestBuilderRequestsMetadata, + pathParametersMappings: ["inferenceClassificationOverride%2Did"], + }, + count: { + uriTemplate: CountRequestBuilderUriTemplate, + requestsMetadata: CountRequestBuilderRequestsMetadata, + }, +}; +/** + * Metadata for all the requests in the request builder. + */ +export const OverridesRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createInferenceClassificationOverrideCollectionResponseFromDiscriminatorValue, + queryParametersMapper: OverridesRequestBuilderGetQueryParametersMapper, + }, + post: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createInferenceClassificationOverrideFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeInferenceClassificationOverride, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const OverridesRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/inferenceClassification/overrides{?%24top,%24skip,%24filter,%24count,%24orderby,%24select}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/inferenceClassification/overrides/item/index.ts b/packages/test/generatedCode/users/item/inferenceClassification/overrides/item/index.ts index 5cd82af10..b9943cbe1 100644 --- a/packages/test/generatedCode/users/item/inferenceClassification/overrides/item/index.ts +++ b/packages/test/generatedCode/users/item/inferenceClassification/overrides/item/index.ts @@ -1,59 +1,27 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createInferenceClassificationOverrideFromDiscriminatorValue, deserializeIntoInferenceClassificationOverride, serializeInferenceClassificationOverride, type InferenceClassificationOverride } from '../../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +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 RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface InferenceClassificationOverrideItemRequestBuilderGetQueryParameters { - /** - * Select properties to be returned - */ - select?: string[]; -} /** * Builds and executes requests for operations under /users/{user-id}/inferenceClassification/overrides/{inferenceClassificationOverride-id} */ -export class InferenceClassificationOverrideItemRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new InferenceClassificationOverrideItemRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/inferenceClassification/overrides/{inferenceClassificationOverride%2Did}{?%24select}", (x, y) => new InferenceClassificationOverrideItemRequestBuilder(x, y)); - } +export interface InferenceClassificationOverrideItemRequestBuilder extends BaseRequestBuilder { /** * Delete an override specified by its ID. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of ArrayBuffer * @see {@link https://learn.microsoft.com/graph/api/inferenceclassificationoverride-delete?view=graph-rest-1.0|Find more info here} */ - public delete(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toDeleteRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "ArrayBuffer", errorMapping); - } + delete(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * A set of overrides for a user to always classify messages from specific senders in certain ways: focused, or other. Read-only. Nullable. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of InferenceClassificationOverride */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createInferenceClassificationOverrideFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Change the classifyAs field of an override as specified. You cannot use PATCH to change any other fields in an inferenceClassificationOverride instance. If an override exists for a sender and the sender changes his/her display name, you can use POST to force an update to the name field in the existing override. If an override exists for a sender and the sender changes his/her SMTP address, deleting the existing override and creating a new one withthe new SMTP address is the only way to 'update' the override for this sender. * @param body The request body @@ -61,55 +29,81 @@ export class InferenceClassificationOverrideItemRequestBuilder extends BaseReque * @returns a Promise of InferenceClassificationOverride * @see {@link https://learn.microsoft.com/graph/api/inferenceclassificationoverride-update?view=graph-rest-1.0|Find more info here} */ - public patch(body: InferenceClassificationOverride, requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toPatchRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createInferenceClassificationOverrideFromDiscriminatorValue, errorMapping); - } + patch(body: InferenceClassificationOverride, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Delete an override specified by its ID. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.DELETE, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * A set of overrides for a user to always classify messages from specific senders in certain ways: focused, or other. Read-only. Nullable. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, inferenceClassificationOverrideItemRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Change the classifyAs field of an override as specified. You cannot use PATCH to change any other fields in an inferenceClassificationOverride instance. If an override exists for a sender and the sender changes his/her display name, you can use POST to force an update to the name field in the existing override. If an override exists for a sender and the sender changes his/her SMTP address, deleting the existing override and creating a new one withthe new SMTP address is the only way to 'update' the override for this sender. * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPatchRequestInformation(body: InferenceClassificationOverride, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.PATCH, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeInferenceClassificationOverride); - return requestInfo; - } + toPatchRequestInformation(body: InferenceClassificationOverride, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -const inferenceClassificationOverrideItemRequestBuilderGetQueryParametersMapper: Record = { +/** + * A set of overrides for a user to always classify messages from specific senders in certain ways: focused, or other. Read-only. Nullable. + */ +export interface InferenceClassificationOverrideItemRequestBuilderGetQueryParameters { + /** + * Select properties to be returned + */ + select?: string[]; +} +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const InferenceClassificationOverrideItemRequestBuilderGetQueryParametersMapper: Record = { "select": "%24select", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const InferenceClassificationOverrideItemRequestBuilderRequestsMetadata: RequestsMetadata = { + delete: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "ArrayBuffer", + }, + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createInferenceClassificationOverrideFromDiscriminatorValue, + queryParametersMapper: InferenceClassificationOverrideItemRequestBuilderGetQueryParametersMapper, + }, + patch: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createInferenceClassificationOverrideFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeInferenceClassificationOverride, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const InferenceClassificationOverrideItemRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/inferenceClassification/overrides/{inferenceClassificationOverride%2Did}{?%24select}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/count/index.ts b/packages/test/generatedCode/users/item/mailFolders/count/index.ts index 3d11c9c95..1c91fc355 100644 --- a/packages/test/generatedCode/users/item/mailFolders/count/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/count/index.ts @@ -1,56 +1,59 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../models/oDataErrors/'; +import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface CountRequestBuilderGetQueryParameters { - /** - * Filter items by property values - */ - filter?: string; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/$count */ -export class CountRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new CountRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/$count{?%24filter}", (x, y) => new CountRequestBuilder(x, y)); - } +export interface CountRequestBuilder extends BaseRequestBuilder { /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Integer */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "number", errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, countRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "text/plain;q=0.9"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -const countRequestBuilderGetQueryParametersMapper: Record = { +/** + * Get the number of the resource + */ +export interface CountRequestBuilderGetQueryParameters { + /** + * Filter items by property values + */ + filter?: string; +} +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const CountRequestBuilderGetQueryParametersMapper: Record = { "filter": "%24filter", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const CountRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "text/plain;q=0.9", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "number", + queryParametersMapper: CountRequestBuilderGetQueryParametersMapper, + }, +}; +/** + * Uri template for the request builder. + */ +export const CountRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/$count{?%24filter}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/index.ts b/packages/test/generatedCode/users/item/mailFolders/index.ts index 6cbef67b3..11230820b 100644 --- a/packages/test/generatedCode/users/item/mailFolders/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/index.ts @@ -1,91 +1,33 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createMailFolderCollectionResponseFromDiscriminatorValue, createMailFolderFromDiscriminatorValue, deserializeIntoMailFolder, serializeMailFolder, type MailFolder, type MailFolderCollectionResponse } from '../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../models/oDataErrors/'; -import { CountRequestBuilder } from './count/'; -import { MailFolderItemRequestBuilder } from './item/'; -import { BaseRequestBuilder, getPathParameters, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createMailFolderCollectionResponseFromDiscriminatorValue, createMailFolderFromDiscriminatorValue, serializeMailFolder, type MailFolder, type MailFolderCollectionResponse } from '../../../models/'; +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 RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface MailFoldersRequestBuilderGetQueryParameters { - /** - * Include count of items - */ - count?: boolean; - /** - * Expand related entities - */ - expand?: string[]; - /** - * Filter items by property values - */ - filter?: string; - /** - * Include Hidden Folders - */ - includeHiddenFolders?: string; - /** - * Order items by property values - */ - orderby?: string[]; - /** - * Select properties to be returned - */ - select?: string[]; - /** - * Skip the first n items - */ - skip?: number; - /** - * Show only the first n items - */ - top?: number; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders */ -export class MailFoldersRequestBuilder extends BaseRequestBuilder { +export interface MailFoldersRequestBuilder extends BaseRequestBuilder { /** * The Count property */ - public get count(): CountRequestBuilder { - return new CountRequestBuilder(this.pathParameters, this.requestAdapter); - } + get count(): CountRequestBuilder; /** * Gets an item from the ApiSdk.users.item.mailFolders.item collection * @param mailFolderId The unique identifier of mailFolder * @returns a MailFolderItemRequestBuilder */ - public byMailFolderId(mailFolderId: string) : MailFolderItemRequestBuilder { - if(!mailFolderId) throw new Error("mailFolderId cannot be undefined"); - const urlTplParams = getPathParameters(this.pathParameters); - urlTplParams["mailFolder%2Did"] = mailFolderId - return new MailFolderItemRequestBuilder(urlTplParams, this.requestAdapter); - } - /** - * Instantiates a new MailFoldersRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders{?includeHiddenFolders,%24top,%24skip,%24filter,%24count,%24orderby,%24select,%24expand}", (x, y) => new MailFoldersRequestBuilder(x, y)); - } + byMailFolderId(mailFolderId: string) : MailFolderItemRequestBuilder; /** * The user's mail folders. Read-only. Nullable. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of MailFolderCollectionResponse * @see {@link https://learn.microsoft.com/graph/api/user-list-mailfolders?view=graph-rest-1.0|Find more info here} */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMailFolderCollectionResponseFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Use this API to create a new mail folder in the root folder of the user's mailbox. If you intend a new folder to be hidden, you must set the isHidden property to true on creation. * @param body The request body @@ -93,43 +35,62 @@ export class MailFoldersRequestBuilder extends BaseRequestBuilder | undefined) : Promise { - const requestInfo = this.toPostRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMailFolderFromDiscriminatorValue, errorMapping); - } + post(body: MailFolder, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * The user's mail folders. Read-only. Nullable. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, mailFoldersRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Use this API to create a new mail folder in the root folder of the user's mailbox. If you intend a new folder to be hidden, you must set the isHidden property to true on creation. * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPostRequestInformation(body: MailFolder, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.POST, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeMailFolder); - return requestInfo; - } + toPostRequestInformation(body: MailFolder, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; +} +/** + * The user's mail folders. Read-only. Nullable. + */ +export interface MailFoldersRequestBuilderGetQueryParameters { + /** + * Include count of items + */ + count?: boolean; + /** + * Expand related entities + */ + expand?: string[]; + /** + * Filter items by property values + */ + filter?: string; + /** + * Include Hidden Folders + */ + includeHiddenFolders?: string; + /** + * Order items by property values + */ + orderby?: string[]; + /** + * Select properties to be returned + */ + select?: string[]; + /** + * Skip the first n items + */ + skip?: number; + /** + * Show only the first n items + */ + top?: number; } -const mailFoldersRequestBuilderGetQueryParametersMapper: Record = { +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const MailFoldersRequestBuilderGetQueryParametersMapper: Record = { "count": "%24count", "expand": "%24expand", "filter": "%24filter", @@ -138,5 +99,51 @@ const mailFoldersRequestBuilderGetQueryParametersMapper: Record "skip": "%24skip", "top": "%24top", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the navigation properties in the request builder. + */ +export const MailFoldersRequestBuilderNavigationMetadata: Record, NavigationMetadata> = { + byMailFolderId: { + uriTemplate: MailFolderItemRequestBuilderUriTemplate, + requestsMetadata: MailFolderItemRequestBuilderRequestsMetadata, + navigationMetadata: MailFolderItemRequestBuilderNavigationMetadata, + pathParametersMappings: ["mailFolder%2Did"], + }, + count: { + uriTemplate: CountRequestBuilderUriTemplate, + requestsMetadata: CountRequestBuilderRequestsMetadata, + }, +}; +/** + * Metadata for all the requests in the request builder. + */ +export const MailFoldersRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMailFolderCollectionResponseFromDiscriminatorValue, + queryParametersMapper: MailFoldersRequestBuilderGetQueryParametersMapper, + }, + post: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMailFolderFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeMailFolder, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const MailFoldersRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders{?includeHiddenFolders,%24top,%24skip,%24filter,%24count,%24orderby,%24select,%24expand}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/count/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/count/index.ts index 7c35fa879..e4371f3c9 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/count/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/count/index.ts @@ -1,56 +1,59 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../models/oDataErrors/'; +import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface CountRequestBuilderGetQueryParameters { - /** - * Filter items by property values - */ - filter?: string; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/childFolders/$count */ -export class CountRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new CountRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/$count{?%24filter}", (x, y) => new CountRequestBuilder(x, y)); - } +export interface CountRequestBuilder extends BaseRequestBuilder { /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Integer */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "number", errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, countRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "text/plain;q=0.9"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -const countRequestBuilderGetQueryParametersMapper: Record = { +/** + * Get the number of the resource + */ +export interface CountRequestBuilderGetQueryParameters { + /** + * Filter items by property values + */ + filter?: string; +} +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const CountRequestBuilderGetQueryParametersMapper: Record = { "filter": "%24filter", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const CountRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "text/plain;q=0.9", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "number", + queryParametersMapper: CountRequestBuilderGetQueryParametersMapper, + }, +}; +/** + * Uri template for the request builder. + */ +export const CountRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/$count{?%24filter}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/index.ts index 4d1609f1a..334c0229b 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/index.ts @@ -1,91 +1,33 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createMailFolderCollectionResponseFromDiscriminatorValue, createMailFolderFromDiscriminatorValue, deserializeIntoMailFolder, serializeMailFolder, type MailFolder, type MailFolderCollectionResponse } from '../../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../models/oDataErrors/'; -import { CountRequestBuilder } from './count/'; -import { MailFolderItemRequestBuilder } from './item/'; -import { BaseRequestBuilder, getPathParameters, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createMailFolderCollectionResponseFromDiscriminatorValue, createMailFolderFromDiscriminatorValue, serializeMailFolder, type MailFolder, type MailFolderCollectionResponse } from '../../../../../models/'; +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 RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface ChildFoldersRequestBuilderGetQueryParameters { - /** - * Include count of items - */ - count?: boolean; - /** - * Expand related entities - */ - expand?: string[]; - /** - * Filter items by property values - */ - filter?: string; - /** - * Include Hidden Folders - */ - includeHiddenFolders?: string; - /** - * Order items by property values - */ - orderby?: string[]; - /** - * Select properties to be returned - */ - select?: string[]; - /** - * Skip the first n items - */ - skip?: number; - /** - * Show only the first n items - */ - top?: number; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/childFolders */ -export class ChildFoldersRequestBuilder extends BaseRequestBuilder { +export interface ChildFoldersRequestBuilder extends BaseRequestBuilder { /** * The Count property */ - public get count(): CountRequestBuilder { - return new CountRequestBuilder(this.pathParameters, this.requestAdapter); - } + get count(): CountRequestBuilder; /** * Gets an item from the ApiSdk.users.item.mailFolders.item.childFolders.item collection * @param mailFolderId1 The unique identifier of mailFolder * @returns a MailFolderItemRequestBuilder */ - public byMailFolderId1(mailFolderId1: string) : MailFolderItemRequestBuilder { - if(!mailFolderId1) throw new Error("mailFolderId1 cannot be undefined"); - const urlTplParams = getPathParameters(this.pathParameters); - urlTplParams["mailFolder%2Did1"] = mailFolderId1 - return new MailFolderItemRequestBuilder(urlTplParams, this.requestAdapter); - } - /** - * Instantiates a new ChildFoldersRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders{?includeHiddenFolders,%24top,%24skip,%24filter,%24count,%24orderby,%24select,%24expand}", (x, y) => new ChildFoldersRequestBuilder(x, y)); - } + byMailFolderId1(mailFolderId1: string) : MailFolderItemRequestBuilder; /** * The collection of child folders in the mailFolder. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of MailFolderCollectionResponse * @see {@link https://learn.microsoft.com/graph/api/mailfolder-list-childfolders?view=graph-rest-1.0|Find more info here} */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMailFolderCollectionResponseFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Create a new mailSearchFolder in the specified user's mailbox. * @param body The request body @@ -93,43 +35,62 @@ export class ChildFoldersRequestBuilder extends BaseRequestBuilder | undefined) : Promise { - const requestInfo = this.toPostRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMailFolderFromDiscriminatorValue, errorMapping); - } + post(body: MailFolder, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * The collection of child folders in the mailFolder. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, childFoldersRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Create a new mailSearchFolder in the specified user's mailbox. * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPostRequestInformation(body: MailFolder, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.POST, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeMailFolder); - return requestInfo; - } + toPostRequestInformation(body: MailFolder, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; +} +/** + * The collection of child folders in the mailFolder. + */ +export interface ChildFoldersRequestBuilderGetQueryParameters { + /** + * Include count of items + */ + count?: boolean; + /** + * Expand related entities + */ + expand?: string[]; + /** + * Filter items by property values + */ + filter?: string; + /** + * Include Hidden Folders + */ + includeHiddenFolders?: string; + /** + * Order items by property values + */ + orderby?: string[]; + /** + * Select properties to be returned + */ + select?: string[]; + /** + * Skip the first n items + */ + skip?: number; + /** + * Show only the first n items + */ + top?: number; } -const childFoldersRequestBuilderGetQueryParametersMapper: Record = { +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const ChildFoldersRequestBuilderGetQueryParametersMapper: Record = { "count": "%24count", "expand": "%24expand", "filter": "%24filter", @@ -138,5 +99,51 @@ const childFoldersRequestBuilderGetQueryParametersMapper: Record "skip": "%24skip", "top": "%24top", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the navigation properties in the request builder. + */ +export const ChildFoldersRequestBuilderNavigationMetadata: Record, NavigationMetadata> = { + byMailFolderId1: { + uriTemplate: MailFolderItemRequestBuilderUriTemplate, + requestsMetadata: MailFolderItemRequestBuilderRequestsMetadata, + navigationMetadata: MailFolderItemRequestBuilderNavigationMetadata, + pathParametersMappings: ["mailFolder%2Did1"], + }, + count: { + uriTemplate: CountRequestBuilderUriTemplate, + requestsMetadata: CountRequestBuilderRequestsMetadata, + }, +}; +/** + * Metadata for all the requests in the request builder. + */ +export const ChildFoldersRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMailFolderCollectionResponseFromDiscriminatorValue, + queryParametersMapper: ChildFoldersRequestBuilderGetQueryParametersMapper, + }, + post: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMailFolderFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeMailFolder, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const ChildFoldersRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders{?includeHiddenFolders,%24top,%24skip,%24filter,%24count,%24orderby,%24select,%24expand}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/index.ts index 9ff3602f7..c0c0de459 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/index.ts @@ -1,136 +1,141 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createMailFolderFromDiscriminatorValue, deserializeIntoMailFolder, serializeMailFolder, type MailFolder } from '../../../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../models/oDataErrors/'; -import { MessageRulesRequestBuilder } from './messageRules/'; -import { MessagesRequestBuilder } from './messages/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createMailFolderFromDiscriminatorValue, serializeMailFolder, type MailFolder } from '../../../../../../models/'; +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 RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface MailFolderItemRequestBuilderGetQueryParameters { - /** - * Expand related entities - */ - expand?: string[]; - /** - * Include Hidden Folders - */ - includeHiddenFolders?: string; - /** - * Select properties to be returned - */ - select?: string[]; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/childFolders/{mailFolder-id1} */ -export class MailFolderItemRequestBuilder extends BaseRequestBuilder { +export interface MailFolderItemRequestBuilder extends BaseRequestBuilder { /** * The messageRules property */ - public get messageRules(): MessageRulesRequestBuilder { - return new MessageRulesRequestBuilder(this.pathParameters, this.requestAdapter); - } + get messageRules(): MessageRulesRequestBuilder; /** * The messages property */ - public get messages(): MessagesRequestBuilder { - return new MessagesRequestBuilder(this.pathParameters, this.requestAdapter); - } - /** - * Instantiates a new MailFolderItemRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}{?includeHiddenFolders,%24select,%24expand}", (x, y) => new MailFolderItemRequestBuilder(x, y)); - } + get messages(): MessagesRequestBuilder; /** * Delete navigation property childFolders for users * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of ArrayBuffer */ - public delete(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toDeleteRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "ArrayBuffer", errorMapping); - } + delete(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * The collection of child folders in the mailFolder. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of MailFolder */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMailFolderFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Update the navigation property childFolders in users * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of MailFolder */ - public patch(body: MailFolder, requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toPatchRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMailFolderFromDiscriminatorValue, errorMapping); - } + patch(body: MailFolder, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Delete navigation property childFolders for users * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.DELETE, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * The collection of child folders in the mailFolder. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, mailFolderItemRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Update the navigation property childFolders in users * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPatchRequestInformation(body: MailFolder, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.PATCH, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeMailFolder); - return requestInfo; - } + toPatchRequestInformation(body: MailFolder, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; +} +/** + * The collection of child folders in the mailFolder. + */ +export interface MailFolderItemRequestBuilderGetQueryParameters { + /** + * Expand related entities + */ + expand?: string[]; + /** + * Include Hidden Folders + */ + includeHiddenFolders?: string; + /** + * Select properties to be returned + */ + select?: string[]; } -const mailFolderItemRequestBuilderGetQueryParametersMapper: Record = { +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const MailFolderItemRequestBuilderGetQueryParametersMapper: Record = { "expand": "%24expand", "select": "%24select", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the navigation properties in the request builder. + */ +export const MailFolderItemRequestBuilderNavigationMetadata: Record, NavigationMetadata> = { + messageRules: { + uriTemplate: MessageRulesRequestBuilderUriTemplate, + requestsMetadata: MessageRulesRequestBuilderRequestsMetadata, + navigationMetadata: MessageRulesRequestBuilderNavigationMetadata, + }, + messages: { + uriTemplate: MessagesRequestBuilderUriTemplate, + requestsMetadata: MessagesRequestBuilderRequestsMetadata, + navigationMetadata: MessagesRequestBuilderNavigationMetadata, + }, +}; +/** + * Metadata for all the requests in the request builder. + */ +export const MailFolderItemRequestBuilderRequestsMetadata: RequestsMetadata = { + delete: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "ArrayBuffer", + }, + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMailFolderFromDiscriminatorValue, + queryParametersMapper: MailFolderItemRequestBuilderGetQueryParametersMapper, + }, + patch: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMailFolderFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeMailFolder, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const MailFolderItemRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}{?includeHiddenFolders,%24select,%24expand}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messageRules/count/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messageRules/count/index.ts index 0c62f1b64..fb4065a6d 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messageRules/count/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messageRules/count/index.ts @@ -1,56 +1,59 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../../../models/oDataErrors/'; +import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface CountRequestBuilderGetQueryParameters { - /** - * Filter items by property values - */ - filter?: string; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/childFolders/{mailFolder-id1}/messageRules/$count */ -export class CountRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new CountRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messageRules/$count{?%24filter}", (x, y) => new CountRequestBuilder(x, y)); - } +export interface CountRequestBuilder extends BaseRequestBuilder { /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Integer */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "number", errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, countRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "text/plain;q=0.9"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -const countRequestBuilderGetQueryParametersMapper: Record = { +/** + * Get the number of the resource + */ +export interface CountRequestBuilderGetQueryParameters { + /** + * Filter items by property values + */ + filter?: string; +} +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const CountRequestBuilderGetQueryParametersMapper: Record = { "filter": "%24filter", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const CountRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "text/plain;q=0.9", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "number", + queryParametersMapper: CountRequestBuilderGetQueryParametersMapper, + }, +}; +/** + * Uri template for the request builder. + */ +export const CountRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messageRules/$count{?%24filter}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messageRules/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messageRules/index.ts index cf4ec4969..17494bc62 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messageRules/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messageRules/index.ts @@ -1,83 +1,33 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createMessageRuleCollectionResponseFromDiscriminatorValue, createMessageRuleFromDiscriminatorValue, deserializeIntoMessageRule, serializeMessageRule, type MessageRule, type MessageRuleCollectionResponse } from '../../../../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../../models/oDataErrors/'; -import { CountRequestBuilder } from './count/'; -import { MessageRuleItemRequestBuilder } from './item/'; -import { BaseRequestBuilder, getPathParameters, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createMessageRuleCollectionResponseFromDiscriminatorValue, createMessageRuleFromDiscriminatorValue, serializeMessageRule, type MessageRule, type MessageRuleCollectionResponse } from '../../../../../../../models/'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../../models/oDataErrors/'; +import { CountRequestBuilderRequestsMetadata, CountRequestBuilderUriTemplate, type CountRequestBuilder } from './count/'; +import { MessageRuleItemRequestBuilderRequestsMetadata, MessageRuleItemRequestBuilderUriTemplate, type MessageRuleItemRequestBuilder } from './item/'; +import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface MessageRulesRequestBuilderGetQueryParameters { - /** - * Include count of items - */ - count?: boolean; - /** - * Filter items by property values - */ - filter?: string; - /** - * Order items by property values - */ - orderby?: string[]; - /** - * Select properties to be returned - */ - select?: string[]; - /** - * Skip the first n items - */ - skip?: number; - /** - * Show only the first n items - */ - top?: number; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/childFolders/{mailFolder-id1}/messageRules */ -export class MessageRulesRequestBuilder extends BaseRequestBuilder { +export interface MessageRulesRequestBuilder extends BaseRequestBuilder { /** * The Count property */ - public get count(): CountRequestBuilder { - return new CountRequestBuilder(this.pathParameters, this.requestAdapter); - } + get count(): CountRequestBuilder; /** * Gets an item from the ApiSdk.users.item.mailFolders.item.childFolders.item.messageRules.item collection * @param messageRuleId The unique identifier of messageRule * @returns a MessageRuleItemRequestBuilder */ - public byMessageRuleId(messageRuleId: string) : MessageRuleItemRequestBuilder { - if(!messageRuleId) throw new Error("messageRuleId cannot be undefined"); - const urlTplParams = getPathParameters(this.pathParameters); - urlTplParams["messageRule%2Did"] = messageRuleId - return new MessageRuleItemRequestBuilder(urlTplParams, this.requestAdapter); - } - /** - * Instantiates a new MessageRulesRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messageRules{?%24top,%24skip,%24filter,%24count,%24orderby,%24select}", (x, y) => new MessageRulesRequestBuilder(x, y)); - } + byMessageRuleId(messageRuleId: string) : MessageRuleItemRequestBuilder; /** * Get all the messageRule objects defined for the user's inbox. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of MessageRuleCollectionResponse * @see {@link https://learn.microsoft.com/graph/api/mailfolder-list-messagerules?view=graph-rest-1.0|Find more info here} */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMessageRuleCollectionResponseFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Create a messageRule object by specifying a set of conditions and actions. Outlook carries out those actions if an incoming message in the user's Inbox meets the specified conditions. * @param body The request body @@ -85,43 +35,54 @@ export class MessageRulesRequestBuilder extends BaseRequestBuilder | undefined) : Promise { - const requestInfo = this.toPostRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMessageRuleFromDiscriminatorValue, errorMapping); - } + post(body: MessageRule, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get all the messageRule objects defined for the user's inbox. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, messageRulesRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Create a messageRule object by specifying a set of conditions and actions. Outlook carries out those actions if an incoming message in the user's Inbox meets the specified conditions. * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPostRequestInformation(body: MessageRule, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.POST, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeMessageRule); - return requestInfo; - } + toPostRequestInformation(body: MessageRule, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; +} +/** + * Get all the messageRule objects defined for the user's inbox. + */ +export interface MessageRulesRequestBuilderGetQueryParameters { + /** + * Include count of items + */ + count?: boolean; + /** + * Filter items by property values + */ + filter?: string; + /** + * Order items by property values + */ + orderby?: string[]; + /** + * Select properties to be returned + */ + select?: string[]; + /** + * Skip the first n items + */ + skip?: number; + /** + * Show only the first n items + */ + top?: number; } -const messageRulesRequestBuilderGetQueryParametersMapper: Record = { +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const MessageRulesRequestBuilderGetQueryParametersMapper: Record = { "count": "%24count", "filter": "%24filter", "orderby": "%24orderby", @@ -129,5 +90,50 @@ const messageRulesRequestBuilderGetQueryParametersMapper: Record "skip": "%24skip", "top": "%24top", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the navigation properties in the request builder. + */ +export const MessageRulesRequestBuilderNavigationMetadata: Record, NavigationMetadata> = { + byMessageRuleId: { + uriTemplate: MessageRuleItemRequestBuilderUriTemplate, + requestsMetadata: MessageRuleItemRequestBuilderRequestsMetadata, + pathParametersMappings: ["messageRule%2Did"], + }, + count: { + uriTemplate: CountRequestBuilderUriTemplate, + requestsMetadata: CountRequestBuilderRequestsMetadata, + }, +}; +/** + * Metadata for all the requests in the request builder. + */ +export const MessageRulesRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMessageRuleCollectionResponseFromDiscriminatorValue, + queryParametersMapper: MessageRulesRequestBuilderGetQueryParametersMapper, + }, + post: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMessageRuleFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeMessageRule, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const MessageRulesRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messageRules{?%24top,%24skip,%24filter,%24count,%24orderby,%24select}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messageRules/item/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messageRules/item/index.ts index b966fdc25..f3982906f 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messageRules/item/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messageRules/item/index.ts @@ -1,60 +1,28 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createMessageRuleFromDiscriminatorValue, deserializeIntoMessageRule, serializeMessageRule, type MessageRule } from '../../../../../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createMessageRuleFromDiscriminatorValue, serializeMessageRule, type MessageRule } from '../../../../../../../../models/'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../../../models/oDataErrors/'; +import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface MessageRuleItemRequestBuilderGetQueryParameters { - /** - * Select properties to be returned - */ - select?: string[]; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/childFolders/{mailFolder-id1}/messageRules/{messageRule-id} */ -export class MessageRuleItemRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new MessageRuleItemRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messageRules/{messageRule%2Did}{?%24select}", (x, y) => new MessageRuleItemRequestBuilder(x, y)); - } +export interface MessageRuleItemRequestBuilder extends BaseRequestBuilder { /** * Delete the specified messageRule object. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of ArrayBuffer * @see {@link https://learn.microsoft.com/graph/api/messagerule-delete?view=graph-rest-1.0|Find more info here} */ - public delete(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toDeleteRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "ArrayBuffer", errorMapping); - } + delete(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get the properties and relationships of a messageRule object. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of MessageRule * @see {@link https://learn.microsoft.com/graph/api/messagerule-get?view=graph-rest-1.0|Find more info here} */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMessageRuleFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Change writable properties on a messageRule object and save the changes. * @param body The request body @@ -62,55 +30,81 @@ export class MessageRuleItemRequestBuilder extends BaseRequestBuilder | undefined) : Promise { - const requestInfo = this.toPatchRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMessageRuleFromDiscriminatorValue, errorMapping); - } + patch(body: MessageRule, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Delete the specified messageRule object. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.DELETE, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Get the properties and relationships of a messageRule object. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, messageRuleItemRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Change writable properties on a messageRule object and save the changes. * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPatchRequestInformation(body: MessageRule, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.PATCH, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeMessageRule); - return requestInfo; - } + toPatchRequestInformation(body: MessageRule, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -const messageRuleItemRequestBuilderGetQueryParametersMapper: Record = { +/** + * Get the properties and relationships of a messageRule object. + */ +export interface MessageRuleItemRequestBuilderGetQueryParameters { + /** + * Select properties to be returned + */ + select?: string[]; +} +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const MessageRuleItemRequestBuilderGetQueryParametersMapper: Record = { "select": "%24select", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const MessageRuleItemRequestBuilderRequestsMetadata: RequestsMetadata = { + delete: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "ArrayBuffer", + }, + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMessageRuleFromDiscriminatorValue, + queryParametersMapper: MessageRuleItemRequestBuilderGetQueryParametersMapper, + }, + patch: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMessageRuleFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeMessageRule, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const MessageRuleItemRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messageRules/{messageRule%2Did}{?%24select}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/count/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/count/index.ts index 87d95d0e1..ec6d01e59 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/count/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/count/index.ts @@ -1,61 +1,64 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../../../models/oDataErrors/'; +import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface CountRequestBuilderGetQueryParameters { - /** - * Filter items by property values - */ - filter?: string; - /** - * Search items by search phrases - */ - search?: string; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/childFolders/{mailFolder-id1}/messages/$count */ -export class CountRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new CountRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messages/$count{?%24search,%24filter}", (x, y) => new CountRequestBuilder(x, y)); - } +export interface CountRequestBuilder extends BaseRequestBuilder { /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Integer */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "number", errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, countRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "text/plain;q=0.9"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -const countRequestBuilderGetQueryParametersMapper: Record = { +/** + * Get the number of the resource + */ +export interface CountRequestBuilderGetQueryParameters { + /** + * Filter items by property values + */ + filter?: string; + /** + * Search items by search phrases + */ + search?: string; +} +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const CountRequestBuilderGetQueryParametersMapper: Record = { "filter": "%24filter", "search": "%24search", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const CountRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "text/plain;q=0.9", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "number", + queryParametersMapper: CountRequestBuilderGetQueryParametersMapper, + }, +}; +/** + * Uri template for the request builder. + */ +export const CountRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messages/$count{?%24search,%24filter}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/index.ts index 16732af02..7662ae394 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/index.ts @@ -1,91 +1,33 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createMessageCollectionResponseFromDiscriminatorValue, createMessageFromDiscriminatorValue, deserializeIntoMessage, serializeMessage, type Message, type MessageCollectionResponse } from '../../../../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../../models/oDataErrors/'; -import { CountRequestBuilder } from './count/'; -import { MessageItemRequestBuilder } from './item/'; -import { BaseRequestBuilder, getPathParameters, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createMessageCollectionResponseFromDiscriminatorValue, createMessageFromDiscriminatorValue, serializeMessage, type Message, type MessageCollectionResponse } from '../../../../../../../models/'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../../models/oDataErrors/'; +import { CountRequestBuilderRequestsMetadata, CountRequestBuilderUriTemplate, type CountRequestBuilder } from './count/'; +import { MessageItemRequestBuilderNavigationMetadata, MessageItemRequestBuilderRequestsMetadata, MessageItemRequestBuilderUriTemplate, type MessageItemRequestBuilder } from './item/'; +import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface MessagesRequestBuilderGetQueryParameters { - /** - * Include count of items - */ - count?: boolean; - /** - * Expand related entities - */ - expand?: string[]; - /** - * Filter items by property values - */ - filter?: string; - /** - * Order items by property values - */ - orderby?: string[]; - /** - * Search items by search phrases - */ - search?: string; - /** - * Select properties to be returned - */ - select?: string[]; - /** - * Skip the first n items - */ - skip?: number; - /** - * Show only the first n items - */ - top?: number; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/childFolders/{mailFolder-id1}/messages */ -export class MessagesRequestBuilder extends BaseRequestBuilder { +export interface MessagesRequestBuilder extends BaseRequestBuilder { /** * The Count property */ - public get count(): CountRequestBuilder { - return new CountRequestBuilder(this.pathParameters, this.requestAdapter); - } + get count(): CountRequestBuilder; /** * Gets an item from the ApiSdk.users.item.mailFolders.item.childFolders.item.messages.item collection * @param messageId The unique identifier of message * @returns a MessageItemRequestBuilder */ - public byMessageId(messageId: string) : MessageItemRequestBuilder { - if(!messageId) throw new Error("messageId cannot be undefined"); - const urlTplParams = getPathParameters(this.pathParameters); - urlTplParams["message%2Did"] = messageId - return new MessageItemRequestBuilder(urlTplParams, this.requestAdapter); - } - /** - * Instantiates a new MessagesRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messages{?%24top,%24skip,%24search,%24filter,%24count,%24orderby,%24select,%24expand}", (x, y) => new MessagesRequestBuilder(x, y)); - } + byMessageId(messageId: string) : MessageItemRequestBuilder; /** * Get all the messages in the specified user's mailbox, or those messages in a specified folder in the mailbox. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of MessageCollectionResponse * @see {@link https://learn.microsoft.com/graph/api/mailfolder-list-messages?view=graph-rest-1.0|Find more info here} */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMessageCollectionResponseFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Use this API to create a new Message in a mailfolder. * @param body The request body @@ -93,43 +35,62 @@ export class MessagesRequestBuilder extends BaseRequestBuilder | undefined) : Promise { - const requestInfo = this.toPostRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMessageFromDiscriminatorValue, errorMapping); - } + post(body: Message, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get all the messages in the specified user's mailbox, or those messages in a specified folder in the mailbox. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, messagesRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Use this API to create a new Message in a mailfolder. * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPostRequestInformation(body: Message, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.POST, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeMessage); - return requestInfo; - } + toPostRequestInformation(body: Message, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; +} +/** + * Get all the messages in the specified user's mailbox, or those messages in a specified folder in the mailbox. + */ +export interface MessagesRequestBuilderGetQueryParameters { + /** + * Include count of items + */ + count?: boolean; + /** + * Expand related entities + */ + expand?: string[]; + /** + * Filter items by property values + */ + filter?: string; + /** + * Order items by property values + */ + orderby?: string[]; + /** + * Search items by search phrases + */ + search?: string; + /** + * Select properties to be returned + */ + select?: string[]; + /** + * Skip the first n items + */ + skip?: number; + /** + * Show only the first n items + */ + top?: number; } -const messagesRequestBuilderGetQueryParametersMapper: Record = { +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const MessagesRequestBuilderGetQueryParametersMapper: Record = { "count": "%24count", "expand": "%24expand", "filter": "%24filter", @@ -139,5 +100,51 @@ const messagesRequestBuilderGetQueryParametersMapper: Record = { "skip": "%24skip", "top": "%24top", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the navigation properties in the request builder. + */ +export const MessagesRequestBuilderNavigationMetadata: Record, NavigationMetadata> = { + byMessageId: { + uriTemplate: MessageItemRequestBuilderUriTemplate, + requestsMetadata: MessageItemRequestBuilderRequestsMetadata, + navigationMetadata: MessageItemRequestBuilderNavigationMetadata, + pathParametersMappings: ["message%2Did"], + }, + count: { + uriTemplate: CountRequestBuilderUriTemplate, + requestsMetadata: CountRequestBuilderRequestsMetadata, + }, +}; +/** + * Metadata for all the requests in the request builder. + */ +export const MessagesRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMessageCollectionResponseFromDiscriminatorValue, + queryParametersMapper: MessagesRequestBuilderGetQueryParametersMapper, + }, + post: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMessageFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeMessage, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const MessagesRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messages{?%24top,%24skip,%24search,%24filter,%24count,%24orderby,%24select,%24expand}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/attachments/count/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/attachments/count/index.ts index 0a1e00a9d..bbbd260af 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/attachments/count/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/attachments/count/index.ts @@ -1,56 +1,59 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../../../../../models/oDataErrors/'; +import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface CountRequestBuilderGetQueryParameters { - /** - * Filter items by property values - */ - filter?: string; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/childFolders/{mailFolder-id1}/messages/{message-id}/attachments/$count */ -export class CountRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new CountRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messages/{message%2Did}/attachments/$count{?%24filter}", (x, y) => new CountRequestBuilder(x, y)); - } +export interface CountRequestBuilder extends BaseRequestBuilder { /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Integer */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "number", errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, countRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "text/plain;q=0.9"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -const countRequestBuilderGetQueryParametersMapper: Record = { +/** + * Get the number of the resource + */ +export interface CountRequestBuilderGetQueryParameters { + /** + * Filter items by property values + */ + filter?: string; +} +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const CountRequestBuilderGetQueryParametersMapper: Record = { "filter": "%24filter", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const CountRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "text/plain;q=0.9", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "number", + queryParametersMapper: CountRequestBuilderGetQueryParametersMapper, + }, +}; +/** + * Uri template for the request builder. + */ +export const CountRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messages/{message%2Did}/attachments/$count{?%24filter}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/attachments/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/attachments/index.ts index 0edcc8a62..c0a02a3bd 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/attachments/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/attachments/index.ts @@ -1,79 +1,33 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createAttachmentCollectionResponseFromDiscriminatorValue, createAttachmentFromDiscriminatorValue, deserializeIntoAttachment, serializeAttachment, type Attachment, type AttachmentCollectionResponse } from '../../../../../../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../../../../models/oDataErrors/'; -import { CountRequestBuilder } from './count/'; -import { AttachmentItemRequestBuilder } from './item/'; -import { BaseRequestBuilder, getPathParameters, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createAttachmentCollectionResponseFromDiscriminatorValue, createAttachmentFromDiscriminatorValue, serializeAttachment, type Attachment, type AttachmentCollectionResponse } from '../../../../../../../../../models/'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../../../../models/oDataErrors/'; +import { CountRequestBuilderRequestsMetadata, CountRequestBuilderUriTemplate, type CountRequestBuilder } from './count/'; +import { AttachmentItemRequestBuilderRequestsMetadata, AttachmentItemRequestBuilderUriTemplate, type AttachmentItemRequestBuilder } from './item/'; +import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface AttachmentsRequestBuilderGetQueryParameters { - /** - * Include count of items - */ - count?: boolean; - /** - * Expand related entities - */ - expand?: string[]; - /** - * Filter items by property values - */ - filter?: string; - /** - * Order items by property values - */ - orderby?: string[]; - /** - * Select properties to be returned - */ - select?: string[]; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/childFolders/{mailFolder-id1}/messages/{message-id}/attachments */ -export class AttachmentsRequestBuilder extends BaseRequestBuilder { +export interface AttachmentsRequestBuilder extends BaseRequestBuilder { /** * The Count property */ - public get count(): CountRequestBuilder { - return new CountRequestBuilder(this.pathParameters, this.requestAdapter); - } + get count(): CountRequestBuilder; /** * Gets an item from the ApiSdk.users.item.mailFolders.item.childFolders.item.messages.item.attachments.item collection * @param attachmentId The unique identifier of attachment * @returns a AttachmentItemRequestBuilder */ - public byAttachmentId(attachmentId: string) : AttachmentItemRequestBuilder { - if(!attachmentId) throw new Error("attachmentId cannot be undefined"); - const urlTplParams = getPathParameters(this.pathParameters); - urlTplParams["attachment%2Did"] = attachmentId - return new AttachmentItemRequestBuilder(urlTplParams, this.requestAdapter); - } + byAttachmentId(attachmentId: string) : AttachmentItemRequestBuilder; /** - * Instantiates a new AttachmentsRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messages/{message%2Did}/attachments{?%24filter,%24count,%24orderby,%24select,%24expand}", (x, y) => new AttachmentsRequestBuilder(x, y)); - } - /** - * Retrieve a list of attachment objects. + * Retrieve a list of attachment objects attached to a message. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of AttachmentCollectionResponse - * @see {@link https://learn.microsoft.com/graph/api/eventmessage-list-attachments?view=graph-rest-1.0|Find more info here} + * @see {@link https://learn.microsoft.com/graph/api/message-list-attachments?view=graph-rest-1.0|Find more info here} */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createAttachmentCollectionResponseFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Use this API to create a new Attachment. An attachment can be one of the following types: All these types of attachment resources are derived from the attachmentresource. * @param body The request body @@ -81,48 +35,100 @@ export class AttachmentsRequestBuilder extends BaseRequestBuilder | undefined) : Promise { - const requestInfo = this.toPostRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createAttachmentFromDiscriminatorValue, errorMapping); - } + post(body: Attachment, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** - * Retrieve a list of attachment objects. + * Retrieve a list of attachment objects attached to a message. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, attachmentsRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Use this API to create a new Attachment. An attachment can be one of the following types: All these types of attachment resources are derived from the attachmentresource. * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPostRequestInformation(body: Attachment, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.POST, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeAttachment); - return requestInfo; - } + toPostRequestInformation(body: Attachment, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; +} +/** + * Retrieve a list of attachment objects attached to a message. + */ +export interface AttachmentsRequestBuilderGetQueryParameters { + /** + * Include count of items + */ + count?: boolean; + /** + * Expand related entities + */ + expand?: string[]; + /** + * Filter items by property values + */ + filter?: string; + /** + * Order items by property values + */ + orderby?: string[]; + /** + * Select properties to be returned + */ + select?: string[]; } -const attachmentsRequestBuilderGetQueryParametersMapper: Record = { +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const AttachmentsRequestBuilderGetQueryParametersMapper: Record = { "count": "%24count", "expand": "%24expand", "filter": "%24filter", "orderby": "%24orderby", "select": "%24select", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the navigation properties in the request builder. + */ +export const AttachmentsRequestBuilderNavigationMetadata: Record, NavigationMetadata> = { + byAttachmentId: { + uriTemplate: AttachmentItemRequestBuilderUriTemplate, + requestsMetadata: AttachmentItemRequestBuilderRequestsMetadata, + pathParametersMappings: ["attachment%2Did"], + }, + count: { + uriTemplate: CountRequestBuilderUriTemplate, + requestsMetadata: CountRequestBuilderRequestsMetadata, + }, +}; +/** + * Metadata for all the requests in the request builder. + */ +export const AttachmentsRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createAttachmentCollectionResponseFromDiscriminatorValue, + queryParametersMapper: AttachmentsRequestBuilderGetQueryParametersMapper, + }, + post: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createAttachmentFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeAttachment, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const AttachmentsRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messages/{message%2Did}/attachments{?%24filter,%24count,%24orderby,%24select,%24expand}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/attachments/item/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/attachments/item/index.ts index 1072471c7..f6ed1eec7 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/attachments/item/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/attachments/item/index.ts @@ -1,89 +1,87 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota import { createAttachmentFromDiscriminatorValue, type Attachment } from '../../../../../../../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../../../../../models/oDataErrors/'; +import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface AttachmentItemRequestBuilderGetQueryParameters { - /** - * Expand related entities - */ - expand?: string[]; - /** - * Select properties to be returned - */ - select?: string[]; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/childFolders/{mailFolder-id1}/messages/{message-id}/attachments/{attachment-id} */ -export class AttachmentItemRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new AttachmentItemRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messages/{message%2Did}/attachments/{attachment%2Did}{?%24select,%24expand}", (x, y) => new AttachmentItemRequestBuilder(x, y)); - } +export interface AttachmentItemRequestBuilder extends BaseRequestBuilder { /** * Delete navigation property attachments for users * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of ArrayBuffer */ - public delete(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toDeleteRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "ArrayBuffer", errorMapping); - } + delete(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Read the properties, relationships, or raw contents of an attachment that is attached to a user event, message, or group post. An attachment can be one of the following types: All these types of attachments are derived from the attachment resource. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Attachment * @see {@link https://learn.microsoft.com/graph/api/attachment-get?view=graph-rest-1.0|Find more info here} */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createAttachmentFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Delete navigation property attachments for users * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.DELETE, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Read the properties, relationships, or raw contents of an attachment that is attached to a user event, message, or group post. An attachment can be one of the following types: All these types of attachments are derived from the attachment resource. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, attachmentItemRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -const attachmentItemRequestBuilderGetQueryParametersMapper: Record = { +/** + * Read the properties, relationships, or raw contents of an attachment that is attached to a user event, message, or group post. An attachment can be one of the following types: All these types of attachments are derived from the attachment resource. + */ +export interface AttachmentItemRequestBuilderGetQueryParameters { + /** + * Expand related entities + */ + expand?: string[]; + /** + * Select properties to be returned + */ + select?: string[]; +} +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const AttachmentItemRequestBuilderGetQueryParametersMapper: Record = { "expand": "%24expand", "select": "%24select", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const AttachmentItemRequestBuilderRequestsMetadata: RequestsMetadata = { + delete: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "ArrayBuffer", + }, + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createAttachmentFromDiscriminatorValue, + queryParametersMapper: AttachmentItemRequestBuilderGetQueryParametersMapper, + }, +}; +/** + * Uri template for the request builder. + */ +export const AttachmentItemRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messages/{message%2Did}/attachments/{attachment%2Did}{?%24select,%24expand}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/extensions/count/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/extensions/count/index.ts index 9e7e879a1..bd25162ec 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/extensions/count/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/extensions/count/index.ts @@ -1,56 +1,59 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../../../../../models/oDataErrors/'; +import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface CountRequestBuilderGetQueryParameters { - /** - * Filter items by property values - */ - filter?: string; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/childFolders/{mailFolder-id1}/messages/{message-id}/extensions/$count */ -export class CountRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new CountRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messages/{message%2Did}/extensions/$count{?%24filter}", (x, y) => new CountRequestBuilder(x, y)); - } +export interface CountRequestBuilder extends BaseRequestBuilder { /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Integer */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "number", errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, countRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "text/plain;q=0.9"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -const countRequestBuilderGetQueryParametersMapper: Record = { +/** + * Get the number of the resource + */ +export interface CountRequestBuilderGetQueryParameters { + /** + * Filter items by property values + */ + filter?: string; +} +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const CountRequestBuilderGetQueryParametersMapper: Record = { "filter": "%24filter", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const CountRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "text/plain;q=0.9", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "number", + queryParametersMapper: CountRequestBuilderGetQueryParametersMapper, + }, +}; +/** + * Uri template for the request builder. + */ +export const CountRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messages/{message%2Did}/extensions/$count{?%24filter}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/extensions/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/extensions/index.ts index 9288cb66f..7c2974d41 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/extensions/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/extensions/index.ts @@ -1,86 +1,32 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createExtensionCollectionResponseFromDiscriminatorValue, createExtensionFromDiscriminatorValue, deserializeIntoExtension, serializeExtension, type Extension, type ExtensionCollectionResponse } from '../../../../../../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../../../../models/oDataErrors/'; -import { CountRequestBuilder } from './count/'; -import { ExtensionItemRequestBuilder } from './item/'; -import { BaseRequestBuilder, getPathParameters, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createExtensionCollectionResponseFromDiscriminatorValue, createExtensionFromDiscriminatorValue, serializeExtension, type Extension, type ExtensionCollectionResponse } from '../../../../../../../../../models/'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../../../../models/oDataErrors/'; +import { CountRequestBuilderRequestsMetadata, CountRequestBuilderUriTemplate, type CountRequestBuilder } from './count/'; +import { ExtensionItemRequestBuilderRequestsMetadata, ExtensionItemRequestBuilderUriTemplate, type ExtensionItemRequestBuilder } from './item/'; +import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface ExtensionsRequestBuilderGetQueryParameters { - /** - * Include count of items - */ - count?: boolean; - /** - * Expand related entities - */ - expand?: string[]; - /** - * Filter items by property values - */ - filter?: string; - /** - * Order items by property values - */ - orderby?: string[]; - /** - * Select properties to be returned - */ - select?: string[]; - /** - * Skip the first n items - */ - skip?: number; - /** - * Show only the first n items - */ - top?: number; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/childFolders/{mailFolder-id1}/messages/{message-id}/extensions */ -export class ExtensionsRequestBuilder extends BaseRequestBuilder { +export interface ExtensionsRequestBuilder extends BaseRequestBuilder { /** * The Count property */ - public get count(): CountRequestBuilder { - return new CountRequestBuilder(this.pathParameters, this.requestAdapter); - } + get count(): CountRequestBuilder; /** * Gets an item from the ApiSdk.users.item.mailFolders.item.childFolders.item.messages.item.extensions.item collection * @param extensionId The unique identifier of extension * @returns a ExtensionItemRequestBuilder */ - public byExtensionId(extensionId: string) : ExtensionItemRequestBuilder { - if(!extensionId) throw new Error("extensionId cannot be undefined"); - const urlTplParams = getPathParameters(this.pathParameters); - urlTplParams["extension%2Did"] = extensionId - return new ExtensionItemRequestBuilder(urlTplParams, this.requestAdapter); - } - /** - * Instantiates a new ExtensionsRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messages/{message%2Did}/extensions{?%24top,%24skip,%24filter,%24count,%24orderby,%24select,%24expand}", (x, y) => new ExtensionsRequestBuilder(x, y)); - } + byExtensionId(extensionId: string) : ExtensionItemRequestBuilder; /** * Get an open extension (openTypeExtension object) identified by name or fully qualified name. The table in the Permissions section lists the resources that support open extensions. The following table lists the three scenarios where you can get an open extension from a supported resource instance. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of ExtensionCollectionResponse */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createExtensionCollectionResponseFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Create an open extension (openTypeExtension object) and add custom properties in a new or existing instance of a resource. You can create an open extension in a resource instance and store custom data to it all in the same operation, except for specific resources. The table in the Permissions section lists the resources that support open extensions. * @param body The request body @@ -88,43 +34,58 @@ export class ExtensionsRequestBuilder extends BaseRequestBuilder | undefined) : Promise { - const requestInfo = this.toPostRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createExtensionFromDiscriminatorValue, errorMapping); - } + post(body: Extension, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get an open extension (openTypeExtension object) identified by name or fully qualified name. The table in the Permissions section lists the resources that support open extensions. The following table lists the three scenarios where you can get an open extension from a supported resource instance. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, extensionsRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Create an open extension (openTypeExtension object) and add custom properties in a new or existing instance of a resource. You can create an open extension in a resource instance and store custom data to it all in the same operation, except for specific resources. The table in the Permissions section lists the resources that support open extensions. * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPostRequestInformation(body: Extension, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.POST, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeExtension); - return requestInfo; - } + toPostRequestInformation(body: Extension, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; +} +/** + * Get an open extension (openTypeExtension object) identified by name or fully qualified name. The table in the Permissions section lists the resources that support open extensions. The following table lists the three scenarios where you can get an open extension from a supported resource instance. + */ +export interface ExtensionsRequestBuilderGetQueryParameters { + /** + * Include count of items + */ + count?: boolean; + /** + * Expand related entities + */ + expand?: string[]; + /** + * Filter items by property values + */ + filter?: string; + /** + * Order items by property values + */ + orderby?: string[]; + /** + * Select properties to be returned + */ + select?: string[]; + /** + * Skip the first n items + */ + skip?: number; + /** + * Show only the first n items + */ + top?: number; } -const extensionsRequestBuilderGetQueryParametersMapper: Record = { +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const ExtensionsRequestBuilderGetQueryParametersMapper: Record = { "count": "%24count", "expand": "%24expand", "filter": "%24filter", @@ -133,5 +94,50 @@ const extensionsRequestBuilderGetQueryParametersMapper: Record = "skip": "%24skip", "top": "%24top", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the navigation properties in the request builder. + */ +export const ExtensionsRequestBuilderNavigationMetadata: Record, NavigationMetadata> = { + byExtensionId: { + uriTemplate: ExtensionItemRequestBuilderUriTemplate, + requestsMetadata: ExtensionItemRequestBuilderRequestsMetadata, + pathParametersMappings: ["extension%2Did"], + }, + count: { + uriTemplate: CountRequestBuilderUriTemplate, + requestsMetadata: CountRequestBuilderRequestsMetadata, + }, +}; +/** + * Metadata for all the requests in the request builder. + */ +export const ExtensionsRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createExtensionCollectionResponseFromDiscriminatorValue, + queryParametersMapper: ExtensionsRequestBuilderGetQueryParametersMapper, + }, + post: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createExtensionFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeExtension, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const ExtensionsRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messages/{message%2Did}/extensions{?%24top,%24skip,%24filter,%24count,%24orderby,%24select,%24expand}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/extensions/item/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/extensions/item/index.ts index a4e7c87fc..61e305488 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/extensions/item/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/extensions/item/index.ts @@ -1,120 +1,114 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createExtensionFromDiscriminatorValue, deserializeIntoExtension, serializeExtension, type Extension } from '../../../../../../../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createExtensionFromDiscriminatorValue, serializeExtension, type Extension } from '../../../../../../../../../../models/'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../../../../../models/oDataErrors/'; +import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface ExtensionItemRequestBuilderGetQueryParameters { - /** - * Expand related entities - */ - expand?: string[]; - /** - * Select properties to be returned - */ - select?: string[]; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/childFolders/{mailFolder-id1}/messages/{message-id}/extensions/{extension-id} */ -export class ExtensionItemRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new ExtensionItemRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messages/{message%2Did}/extensions/{extension%2Did}{?%24select,%24expand}", (x, y) => new ExtensionItemRequestBuilder(x, y)); - } +export interface ExtensionItemRequestBuilder extends BaseRequestBuilder { /** * Delete an open extension (openTypeExtension object) from the specified instance of a resource. For the list of resources that support open extensions, see the table in the Permissions section. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of ArrayBuffer * @see {@link https://learn.microsoft.com/graph/api/opentypeextension-delete?view=graph-rest-1.0|Find more info here} */ - public delete(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toDeleteRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "ArrayBuffer", errorMapping); - } + delete(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get an open extension (openTypeExtension object) identified by name or fully qualified name. The table in the Permissions section lists the resources that support open extensions. The following table lists the three scenarios where you can get an open extension from a supported resource instance. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Extension * @see {@link https://learn.microsoft.com/graph/api/opentypeextension-get?view=graph-rest-1.0|Find more info here} */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createExtensionFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Update the navigation property extensions in users * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Extension */ - public patch(body: Extension, requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toPatchRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createExtensionFromDiscriminatorValue, errorMapping); - } + patch(body: Extension, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Delete an open extension (openTypeExtension object) from the specified instance of a resource. For the list of resources that support open extensions, see the table in the Permissions section. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.DELETE, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Get an open extension (openTypeExtension object) identified by name or fully qualified name. The table in the Permissions section lists the resources that support open extensions. The following table lists the three scenarios where you can get an open extension from a supported resource instance. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, extensionItemRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Update the navigation property extensions in users * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPatchRequestInformation(body: Extension, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.PATCH, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeExtension); - return requestInfo; - } + toPatchRequestInformation(body: Extension, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -const extensionItemRequestBuilderGetQueryParametersMapper: Record = { +/** + * Get an open extension (openTypeExtension object) identified by name or fully qualified name. The table in the Permissions section lists the resources that support open extensions. The following table lists the three scenarios where you can get an open extension from a supported resource instance. + */ +export interface ExtensionItemRequestBuilderGetQueryParameters { + /** + * Expand related entities + */ + expand?: string[]; + /** + * Select properties to be returned + */ + select?: string[]; +} +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const ExtensionItemRequestBuilderGetQueryParametersMapper: Record = { "expand": "%24expand", "select": "%24select", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const ExtensionItemRequestBuilderRequestsMetadata: RequestsMetadata = { + delete: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "ArrayBuffer", + }, + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createExtensionFromDiscriminatorValue, + queryParametersMapper: ExtensionItemRequestBuilderGetQueryParametersMapper, + }, + patch: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createExtensionFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeExtension, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const ExtensionItemRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messages/{message%2Did}/extensions/{extension%2Did}{?%24select,%24expand}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/index.ts index 81e81d00e..0cfc3355b 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/index.ts @@ -1,139 +1,146 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createMessageFromDiscriminatorValue, deserializeIntoMessage, serializeMessage, type Message } from '../../../../../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../../../models/oDataErrors/'; -import { AttachmentsRequestBuilder } from './attachments/'; -import { ExtensionsRequestBuilder } from './extensions/'; -import { ContentRequestBuilder } from './value/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createMessageFromDiscriminatorValue, serializeMessage, type Message } from '../../../../../../../../models/'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../../../models/oDataErrors/'; +import { AttachmentsRequestBuilderNavigationMetadata, AttachmentsRequestBuilderRequestsMetadata, AttachmentsRequestBuilderUriTemplate, type AttachmentsRequestBuilder } from './attachments/'; +import { ExtensionsRequestBuilderNavigationMetadata, ExtensionsRequestBuilderRequestsMetadata, ExtensionsRequestBuilderUriTemplate, type ExtensionsRequestBuilder } from './extensions/'; +import { ContentRequestBuilderRequestsMetadata, ContentRequestBuilderUriTemplate, type ContentRequestBuilder } from './value/'; +import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface MessageItemRequestBuilderGetQueryParameters { - /** - * Expand related entities - */ - expand?: string[]; - /** - * Select properties to be returned - */ - select?: string[]; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/childFolders/{mailFolder-id1}/messages/{message-id} */ -export class MessageItemRequestBuilder extends BaseRequestBuilder { +export interface MessageItemRequestBuilder extends BaseRequestBuilder { /** * The attachments property */ - public get attachments(): AttachmentsRequestBuilder { - return new AttachmentsRequestBuilder(this.pathParameters, this.requestAdapter); - } + get attachments(): AttachmentsRequestBuilder; /** * The Content property */ - public get content(): ContentRequestBuilder { - return new ContentRequestBuilder(this.pathParameters, this.requestAdapter); - } + get content(): ContentRequestBuilder; /** * The extensions property */ - public get extensions(): ExtensionsRequestBuilder { - return new ExtensionsRequestBuilder(this.pathParameters, this.requestAdapter); - } - /** - * Instantiates a new MessageItemRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messages/{message%2Did}{?%24select,%24expand}", (x, y) => new MessageItemRequestBuilder(x, y)); - } + get extensions(): ExtensionsRequestBuilder; /** * Delete navigation property messages for users * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of ArrayBuffer */ - public delete(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toDeleteRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "ArrayBuffer", errorMapping); - } + delete(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * The collection of messages in the mailFolder. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Message */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMessageFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Update the navigation property messages in users * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Message */ - public patch(body: Message, requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toPatchRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMessageFromDiscriminatorValue, errorMapping); - } + patch(body: Message, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Delete navigation property messages for users * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.DELETE, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * The collection of messages in the mailFolder. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, messageItemRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Update the navigation property messages in users * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPatchRequestInformation(body: Message, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.PATCH, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeMessage); - return requestInfo; - } + toPatchRequestInformation(body: Message, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; +} +/** + * The collection of messages in the mailFolder. + */ +export interface MessageItemRequestBuilderGetQueryParameters { + /** + * Expand related entities + */ + expand?: string[]; + /** + * Select properties to be returned + */ + select?: string[]; } -const messageItemRequestBuilderGetQueryParametersMapper: Record = { +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const MessageItemRequestBuilderGetQueryParametersMapper: Record = { "expand": "%24expand", "select": "%24select", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the navigation properties in the request builder. + */ +export const MessageItemRequestBuilderNavigationMetadata: Record, NavigationMetadata> = { + attachments: { + uriTemplate: AttachmentsRequestBuilderUriTemplate, + requestsMetadata: AttachmentsRequestBuilderRequestsMetadata, + navigationMetadata: AttachmentsRequestBuilderNavigationMetadata, + }, + content: { + uriTemplate: ContentRequestBuilderUriTemplate, + requestsMetadata: ContentRequestBuilderRequestsMetadata, + }, + extensions: { + uriTemplate: ExtensionsRequestBuilderUriTemplate, + requestsMetadata: ExtensionsRequestBuilderRequestsMetadata, + navigationMetadata: ExtensionsRequestBuilderNavigationMetadata, + }, +}; +/** + * Metadata for all the requests in the request builder. + */ +export const MessageItemRequestBuilderRequestsMetadata: RequestsMetadata = { + delete: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "ArrayBuffer", + }, + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMessageFromDiscriminatorValue, + queryParametersMapper: MessageItemRequestBuilderGetQueryParametersMapper, + }, + patch: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMessageFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeMessage, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const MessageItemRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messages/{message%2Did}{?%24select,%24expand}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/value/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/value/index.ts index 182bd88b3..2b035f992 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/value/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/childFolders/item/messages/item/value/index.ts @@ -1,78 +1,69 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../../../../models/oDataErrors/'; +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}/messages/{message-id}/$value */ -export class ContentRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new ContentRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messages/{message%2Did}/$value", (x, y) => new ContentRequestBuilder(x, y)); - } +export interface ContentRequestBuilder extends BaseRequestBuilder { /** * Get media content for the navigation property messages from users * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of ArrayBuffer * @see {@link https://learn.microsoft.com/graph/api/mailfolder-list-messages?view=graph-rest-1.0|Find more info here} */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "ArrayBuffer", errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Update media content for the navigation property messages in users * @param body Binary request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of ArrayBuffer */ - public put(body: ArrayBuffer | undefined, requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toPutRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "ArrayBuffer", errorMapping); - } + put(body: ArrayBuffer | undefined, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get media content for the navigation property messages from users * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/octet-stream, application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Update media content for the navigation property messages in users * @param body Binary request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPutRequestInformation(body: ArrayBuffer | undefined, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.PUT, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setStreamContent(body, "application/octet-stream"); - return requestInfo; - } + toPutRequestInformation(body: ArrayBuffer | undefined, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const ContentRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "application/octet-stream, application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "ArrayBuffer", + }, + put: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "ArrayBuffer", + requestBodyContentType: "application/octet-stream", + requestInformationContentSetMethod: "setStreamContent", + }, +}; +/** + * Uri template for the request builder. + */ +export const ContentRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}/messages/{message%2Did}/$value"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/index.ts index f055ea7c3..80f0a79b5 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/index.ts @@ -1,146 +1,154 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createMailFolderFromDiscriminatorValue, deserializeIntoMailFolder, serializeMailFolder, type MailFolder } from '../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../models/oDataErrors/'; -import { ChildFoldersRequestBuilder } from './childFolders/'; -import { MessageRulesRequestBuilder } from './messageRules/'; -import { MessagesRequestBuilder } from './messages/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createMailFolderFromDiscriminatorValue, serializeMailFolder, type MailFolder } from '../../../../models/'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../models/oDataErrors/'; +import { ChildFoldersRequestBuilderNavigationMetadata, ChildFoldersRequestBuilderRequestsMetadata, ChildFoldersRequestBuilderUriTemplate, type ChildFoldersRequestBuilder } from './childFolders/'; +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 RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface MailFolderItemRequestBuilderGetQueryParameters { - /** - * Expand related entities - */ - expand?: string[]; - /** - * Include Hidden Folders - */ - includeHiddenFolders?: string; - /** - * Select properties to be returned - */ - select?: string[]; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id} */ -export class MailFolderItemRequestBuilder extends BaseRequestBuilder { +export interface MailFolderItemRequestBuilder extends BaseRequestBuilder { /** * The childFolders property */ - public get childFolders(): ChildFoldersRequestBuilder { - return new ChildFoldersRequestBuilder(this.pathParameters, this.requestAdapter); - } + get childFolders(): ChildFoldersRequestBuilder; /** * The messageRules property */ - public get messageRules(): MessageRulesRequestBuilder { - return new MessageRulesRequestBuilder(this.pathParameters, this.requestAdapter); - } + get messageRules(): MessageRulesRequestBuilder; /** * The messages property */ - public get messages(): MessagesRequestBuilder { - return new MessagesRequestBuilder(this.pathParameters, this.requestAdapter); - } - /** - * Instantiates a new MailFolderItemRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}{?includeHiddenFolders,%24select,%24expand}", (x, y) => new MailFolderItemRequestBuilder(x, y)); - } + get messages(): MessagesRequestBuilder; /** * Delete the specified mailFolder. The folder can be a mailSearchFolder. You can specify a mail folder by its folder ID, or by its well-known folder name, if one exists. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of ArrayBuffer * @see {@link https://learn.microsoft.com/graph/api/mailfolder-delete?view=graph-rest-1.0|Find more info here} */ - public delete(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toDeleteRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "ArrayBuffer", errorMapping); - } + delete(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * The user's mail folders. Read-only. Nullable. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of MailFolder * @see {@link https://learn.microsoft.com/graph/api/mailfolder-get?view=graph-rest-1.0|Find more info here} */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMailFolderFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** - * Update the properties of mailfolder object. + * Update the writable properties of a mailSearchFolder object. * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of MailFolder - * @see {@link https://learn.microsoft.com/graph/api/mailfolder-update?view=graph-rest-1.0|Find more info here} + * @see {@link https://learn.microsoft.com/graph/api/mailsearchfolder-update?view=graph-rest-1.0|Find more info here} */ - public patch(body: MailFolder, requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toPatchRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMailFolderFromDiscriminatorValue, errorMapping); - } + patch(body: MailFolder, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Delete the specified mailFolder. The folder can be a mailSearchFolder. You can specify a mail folder by its folder ID, or by its well-known folder name, if one exists. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.DELETE, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * The user's mail folders. Read-only. Nullable. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, mailFolderItemRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** - * Update the properties of mailfolder object. + * Update the writable properties of a mailSearchFolder object. * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPatchRequestInformation(body: MailFolder, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.PATCH, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeMailFolder); - return requestInfo; - } + toPatchRequestInformation(body: MailFolder, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; +} +/** + * The user's mail folders. Read-only. Nullable. + */ +export interface MailFolderItemRequestBuilderGetQueryParameters { + /** + * Expand related entities + */ + expand?: string[]; + /** + * Include Hidden Folders + */ + includeHiddenFolders?: string; + /** + * Select properties to be returned + */ + select?: string[]; } -const mailFolderItemRequestBuilderGetQueryParametersMapper: Record = { +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const MailFolderItemRequestBuilderGetQueryParametersMapper: Record = { "expand": "%24expand", "select": "%24select", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the navigation properties in the request builder. + */ +export const MailFolderItemRequestBuilderNavigationMetadata: Record, NavigationMetadata> = { + childFolders: { + uriTemplate: ChildFoldersRequestBuilderUriTemplate, + requestsMetadata: ChildFoldersRequestBuilderRequestsMetadata, + navigationMetadata: ChildFoldersRequestBuilderNavigationMetadata, + }, + messageRules: { + uriTemplate: MessageRulesRequestBuilderUriTemplate, + requestsMetadata: MessageRulesRequestBuilderRequestsMetadata, + navigationMetadata: MessageRulesRequestBuilderNavigationMetadata, + }, + messages: { + uriTemplate: MessagesRequestBuilderUriTemplate, + requestsMetadata: MessagesRequestBuilderRequestsMetadata, + navigationMetadata: MessagesRequestBuilderNavigationMetadata, + }, +}; +/** + * Metadata for all the requests in the request builder. + */ +export const MailFolderItemRequestBuilderRequestsMetadata: RequestsMetadata = { + delete: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "ArrayBuffer", + }, + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMailFolderFromDiscriminatorValue, + queryParametersMapper: MailFolderItemRequestBuilderGetQueryParametersMapper, + }, + patch: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMailFolderFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeMailFolder, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const MailFolderItemRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}{?includeHiddenFolders,%24select,%24expand}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/messageRules/count/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/messageRules/count/index.ts index 382f4f715..e260eb9eb 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/messageRules/count/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/messageRules/count/index.ts @@ -1,56 +1,59 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../models/oDataErrors/'; +import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface CountRequestBuilderGetQueryParameters { - /** - * Filter items by property values - */ - filter?: string; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/messageRules/$count */ -export class CountRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new CountRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messageRules/$count{?%24filter}", (x, y) => new CountRequestBuilder(x, y)); - } +export interface CountRequestBuilder extends BaseRequestBuilder { /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Integer */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "number", errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, countRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "text/plain;q=0.9"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -const countRequestBuilderGetQueryParametersMapper: Record = { +/** + * Get the number of the resource + */ +export interface CountRequestBuilderGetQueryParameters { + /** + * Filter items by property values + */ + filter?: string; +} +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const CountRequestBuilderGetQueryParametersMapper: Record = { "filter": "%24filter", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const CountRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "text/plain;q=0.9", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "number", + queryParametersMapper: CountRequestBuilderGetQueryParametersMapper, + }, +}; +/** + * Uri template for the request builder. + */ +export const CountRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messageRules/$count{?%24filter}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/messageRules/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/messageRules/index.ts index e72783fce..1623f39f9 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/messageRules/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/messageRules/index.ts @@ -1,83 +1,33 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createMessageRuleCollectionResponseFromDiscriminatorValue, createMessageRuleFromDiscriminatorValue, deserializeIntoMessageRule, serializeMessageRule, type MessageRule, type MessageRuleCollectionResponse } from '../../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../models/oDataErrors/'; -import { CountRequestBuilder } from './count/'; -import { MessageRuleItemRequestBuilder } from './item/'; -import { BaseRequestBuilder, getPathParameters, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createMessageRuleCollectionResponseFromDiscriminatorValue, createMessageRuleFromDiscriminatorValue, serializeMessageRule, type MessageRule, type MessageRuleCollectionResponse } from '../../../../../models/'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../models/oDataErrors/'; +import { CountRequestBuilderRequestsMetadata, CountRequestBuilderUriTemplate, type CountRequestBuilder } from './count/'; +import { MessageRuleItemRequestBuilderRequestsMetadata, MessageRuleItemRequestBuilderUriTemplate, type MessageRuleItemRequestBuilder } from './item/'; +import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface MessageRulesRequestBuilderGetQueryParameters { - /** - * Include count of items - */ - count?: boolean; - /** - * Filter items by property values - */ - filter?: string; - /** - * Order items by property values - */ - orderby?: string[]; - /** - * Select properties to be returned - */ - select?: string[]; - /** - * Skip the first n items - */ - skip?: number; - /** - * Show only the first n items - */ - top?: number; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/messageRules */ -export class MessageRulesRequestBuilder extends BaseRequestBuilder { +export interface MessageRulesRequestBuilder extends BaseRequestBuilder { /** * The Count property */ - public get count(): CountRequestBuilder { - return new CountRequestBuilder(this.pathParameters, this.requestAdapter); - } + get count(): CountRequestBuilder; /** * Gets an item from the ApiSdk.users.item.mailFolders.item.messageRules.item collection * @param messageRuleId The unique identifier of messageRule * @returns a MessageRuleItemRequestBuilder */ - public byMessageRuleId(messageRuleId: string) : MessageRuleItemRequestBuilder { - if(!messageRuleId) throw new Error("messageRuleId cannot be undefined"); - const urlTplParams = getPathParameters(this.pathParameters); - urlTplParams["messageRule%2Did"] = messageRuleId - return new MessageRuleItemRequestBuilder(urlTplParams, this.requestAdapter); - } - /** - * Instantiates a new MessageRulesRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messageRules{?%24top,%24skip,%24filter,%24count,%24orderby,%24select}", (x, y) => new MessageRulesRequestBuilder(x, y)); - } + byMessageRuleId(messageRuleId: string) : MessageRuleItemRequestBuilder; /** * Get all the messageRule objects defined for the user's inbox. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of MessageRuleCollectionResponse * @see {@link https://learn.microsoft.com/graph/api/mailfolder-list-messagerules?view=graph-rest-1.0|Find more info here} */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMessageRuleCollectionResponseFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Create a messageRule object by specifying a set of conditions and actions. Outlook carries out those actions if an incoming message in the user's Inbox meets the specified conditions. * @param body The request body @@ -85,43 +35,54 @@ export class MessageRulesRequestBuilder extends BaseRequestBuilder | undefined) : Promise { - const requestInfo = this.toPostRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMessageRuleFromDiscriminatorValue, errorMapping); - } + post(body: MessageRule, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get all the messageRule objects defined for the user's inbox. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, messageRulesRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Create a messageRule object by specifying a set of conditions and actions. Outlook carries out those actions if an incoming message in the user's Inbox meets the specified conditions. * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPostRequestInformation(body: MessageRule, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.POST, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeMessageRule); - return requestInfo; - } + toPostRequestInformation(body: MessageRule, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; +} +/** + * Get all the messageRule objects defined for the user's inbox. + */ +export interface MessageRulesRequestBuilderGetQueryParameters { + /** + * Include count of items + */ + count?: boolean; + /** + * Filter items by property values + */ + filter?: string; + /** + * Order items by property values + */ + orderby?: string[]; + /** + * Select properties to be returned + */ + select?: string[]; + /** + * Skip the first n items + */ + skip?: number; + /** + * Show only the first n items + */ + top?: number; } -const messageRulesRequestBuilderGetQueryParametersMapper: Record = { +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const MessageRulesRequestBuilderGetQueryParametersMapper: Record = { "count": "%24count", "filter": "%24filter", "orderby": "%24orderby", @@ -129,5 +90,50 @@ const messageRulesRequestBuilderGetQueryParametersMapper: Record "skip": "%24skip", "top": "%24top", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the navigation properties in the request builder. + */ +export const MessageRulesRequestBuilderNavigationMetadata: Record, NavigationMetadata> = { + byMessageRuleId: { + uriTemplate: MessageRuleItemRequestBuilderUriTemplate, + requestsMetadata: MessageRuleItemRequestBuilderRequestsMetadata, + pathParametersMappings: ["messageRule%2Did"], + }, + count: { + uriTemplate: CountRequestBuilderUriTemplate, + requestsMetadata: CountRequestBuilderRequestsMetadata, + }, +}; +/** + * Metadata for all the requests in the request builder. + */ +export const MessageRulesRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMessageRuleCollectionResponseFromDiscriminatorValue, + queryParametersMapper: MessageRulesRequestBuilderGetQueryParametersMapper, + }, + post: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMessageRuleFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeMessageRule, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const MessageRulesRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messageRules{?%24top,%24skip,%24filter,%24count,%24orderby,%24select}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/messageRules/item/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/messageRules/item/index.ts index ef1f8cafe..81309a708 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/messageRules/item/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/messageRules/item/index.ts @@ -1,60 +1,28 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createMessageRuleFromDiscriminatorValue, deserializeIntoMessageRule, serializeMessageRule, type MessageRule } from '../../../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createMessageRuleFromDiscriminatorValue, serializeMessageRule, type MessageRule } from '../../../../../../models/'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../models/oDataErrors/'; +import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface MessageRuleItemRequestBuilderGetQueryParameters { - /** - * Select properties to be returned - */ - select?: string[]; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/messageRules/{messageRule-id} */ -export class MessageRuleItemRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new MessageRuleItemRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messageRules/{messageRule%2Did}{?%24select}", (x, y) => new MessageRuleItemRequestBuilder(x, y)); - } +export interface MessageRuleItemRequestBuilder extends BaseRequestBuilder { /** * Delete the specified messageRule object. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of ArrayBuffer * @see {@link https://learn.microsoft.com/graph/api/messagerule-delete?view=graph-rest-1.0|Find more info here} */ - public delete(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toDeleteRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "ArrayBuffer", errorMapping); - } + delete(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get the properties and relationships of a messageRule object. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of MessageRule * @see {@link https://learn.microsoft.com/graph/api/messagerule-get?view=graph-rest-1.0|Find more info here} */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMessageRuleFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Change writable properties on a messageRule object and save the changes. * @param body The request body @@ -62,55 +30,81 @@ export class MessageRuleItemRequestBuilder extends BaseRequestBuilder | undefined) : Promise { - const requestInfo = this.toPatchRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMessageRuleFromDiscriminatorValue, errorMapping); - } + patch(body: MessageRule, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Delete the specified messageRule object. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.DELETE, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Get the properties and relationships of a messageRule object. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, messageRuleItemRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Change writable properties on a messageRule object and save the changes. * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPatchRequestInformation(body: MessageRule, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.PATCH, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeMessageRule); - return requestInfo; - } + toPatchRequestInformation(body: MessageRule, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -const messageRuleItemRequestBuilderGetQueryParametersMapper: Record = { +/** + * Get the properties and relationships of a messageRule object. + */ +export interface MessageRuleItemRequestBuilderGetQueryParameters { + /** + * Select properties to be returned + */ + select?: string[]; +} +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const MessageRuleItemRequestBuilderGetQueryParametersMapper: Record = { "select": "%24select", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const MessageRuleItemRequestBuilderRequestsMetadata: RequestsMetadata = { + delete: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "ArrayBuffer", + }, + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMessageRuleFromDiscriminatorValue, + queryParametersMapper: MessageRuleItemRequestBuilderGetQueryParametersMapper, + }, + patch: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMessageRuleFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeMessageRule, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const MessageRuleItemRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messageRules/{messageRule%2Did}{?%24select}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/messages/count/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/messages/count/index.ts index 2bb89a663..5835cf8d7 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/messages/count/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/messages/count/index.ts @@ -1,61 +1,64 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../models/oDataErrors/'; +import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface CountRequestBuilderGetQueryParameters { - /** - * Filter items by property values - */ - filter?: string; - /** - * Search items by search phrases - */ - search?: string; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/messages/$count */ -export class CountRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new CountRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messages/$count{?%24search,%24filter}", (x, y) => new CountRequestBuilder(x, y)); - } +export interface CountRequestBuilder extends BaseRequestBuilder { /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Integer */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "number", errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, countRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "text/plain;q=0.9"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -const countRequestBuilderGetQueryParametersMapper: Record = { +/** + * Get the number of the resource + */ +export interface CountRequestBuilderGetQueryParameters { + /** + * Filter items by property values + */ + filter?: string; + /** + * Search items by search phrases + */ + search?: string; +} +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const CountRequestBuilderGetQueryParametersMapper: Record = { "filter": "%24filter", "search": "%24search", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const CountRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "text/plain;q=0.9", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "number", + queryParametersMapper: CountRequestBuilderGetQueryParametersMapper, + }, +}; +/** + * Uri template for the request builder. + */ +export const CountRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messages/$count{?%24search,%24filter}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/messages/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/messages/index.ts index 0c05e8638..0813b3e1c 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/messages/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/messages/index.ts @@ -1,91 +1,33 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createMessageCollectionResponseFromDiscriminatorValue, createMessageFromDiscriminatorValue, deserializeIntoMessage, serializeMessage, type Message, type MessageCollectionResponse } from '../../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../models/oDataErrors/'; -import { CountRequestBuilder } from './count/'; -import { MessageItemRequestBuilder } from './item/'; -import { BaseRequestBuilder, getPathParameters, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createMessageCollectionResponseFromDiscriminatorValue, createMessageFromDiscriminatorValue, serializeMessage, type Message, type MessageCollectionResponse } from '../../../../../models/'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../models/oDataErrors/'; +import { CountRequestBuilderRequestsMetadata, CountRequestBuilderUriTemplate, type CountRequestBuilder } from './count/'; +import { MessageItemRequestBuilderNavigationMetadata, MessageItemRequestBuilderRequestsMetadata, MessageItemRequestBuilderUriTemplate, type MessageItemRequestBuilder } from './item/'; +import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface MessagesRequestBuilderGetQueryParameters { - /** - * Include count of items - */ - count?: boolean; - /** - * Expand related entities - */ - expand?: string[]; - /** - * Filter items by property values - */ - filter?: string; - /** - * Order items by property values - */ - orderby?: string[]; - /** - * Search items by search phrases - */ - search?: string; - /** - * Select properties to be returned - */ - select?: string[]; - /** - * Skip the first n items - */ - skip?: number; - /** - * Show only the first n items - */ - top?: number; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/messages */ -export class MessagesRequestBuilder extends BaseRequestBuilder { +export interface MessagesRequestBuilder extends BaseRequestBuilder { /** * The Count property */ - public get count(): CountRequestBuilder { - return new CountRequestBuilder(this.pathParameters, this.requestAdapter); - } + get count(): CountRequestBuilder; /** * Gets an item from the ApiSdk.users.item.mailFolders.item.messages.item collection * @param messageId The unique identifier of message * @returns a MessageItemRequestBuilder */ - public byMessageId(messageId: string) : MessageItemRequestBuilder { - if(!messageId) throw new Error("messageId cannot be undefined"); - const urlTplParams = getPathParameters(this.pathParameters); - urlTplParams["message%2Did"] = messageId - return new MessageItemRequestBuilder(urlTplParams, this.requestAdapter); - } - /** - * Instantiates a new MessagesRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messages{?%24top,%24skip,%24search,%24filter,%24count,%24orderby,%24select,%24expand}", (x, y) => new MessagesRequestBuilder(x, y)); - } + byMessageId(messageId: string) : MessageItemRequestBuilder; /** * Get all the messages in the specified user's mailbox, or those messages in a specified folder in the mailbox. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of MessageCollectionResponse * @see {@link https://learn.microsoft.com/graph/api/mailfolder-list-messages?view=graph-rest-1.0|Find more info here} */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMessageCollectionResponseFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Use this API to create a new Message in a mailfolder. * @param body The request body @@ -93,43 +35,62 @@ export class MessagesRequestBuilder extends BaseRequestBuilder | undefined) : Promise { - const requestInfo = this.toPostRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMessageFromDiscriminatorValue, errorMapping); - } + post(body: Message, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get all the messages in the specified user's mailbox, or those messages in a specified folder in the mailbox. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, messagesRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Use this API to create a new Message in a mailfolder. * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPostRequestInformation(body: Message, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.POST, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeMessage); - return requestInfo; - } + toPostRequestInformation(body: Message, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; +} +/** + * Get all the messages in the specified user's mailbox, or those messages in a specified folder in the mailbox. + */ +export interface MessagesRequestBuilderGetQueryParameters { + /** + * Include count of items + */ + count?: boolean; + /** + * Expand related entities + */ + expand?: string[]; + /** + * Filter items by property values + */ + filter?: string; + /** + * Order items by property values + */ + orderby?: string[]; + /** + * Search items by search phrases + */ + search?: string; + /** + * Select properties to be returned + */ + select?: string[]; + /** + * Skip the first n items + */ + skip?: number; + /** + * Show only the first n items + */ + top?: number; } -const messagesRequestBuilderGetQueryParametersMapper: Record = { +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const MessagesRequestBuilderGetQueryParametersMapper: Record = { "count": "%24count", "expand": "%24expand", "filter": "%24filter", @@ -139,5 +100,51 @@ const messagesRequestBuilderGetQueryParametersMapper: Record = { "skip": "%24skip", "top": "%24top", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the navigation properties in the request builder. + */ +export const MessagesRequestBuilderNavigationMetadata: Record, NavigationMetadata> = { + byMessageId: { + uriTemplate: MessageItemRequestBuilderUriTemplate, + requestsMetadata: MessageItemRequestBuilderRequestsMetadata, + navigationMetadata: MessageItemRequestBuilderNavigationMetadata, + pathParametersMappings: ["message%2Did"], + }, + count: { + uriTemplate: CountRequestBuilderUriTemplate, + requestsMetadata: CountRequestBuilderRequestsMetadata, + }, +}; +/** + * Metadata for all the requests in the request builder. + */ +export const MessagesRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMessageCollectionResponseFromDiscriminatorValue, + queryParametersMapper: MessagesRequestBuilderGetQueryParametersMapper, + }, + post: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMessageFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeMessage, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const MessagesRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messages{?%24top,%24skip,%24search,%24filter,%24count,%24orderby,%24select,%24expand}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/messages/item/attachments/count/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/messages/item/attachments/count/index.ts index 18b236261..cebc8de71 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/messages/item/attachments/count/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/messages/item/attachments/count/index.ts @@ -1,56 +1,59 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../../../models/oDataErrors/'; +import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface CountRequestBuilderGetQueryParameters { - /** - * Filter items by property values - */ - filter?: string; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/messages/{message-id}/attachments/$count */ -export class CountRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new CountRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messages/{message%2Did}/attachments/$count{?%24filter}", (x, y) => new CountRequestBuilder(x, y)); - } +export interface CountRequestBuilder extends BaseRequestBuilder { /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Integer */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "number", errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, countRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "text/plain;q=0.9"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -const countRequestBuilderGetQueryParametersMapper: Record = { +/** + * Get the number of the resource + */ +export interface CountRequestBuilderGetQueryParameters { + /** + * Filter items by property values + */ + filter?: string; +} +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const CountRequestBuilderGetQueryParametersMapper: Record = { "filter": "%24filter", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const CountRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "text/plain;q=0.9", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "number", + queryParametersMapper: CountRequestBuilderGetQueryParametersMapper, + }, +}; +/** + * Uri template for the request builder. + */ +export const CountRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messages/{message%2Did}/attachments/$count{?%24filter}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/messages/item/attachments/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/messages/item/attachments/index.ts index 52472aaf8..4a66066eb 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/messages/item/attachments/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/messages/item/attachments/index.ts @@ -1,79 +1,33 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createAttachmentCollectionResponseFromDiscriminatorValue, createAttachmentFromDiscriminatorValue, deserializeIntoAttachment, serializeAttachment, type Attachment, type AttachmentCollectionResponse } from '../../../../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../../models/oDataErrors/'; -import { CountRequestBuilder } from './count/'; -import { AttachmentItemRequestBuilder } from './item/'; -import { BaseRequestBuilder, getPathParameters, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createAttachmentCollectionResponseFromDiscriminatorValue, createAttachmentFromDiscriminatorValue, serializeAttachment, type Attachment, type AttachmentCollectionResponse } from '../../../../../../../models/'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../../models/oDataErrors/'; +import { CountRequestBuilderRequestsMetadata, CountRequestBuilderUriTemplate, type CountRequestBuilder } from './count/'; +import { AttachmentItemRequestBuilderRequestsMetadata, AttachmentItemRequestBuilderUriTemplate, type AttachmentItemRequestBuilder } from './item/'; +import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface AttachmentsRequestBuilderGetQueryParameters { - /** - * Include count of items - */ - count?: boolean; - /** - * Expand related entities - */ - expand?: string[]; - /** - * Filter items by property values - */ - filter?: string; - /** - * Order items by property values - */ - orderby?: string[]; - /** - * Select properties to be returned - */ - select?: string[]; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/messages/{message-id}/attachments */ -export class AttachmentsRequestBuilder extends BaseRequestBuilder { +export interface AttachmentsRequestBuilder extends BaseRequestBuilder { /** * The Count property */ - public get count(): CountRequestBuilder { - return new CountRequestBuilder(this.pathParameters, this.requestAdapter); - } + get count(): CountRequestBuilder; /** * Gets an item from the ApiSdk.users.item.mailFolders.item.messages.item.attachments.item collection * @param attachmentId The unique identifier of attachment * @returns a AttachmentItemRequestBuilder */ - public byAttachmentId(attachmentId: string) : AttachmentItemRequestBuilder { - if(!attachmentId) throw new Error("attachmentId cannot be undefined"); - const urlTplParams = getPathParameters(this.pathParameters); - urlTplParams["attachment%2Did"] = attachmentId - return new AttachmentItemRequestBuilder(urlTplParams, this.requestAdapter); - } + byAttachmentId(attachmentId: string) : AttachmentItemRequestBuilder; /** - * Instantiates a new AttachmentsRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messages/{message%2Did}/attachments{?%24filter,%24count,%24orderby,%24select,%24expand}", (x, y) => new AttachmentsRequestBuilder(x, y)); - } - /** - * Retrieve a list of attachment objects. + * Retrieve a list of attachment objects attached to a message. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of AttachmentCollectionResponse - * @see {@link https://learn.microsoft.com/graph/api/eventmessage-list-attachments?view=graph-rest-1.0|Find more info here} + * @see {@link https://learn.microsoft.com/graph/api/message-list-attachments?view=graph-rest-1.0|Find more info here} */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createAttachmentCollectionResponseFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Use this API to create a new Attachment. An attachment can be one of the following types: All these types of attachment resources are derived from the attachmentresource. * @param body The request body @@ -81,48 +35,100 @@ export class AttachmentsRequestBuilder extends BaseRequestBuilder | undefined) : Promise { - const requestInfo = this.toPostRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createAttachmentFromDiscriminatorValue, errorMapping); - } + post(body: Attachment, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** - * Retrieve a list of attachment objects. + * Retrieve a list of attachment objects attached to a message. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, attachmentsRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Use this API to create a new Attachment. An attachment can be one of the following types: All these types of attachment resources are derived from the attachmentresource. * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPostRequestInformation(body: Attachment, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.POST, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeAttachment); - return requestInfo; - } + toPostRequestInformation(body: Attachment, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; +} +/** + * Retrieve a list of attachment objects attached to a message. + */ +export interface AttachmentsRequestBuilderGetQueryParameters { + /** + * Include count of items + */ + count?: boolean; + /** + * Expand related entities + */ + expand?: string[]; + /** + * Filter items by property values + */ + filter?: string; + /** + * Order items by property values + */ + orderby?: string[]; + /** + * Select properties to be returned + */ + select?: string[]; } -const attachmentsRequestBuilderGetQueryParametersMapper: Record = { +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const AttachmentsRequestBuilderGetQueryParametersMapper: Record = { "count": "%24count", "expand": "%24expand", "filter": "%24filter", "orderby": "%24orderby", "select": "%24select", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the navigation properties in the request builder. + */ +export const AttachmentsRequestBuilderNavigationMetadata: Record, NavigationMetadata> = { + byAttachmentId: { + uriTemplate: AttachmentItemRequestBuilderUriTemplate, + requestsMetadata: AttachmentItemRequestBuilderRequestsMetadata, + pathParametersMappings: ["attachment%2Did"], + }, + count: { + uriTemplate: CountRequestBuilderUriTemplate, + requestsMetadata: CountRequestBuilderRequestsMetadata, + }, +}; +/** + * Metadata for all the requests in the request builder. + */ +export const AttachmentsRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createAttachmentCollectionResponseFromDiscriminatorValue, + queryParametersMapper: AttachmentsRequestBuilderGetQueryParametersMapper, + }, + post: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createAttachmentFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeAttachment, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const AttachmentsRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messages/{message%2Did}/attachments{?%24filter,%24count,%24orderby,%24select,%24expand}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/messages/item/attachments/item/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/messages/item/attachments/item/index.ts index ff9d0b4d2..8adfb0ee0 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/messages/item/attachments/item/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/messages/item/attachments/item/index.ts @@ -1,89 +1,87 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota import { createAttachmentFromDiscriminatorValue, type Attachment } from '../../../../../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../../../models/oDataErrors/'; +import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface AttachmentItemRequestBuilderGetQueryParameters { - /** - * Expand related entities - */ - expand?: string[]; - /** - * Select properties to be returned - */ - select?: string[]; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/messages/{message-id}/attachments/{attachment-id} */ -export class AttachmentItemRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new AttachmentItemRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messages/{message%2Did}/attachments/{attachment%2Did}{?%24select,%24expand}", (x, y) => new AttachmentItemRequestBuilder(x, y)); - } +export interface AttachmentItemRequestBuilder extends BaseRequestBuilder { /** * Delete navigation property attachments for users * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of ArrayBuffer */ - public delete(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toDeleteRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "ArrayBuffer", errorMapping); - } + delete(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Read the properties, relationships, or raw contents of an attachment that is attached to a user event, message, or group post. An attachment can be one of the following types: All these types of attachments are derived from the attachment resource. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Attachment * @see {@link https://learn.microsoft.com/graph/api/attachment-get?view=graph-rest-1.0|Find more info here} */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createAttachmentFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Delete navigation property attachments for users * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.DELETE, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Read the properties, relationships, or raw contents of an attachment that is attached to a user event, message, or group post. An attachment can be one of the following types: All these types of attachments are derived from the attachment resource. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, attachmentItemRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -const attachmentItemRequestBuilderGetQueryParametersMapper: Record = { +/** + * Read the properties, relationships, or raw contents of an attachment that is attached to a user event, message, or group post. An attachment can be one of the following types: All these types of attachments are derived from the attachment resource. + */ +export interface AttachmentItemRequestBuilderGetQueryParameters { + /** + * Expand related entities + */ + expand?: string[]; + /** + * Select properties to be returned + */ + select?: string[]; +} +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const AttachmentItemRequestBuilderGetQueryParametersMapper: Record = { "expand": "%24expand", "select": "%24select", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const AttachmentItemRequestBuilderRequestsMetadata: RequestsMetadata = { + delete: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "ArrayBuffer", + }, + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createAttachmentFromDiscriminatorValue, + queryParametersMapper: AttachmentItemRequestBuilderGetQueryParametersMapper, + }, +}; +/** + * Uri template for the request builder. + */ +export const AttachmentItemRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messages/{message%2Did}/attachments/{attachment%2Did}{?%24select,%24expand}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/messages/item/extensions/count/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/messages/item/extensions/count/index.ts index 3e4080eb3..462411eb8 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/messages/item/extensions/count/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/messages/item/extensions/count/index.ts @@ -1,56 +1,59 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../../../models/oDataErrors/'; +import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface CountRequestBuilderGetQueryParameters { - /** - * Filter items by property values - */ - filter?: string; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/messages/{message-id}/extensions/$count */ -export class CountRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new CountRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messages/{message%2Did}/extensions/$count{?%24filter}", (x, y) => new CountRequestBuilder(x, y)); - } +export interface CountRequestBuilder extends BaseRequestBuilder { /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Integer */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "number", errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, countRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "text/plain;q=0.9"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -const countRequestBuilderGetQueryParametersMapper: Record = { +/** + * Get the number of the resource + */ +export interface CountRequestBuilderGetQueryParameters { + /** + * Filter items by property values + */ + filter?: string; +} +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const CountRequestBuilderGetQueryParametersMapper: Record = { "filter": "%24filter", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const CountRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "text/plain;q=0.9", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "number", + queryParametersMapper: CountRequestBuilderGetQueryParametersMapper, + }, +}; +/** + * Uri template for the request builder. + */ +export const CountRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messages/{message%2Did}/extensions/$count{?%24filter}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/messages/item/extensions/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/messages/item/extensions/index.ts index ff6915eef..45bc4468e 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/messages/item/extensions/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/messages/item/extensions/index.ts @@ -1,86 +1,32 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createExtensionCollectionResponseFromDiscriminatorValue, createExtensionFromDiscriminatorValue, deserializeIntoExtension, serializeExtension, type Extension, type ExtensionCollectionResponse } from '../../../../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../../models/oDataErrors/'; -import { CountRequestBuilder } from './count/'; -import { ExtensionItemRequestBuilder } from './item/'; -import { BaseRequestBuilder, getPathParameters, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createExtensionCollectionResponseFromDiscriminatorValue, createExtensionFromDiscriminatorValue, serializeExtension, type Extension, type ExtensionCollectionResponse } from '../../../../../../../models/'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../../models/oDataErrors/'; +import { CountRequestBuilderRequestsMetadata, CountRequestBuilderUriTemplate, type CountRequestBuilder } from './count/'; +import { ExtensionItemRequestBuilderRequestsMetadata, ExtensionItemRequestBuilderUriTemplate, type ExtensionItemRequestBuilder } from './item/'; +import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface ExtensionsRequestBuilderGetQueryParameters { - /** - * Include count of items - */ - count?: boolean; - /** - * Expand related entities - */ - expand?: string[]; - /** - * Filter items by property values - */ - filter?: string; - /** - * Order items by property values - */ - orderby?: string[]; - /** - * Select properties to be returned - */ - select?: string[]; - /** - * Skip the first n items - */ - skip?: number; - /** - * Show only the first n items - */ - top?: number; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/messages/{message-id}/extensions */ -export class ExtensionsRequestBuilder extends BaseRequestBuilder { +export interface ExtensionsRequestBuilder extends BaseRequestBuilder { /** * The Count property */ - public get count(): CountRequestBuilder { - return new CountRequestBuilder(this.pathParameters, this.requestAdapter); - } + get count(): CountRequestBuilder; /** * Gets an item from the ApiSdk.users.item.mailFolders.item.messages.item.extensions.item collection * @param extensionId The unique identifier of extension * @returns a ExtensionItemRequestBuilder */ - public byExtensionId(extensionId: string) : ExtensionItemRequestBuilder { - if(!extensionId) throw new Error("extensionId cannot be undefined"); - const urlTplParams = getPathParameters(this.pathParameters); - urlTplParams["extension%2Did"] = extensionId - return new ExtensionItemRequestBuilder(urlTplParams, this.requestAdapter); - } - /** - * Instantiates a new ExtensionsRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messages/{message%2Did}/extensions{?%24top,%24skip,%24filter,%24count,%24orderby,%24select,%24expand}", (x, y) => new ExtensionsRequestBuilder(x, y)); - } + byExtensionId(extensionId: string) : ExtensionItemRequestBuilder; /** * Get an open extension (openTypeExtension object) identified by name or fully qualified name. The table in the Permissions section lists the resources that support open extensions. The following table lists the three scenarios where you can get an open extension from a supported resource instance. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of ExtensionCollectionResponse */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createExtensionCollectionResponseFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Create an open extension (openTypeExtension object) and add custom properties in a new or existing instance of a resource. You can create an open extension in a resource instance and store custom data to it all in the same operation, except for specific resources. The table in the Permissions section lists the resources that support open extensions. * @param body The request body @@ -88,43 +34,58 @@ export class ExtensionsRequestBuilder extends BaseRequestBuilder | undefined) : Promise { - const requestInfo = this.toPostRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createExtensionFromDiscriminatorValue, errorMapping); - } + post(body: Extension, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get an open extension (openTypeExtension object) identified by name or fully qualified name. The table in the Permissions section lists the resources that support open extensions. The following table lists the three scenarios where you can get an open extension from a supported resource instance. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, extensionsRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Create an open extension (openTypeExtension object) and add custom properties in a new or existing instance of a resource. You can create an open extension in a resource instance and store custom data to it all in the same operation, except for specific resources. The table in the Permissions section lists the resources that support open extensions. * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPostRequestInformation(body: Extension, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.POST, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeExtension); - return requestInfo; - } + toPostRequestInformation(body: Extension, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; +} +/** + * Get an open extension (openTypeExtension object) identified by name or fully qualified name. The table in the Permissions section lists the resources that support open extensions. The following table lists the three scenarios where you can get an open extension from a supported resource instance. + */ +export interface ExtensionsRequestBuilderGetQueryParameters { + /** + * Include count of items + */ + count?: boolean; + /** + * Expand related entities + */ + expand?: string[]; + /** + * Filter items by property values + */ + filter?: string; + /** + * Order items by property values + */ + orderby?: string[]; + /** + * Select properties to be returned + */ + select?: string[]; + /** + * Skip the first n items + */ + skip?: number; + /** + * Show only the first n items + */ + top?: number; } -const extensionsRequestBuilderGetQueryParametersMapper: Record = { +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const ExtensionsRequestBuilderGetQueryParametersMapper: Record = { "count": "%24count", "expand": "%24expand", "filter": "%24filter", @@ -133,5 +94,50 @@ const extensionsRequestBuilderGetQueryParametersMapper: Record = "skip": "%24skip", "top": "%24top", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the navigation properties in the request builder. + */ +export const ExtensionsRequestBuilderNavigationMetadata: Record, NavigationMetadata> = { + byExtensionId: { + uriTemplate: ExtensionItemRequestBuilderUriTemplate, + requestsMetadata: ExtensionItemRequestBuilderRequestsMetadata, + pathParametersMappings: ["extension%2Did"], + }, + count: { + uriTemplate: CountRequestBuilderUriTemplate, + requestsMetadata: CountRequestBuilderRequestsMetadata, + }, +}; +/** + * Metadata for all the requests in the request builder. + */ +export const ExtensionsRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createExtensionCollectionResponseFromDiscriminatorValue, + queryParametersMapper: ExtensionsRequestBuilderGetQueryParametersMapper, + }, + post: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createExtensionFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeExtension, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const ExtensionsRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messages/{message%2Did}/extensions{?%24top,%24skip,%24filter,%24count,%24orderby,%24select,%24expand}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/messages/item/extensions/item/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/messages/item/extensions/item/index.ts index 1de977bee..c2f362f09 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/messages/item/extensions/item/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/messages/item/extensions/item/index.ts @@ -1,120 +1,114 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createExtensionFromDiscriminatorValue, deserializeIntoExtension, serializeExtension, type Extension } from '../../../../../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createExtensionFromDiscriminatorValue, serializeExtension, type Extension } from '../../../../../../../../models/'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../../../models/oDataErrors/'; +import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface ExtensionItemRequestBuilderGetQueryParameters { - /** - * Expand related entities - */ - expand?: string[]; - /** - * Select properties to be returned - */ - select?: string[]; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/messages/{message-id}/extensions/{extension-id} */ -export class ExtensionItemRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new ExtensionItemRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messages/{message%2Did}/extensions/{extension%2Did}{?%24select,%24expand}", (x, y) => new ExtensionItemRequestBuilder(x, y)); - } +export interface ExtensionItemRequestBuilder extends BaseRequestBuilder { /** * Delete an open extension (openTypeExtension object) from the specified instance of a resource. For the list of resources that support open extensions, see the table in the Permissions section. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of ArrayBuffer * @see {@link https://learn.microsoft.com/graph/api/opentypeextension-delete?view=graph-rest-1.0|Find more info here} */ - public delete(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toDeleteRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "ArrayBuffer", errorMapping); - } + delete(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get an open extension (openTypeExtension object) identified by name or fully qualified name. The table in the Permissions section lists the resources that support open extensions. The following table lists the three scenarios where you can get an open extension from a supported resource instance. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Extension * @see {@link https://learn.microsoft.com/graph/api/opentypeextension-get?view=graph-rest-1.0|Find more info here} */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createExtensionFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Update the navigation property extensions in users * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Extension */ - public patch(body: Extension, requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toPatchRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createExtensionFromDiscriminatorValue, errorMapping); - } + patch(body: Extension, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Delete an open extension (openTypeExtension object) from the specified instance of a resource. For the list of resources that support open extensions, see the table in the Permissions section. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.DELETE, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Get an open extension (openTypeExtension object) identified by name or fully qualified name. The table in the Permissions section lists the resources that support open extensions. The following table lists the three scenarios where you can get an open extension from a supported resource instance. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, extensionItemRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Update the navigation property extensions in users * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPatchRequestInformation(body: Extension, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.PATCH, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeExtension); - return requestInfo; - } + toPatchRequestInformation(body: Extension, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -const extensionItemRequestBuilderGetQueryParametersMapper: Record = { +/** + * Get an open extension (openTypeExtension object) identified by name or fully qualified name. The table in the Permissions section lists the resources that support open extensions. The following table lists the three scenarios where you can get an open extension from a supported resource instance. + */ +export interface ExtensionItemRequestBuilderGetQueryParameters { + /** + * Expand related entities + */ + expand?: string[]; + /** + * Select properties to be returned + */ + select?: string[]; +} +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const ExtensionItemRequestBuilderGetQueryParametersMapper: Record = { "expand": "%24expand", "select": "%24select", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const ExtensionItemRequestBuilderRequestsMetadata: RequestsMetadata = { + delete: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "ArrayBuffer", + }, + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createExtensionFromDiscriminatorValue, + queryParametersMapper: ExtensionItemRequestBuilderGetQueryParametersMapper, + }, + patch: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createExtensionFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeExtension, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const ExtensionItemRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messages/{message%2Did}/extensions/{extension%2Did}{?%24select,%24expand}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/messages/item/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/messages/item/index.ts index 930e076ff..7973272f3 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/messages/item/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/messages/item/index.ts @@ -1,139 +1,146 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createMessageFromDiscriminatorValue, deserializeIntoMessage, serializeMessage, type Message } from '../../../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../models/oDataErrors/'; -import { AttachmentsRequestBuilder } from './attachments/'; -import { ExtensionsRequestBuilder } from './extensions/'; -import { ContentRequestBuilder } from './value/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createMessageFromDiscriminatorValue, serializeMessage, type Message } from '../../../../../../models/'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../models/oDataErrors/'; +import { AttachmentsRequestBuilderNavigationMetadata, AttachmentsRequestBuilderRequestsMetadata, AttachmentsRequestBuilderUriTemplate, type AttachmentsRequestBuilder } from './attachments/'; +import { ExtensionsRequestBuilderNavigationMetadata, ExtensionsRequestBuilderRequestsMetadata, ExtensionsRequestBuilderUriTemplate, type ExtensionsRequestBuilder } from './extensions/'; +import { ContentRequestBuilderRequestsMetadata, ContentRequestBuilderUriTemplate, type ContentRequestBuilder } from './value/'; +import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface MessageItemRequestBuilderGetQueryParameters { - /** - * Expand related entities - */ - expand?: string[]; - /** - * Select properties to be returned - */ - select?: string[]; -} /** * Builds and executes requests for operations under /users/{user-id}/mailFolders/{mailFolder-id}/messages/{message-id} */ -export class MessageItemRequestBuilder extends BaseRequestBuilder { +export interface MessageItemRequestBuilder extends BaseRequestBuilder { /** * The attachments property */ - public get attachments(): AttachmentsRequestBuilder { - return new AttachmentsRequestBuilder(this.pathParameters, this.requestAdapter); - } + get attachments(): AttachmentsRequestBuilder; /** * The Content property */ - public get content(): ContentRequestBuilder { - return new ContentRequestBuilder(this.pathParameters, this.requestAdapter); - } + get content(): ContentRequestBuilder; /** * The extensions property */ - public get extensions(): ExtensionsRequestBuilder { - return new ExtensionsRequestBuilder(this.pathParameters, this.requestAdapter); - } - /** - * Instantiates a new MessageItemRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messages/{message%2Did}{?%24select,%24expand}", (x, y) => new MessageItemRequestBuilder(x, y)); - } + get extensions(): ExtensionsRequestBuilder; /** * Delete navigation property messages for users * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of ArrayBuffer */ - public delete(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toDeleteRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "ArrayBuffer", errorMapping); - } + delete(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * The collection of messages in the mailFolder. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Message */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMessageFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Update the navigation property messages in users * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Message */ - public patch(body: Message, requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toPatchRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMessageFromDiscriminatorValue, errorMapping); - } + patch(body: Message, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Delete navigation property messages for users * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.DELETE, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * The collection of messages in the mailFolder. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, messageItemRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Update the navigation property messages in users * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPatchRequestInformation(body: Message, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.PATCH, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeMessage); - return requestInfo; - } + toPatchRequestInformation(body: Message, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; +} +/** + * The collection of messages in the mailFolder. + */ +export interface MessageItemRequestBuilderGetQueryParameters { + /** + * Expand related entities + */ + expand?: string[]; + /** + * Select properties to be returned + */ + select?: string[]; } -const messageItemRequestBuilderGetQueryParametersMapper: Record = { +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const MessageItemRequestBuilderGetQueryParametersMapper: Record = { "expand": "%24expand", "select": "%24select", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the navigation properties in the request builder. + */ +export const MessageItemRequestBuilderNavigationMetadata: Record, NavigationMetadata> = { + attachments: { + uriTemplate: AttachmentsRequestBuilderUriTemplate, + requestsMetadata: AttachmentsRequestBuilderRequestsMetadata, + navigationMetadata: AttachmentsRequestBuilderNavigationMetadata, + }, + content: { + uriTemplate: ContentRequestBuilderUriTemplate, + requestsMetadata: ContentRequestBuilderRequestsMetadata, + }, + extensions: { + uriTemplate: ExtensionsRequestBuilderUriTemplate, + requestsMetadata: ExtensionsRequestBuilderRequestsMetadata, + navigationMetadata: ExtensionsRequestBuilderNavigationMetadata, + }, +}; +/** + * Metadata for all the requests in the request builder. + */ +export const MessageItemRequestBuilderRequestsMetadata: RequestsMetadata = { + delete: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "ArrayBuffer", + }, + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMessageFromDiscriminatorValue, + queryParametersMapper: MessageItemRequestBuilderGetQueryParametersMapper, + }, + patch: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMessageFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeMessage, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const MessageItemRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messages/{message%2Did}{?%24select,%24expand}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/mailFolders/item/messages/item/value/index.ts b/packages/test/generatedCode/users/item/mailFolders/item/messages/item/value/index.ts index 81103e8db..ed9890f28 100644 --- a/packages/test/generatedCode/users/item/mailFolders/item/messages/item/value/index.ts +++ b/packages/test/generatedCode/users/item/mailFolders/item/messages/item/value/index.ts @@ -1,78 +1,69 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../../models/oDataErrors/'; +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}/messages/{message-id}/$value */ -export class ContentRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new ContentRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messages/{message%2Did}/$value", (x, y) => new ContentRequestBuilder(x, y)); - } +export interface ContentRequestBuilder extends BaseRequestBuilder { /** * Get media content for the navigation property messages from users * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of ArrayBuffer * @see {@link https://learn.microsoft.com/graph/api/mailfolder-list-messages?view=graph-rest-1.0|Find more info here} */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "ArrayBuffer", errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Update media content for the navigation property messages in users * @param body Binary request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of ArrayBuffer */ - public put(body: ArrayBuffer | undefined, requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toPutRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "ArrayBuffer", errorMapping); - } + put(body: ArrayBuffer | undefined, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get media content for the navigation property messages from users * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/octet-stream, application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Update media content for the navigation property messages in users * @param body Binary request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPutRequestInformation(body: ArrayBuffer | undefined, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.PUT, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setStreamContent(body, "application/octet-stream"); - return requestInfo; - } + toPutRequestInformation(body: ArrayBuffer | undefined, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const ContentRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "application/octet-stream, application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "ArrayBuffer", + }, + put: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "ArrayBuffer", + requestBodyContentType: "application/octet-stream", + requestInformationContentSetMethod: "setStreamContent", + }, +}; +/** + * Uri template for the request builder. + */ +export const ContentRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/messages/{message%2Did}/$value"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/messages/count/index.ts b/packages/test/generatedCode/users/item/messages/count/index.ts index ed9aa6bcb..ef645abf0 100644 --- a/packages/test/generatedCode/users/item/messages/count/index.ts +++ b/packages/test/generatedCode/users/item/messages/count/index.ts @@ -1,61 +1,64 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../models/oDataErrors/'; +import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface CountRequestBuilderGetQueryParameters { - /** - * Filter items by property values - */ - filter?: string; - /** - * Search items by search phrases - */ - search?: string; -} /** * Builds and executes requests for operations under /users/{user-id}/messages/$count */ -export class CountRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new CountRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/messages/$count{?%24search,%24filter}", (x, y) => new CountRequestBuilder(x, y)); - } +export interface CountRequestBuilder extends BaseRequestBuilder { /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Integer */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "number", errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, countRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "text/plain;q=0.9"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -const countRequestBuilderGetQueryParametersMapper: Record = { +/** + * Get the number of the resource + */ +export interface CountRequestBuilderGetQueryParameters { + /** + * Filter items by property values + */ + filter?: string; + /** + * Search items by search phrases + */ + search?: string; +} +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const CountRequestBuilderGetQueryParametersMapper: Record = { "filter": "%24filter", "search": "%24search", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const CountRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "text/plain;q=0.9", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "number", + queryParametersMapper: CountRequestBuilderGetQueryParametersMapper, + }, +}; +/** + * Uri template for the request builder. + */ +export const CountRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/messages/$count{?%24search,%24filter}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/messages/index.ts b/packages/test/generatedCode/users/item/messages/index.ts index 4bdf36bd4..6c8ef2f29 100644 --- a/packages/test/generatedCode/users/item/messages/index.ts +++ b/packages/test/generatedCode/users/item/messages/index.ts @@ -1,12 +1,58 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createMessageCollectionResponseFromDiscriminatorValue, createMessageFromDiscriminatorValue, deserializeIntoMessage, serializeMessage, type Message, type MessageCollectionResponse } from '../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../models/oDataErrors/'; -import { CountRequestBuilder } from './count/'; -import { MessageItemRequestBuilder } from './item/'; -import { BaseRequestBuilder, getPathParameters, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createMessageCollectionResponseFromDiscriminatorValue, createMessageFromDiscriminatorValue, serializeMessage, type Message, type MessageCollectionResponse } from '../../../models/'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../models/oDataErrors/'; +import { CountRequestBuilderRequestsMetadata, CountRequestBuilderUriTemplate, type CountRequestBuilder } from './count/'; +import { MessageItemRequestBuilderNavigationMetadata, MessageItemRequestBuilderRequestsMetadata, MessageItemRequestBuilderUriTemplate, type MessageItemRequestBuilder } from './item/'; +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}/messages + */ +export interface MessagesRequestBuilder extends BaseRequestBuilder { + /** + * The Count property + */ + get count(): CountRequestBuilder; + /** + * Gets an item from the ApiSdk.users.item.messages.item collection + * @param messageId The unique identifier of message + * @returns a MessageItemRequestBuilder + */ + byMessageId(messageId: string) : MessageItemRequestBuilder; + /** + * The messages in a mailbox or folder. Read-only. Nullable. + * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. + * @returns a Promise of MessageCollectionResponse + * @see {@link https://learn.microsoft.com/graph/api/opentypeextension-get?view=graph-rest-1.0|Find more info here} + */ + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; + /** + * Create a draft of a new message in either JSON or MIME format. When using JSON format, you can:- Include an attachment to the message.- Update the draft later to add content to the body or change other message properties. When using MIME format:- Provide the applicable Internet message headers and the MIME content, all encoded in base64 format in the request body.- /* Add any attachments and S/MIME properties to the MIME content. By default, this operation saves the draft in the Drafts folder. Send the draft message in a subsequent operation. Alternatively, send a new message in a single operation, or create a draft to forward, reply and reply-all to an existing message. + * @param body The request body + * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. + * @returns a Promise of Message + * @see {@link https://learn.microsoft.com/graph/api/user-post-messages?view=graph-rest-1.0|Find more info here} + */ + post(body: Message, requestConfiguration?: RequestConfiguration | undefined) : Promise; + /** + * The messages in a mailbox or folder. Read-only. Nullable. + * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. + * @returns a RequestInformation + */ + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; + /** + * Create a draft of a new message in either JSON or MIME format. When using JSON format, you can:- Include an attachment to the message.- Update the draft later to add content to the body or change other message properties. When using MIME format:- Provide the applicable Internet message headers and the MIME content, all encoded in base64 format in the request body.- /* Add any attachments and S/MIME properties to the MIME content. By default, this operation saves the draft in the Drafts folder. Send the draft message in a subsequent operation. Alternatively, send a new message in a single operation, or create a draft to forward, reply and reply-all to an existing message. + * @param body The request body + * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. + * @returns a RequestInformation + */ + toPostRequestInformation(body: Message, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; +} +/** + * The messages in a mailbox or folder. Read-only. Nullable. + */ export interface MessagesRequestBuilderGetQueryParameters { /** * Include count of items @@ -46,94 +92,9 @@ export interface MessagesRequestBuilderGetQueryParameters { top?: number; } /** - * Builds and executes requests for operations under /users/{user-id}/messages + * Mapper for query parameters from symbol name to serialization name represented as a constant. */ -export class MessagesRequestBuilder extends BaseRequestBuilder { - /** - * The Count property - */ - public get count(): CountRequestBuilder { - return new CountRequestBuilder(this.pathParameters, this.requestAdapter); - } - /** - * Gets an item from the ApiSdk.users.item.messages.item collection - * @param messageId The unique identifier of message - * @returns a MessageItemRequestBuilder - */ - public byMessageId(messageId: string) : MessageItemRequestBuilder { - if(!messageId) throw new Error("messageId cannot be undefined"); - const urlTplParams = getPathParameters(this.pathParameters); - urlTplParams["message%2Did"] = messageId - return new MessageItemRequestBuilder(urlTplParams, this.requestAdapter); - } - /** - * Instantiates a new MessagesRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/messages{?includeHiddenMessages,%24top,%24skip,%24search,%24filter,%24count,%24orderby,%24select,%24expand}", (x, y) => new MessagesRequestBuilder(x, y)); - } - /** - * The messages in a mailbox or folder. Read-only. Nullable. - * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. - * @returns a Promise of MessageCollectionResponse - * @see {@link https://learn.microsoft.com/graph/api/opentypeextension-get?view=graph-rest-1.0|Find more info here} - */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMessageCollectionResponseFromDiscriminatorValue, errorMapping); - } - /** - * Create a draft of a new message in either JSON or MIME format. When using JSON format, you can:- Include an attachment to the message.- Update the draft later to add content to the body or change other message properties. When using MIME format:- Provide the applicable Internet message headers and the MIME content, all encoded in base64 format in the request body.- /* Add any attachments and S/MIME properties to the MIME content. By default, this operation saves the draft in the Drafts folder. Send the draft message in a subsequent operation. Alternatively, send a new message in a single operation, or create a draft to forward, reply and reply-all to an existing message. - * @param body The request body - * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. - * @returns a Promise of Message - * @see {@link https://learn.microsoft.com/graph/api/user-post-messages?view=graph-rest-1.0|Find more info here} - */ - public post(body: Message, requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toPostRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMessageFromDiscriminatorValue, errorMapping); - } - /** - * The messages in a mailbox or folder. Read-only. Nullable. - * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. - * @returns a RequestInformation - */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, messagesRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } - /** - * Create a draft of a new message in either JSON or MIME format. When using JSON format, you can:- Include an attachment to the message.- Update the draft later to add content to the body or change other message properties. When using MIME format:- Provide the applicable Internet message headers and the MIME content, all encoded in base64 format in the request body.- /* Add any attachments and S/MIME properties to the MIME content. By default, this operation saves the draft in the Drafts folder. Send the draft message in a subsequent operation. Alternatively, send a new message in a single operation, or create a draft to forward, reply and reply-all to an existing message. - * @param body The request body - * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. - * @returns a RequestInformation - */ - public toPostRequestInformation(body: Message, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.POST, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeMessage); - return requestInfo; - } -} -const messagesRequestBuilderGetQueryParametersMapper: Record = { +const MessagesRequestBuilderGetQueryParametersMapper: Record = { "count": "%24count", "expand": "%24expand", "filter": "%24filter", @@ -143,5 +104,51 @@ const messagesRequestBuilderGetQueryParametersMapper: Record = { "skip": "%24skip", "top": "%24top", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the navigation properties in the request builder. + */ +export const MessagesRequestBuilderNavigationMetadata: Record, NavigationMetadata> = { + byMessageId: { + uriTemplate: MessageItemRequestBuilderUriTemplate, + requestsMetadata: MessageItemRequestBuilderRequestsMetadata, + navigationMetadata: MessageItemRequestBuilderNavigationMetadata, + pathParametersMappings: ["message%2Did"], + }, + count: { + uriTemplate: CountRequestBuilderUriTemplate, + requestsMetadata: CountRequestBuilderRequestsMetadata, + }, +}; +/** + * Metadata for all the requests in the request builder. + */ +export const MessagesRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMessageCollectionResponseFromDiscriminatorValue, + queryParametersMapper: MessagesRequestBuilderGetQueryParametersMapper, + }, + post: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMessageFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeMessage, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const MessagesRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/messages{?includeHiddenMessages,%24top,%24skip,%24search,%24filter,%24count,%24orderby,%24select,%24expand}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/messages/item/attachments/count/index.ts b/packages/test/generatedCode/users/item/messages/item/attachments/count/index.ts index 8dbe57e51..c09311b33 100644 --- a/packages/test/generatedCode/users/item/messages/item/attachments/count/index.ts +++ b/packages/test/generatedCode/users/item/messages/item/attachments/count/index.ts @@ -1,56 +1,59 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../models/oDataErrors/'; +import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface CountRequestBuilderGetQueryParameters { - /** - * Filter items by property values - */ - filter?: string; -} /** * Builds and executes requests for operations under /users/{user-id}/messages/{message-id}/attachments/$count */ -export class CountRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new CountRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/messages/{message%2Did}/attachments/$count{?%24filter}", (x, y) => new CountRequestBuilder(x, y)); - } +export interface CountRequestBuilder extends BaseRequestBuilder { /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Integer */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "number", errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, countRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "text/plain;q=0.9"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -const countRequestBuilderGetQueryParametersMapper: Record = { +/** + * Get the number of the resource + */ +export interface CountRequestBuilderGetQueryParameters { + /** + * Filter items by property values + */ + filter?: string; +} +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const CountRequestBuilderGetQueryParametersMapper: Record = { "filter": "%24filter", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const CountRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "text/plain;q=0.9", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "number", + queryParametersMapper: CountRequestBuilderGetQueryParametersMapper, + }, +}; +/** + * Uri template for the request builder. + */ +export const CountRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/messages/{message%2Did}/attachments/$count{?%24filter}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/messages/item/attachments/index.ts b/packages/test/generatedCode/users/item/messages/item/attachments/index.ts index b44731311..47d1bc81f 100644 --- a/packages/test/generatedCode/users/item/messages/item/attachments/index.ts +++ b/packages/test/generatedCode/users/item/messages/item/attachments/index.ts @@ -1,79 +1,33 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createAttachmentCollectionResponseFromDiscriminatorValue, createAttachmentFromDiscriminatorValue, deserializeIntoAttachment, serializeAttachment, type Attachment, type AttachmentCollectionResponse } from '../../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../models/oDataErrors/'; -import { CountRequestBuilder } from './count/'; -import { AttachmentItemRequestBuilder } from './item/'; -import { BaseRequestBuilder, getPathParameters, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createAttachmentCollectionResponseFromDiscriminatorValue, createAttachmentFromDiscriminatorValue, serializeAttachment, type Attachment, type AttachmentCollectionResponse } from '../../../../../models/'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../models/oDataErrors/'; +import { CountRequestBuilderRequestsMetadata, CountRequestBuilderUriTemplate, type CountRequestBuilder } from './count/'; +import { AttachmentItemRequestBuilderRequestsMetadata, AttachmentItemRequestBuilderUriTemplate, type AttachmentItemRequestBuilder } from './item/'; +import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface AttachmentsRequestBuilderGetQueryParameters { - /** - * Include count of items - */ - count?: boolean; - /** - * Expand related entities - */ - expand?: string[]; - /** - * Filter items by property values - */ - filter?: string; - /** - * Order items by property values - */ - orderby?: string[]; - /** - * Select properties to be returned - */ - select?: string[]; -} /** * Builds and executes requests for operations under /users/{user-id}/messages/{message-id}/attachments */ -export class AttachmentsRequestBuilder extends BaseRequestBuilder { +export interface AttachmentsRequestBuilder extends BaseRequestBuilder { /** * The Count property */ - public get count(): CountRequestBuilder { - return new CountRequestBuilder(this.pathParameters, this.requestAdapter); - } + get count(): CountRequestBuilder; /** * Gets an item from the ApiSdk.users.item.messages.item.attachments.item collection * @param attachmentId The unique identifier of attachment * @returns a AttachmentItemRequestBuilder */ - public byAttachmentId(attachmentId: string) : AttachmentItemRequestBuilder { - if(!attachmentId) throw new Error("attachmentId cannot be undefined"); - const urlTplParams = getPathParameters(this.pathParameters); - urlTplParams["attachment%2Did"] = attachmentId - return new AttachmentItemRequestBuilder(urlTplParams, this.requestAdapter); - } + byAttachmentId(attachmentId: string) : AttachmentItemRequestBuilder; /** - * Instantiates a new AttachmentsRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/messages/{message%2Did}/attachments{?%24filter,%24count,%24orderby,%24select,%24expand}", (x, y) => new AttachmentsRequestBuilder(x, y)); - } - /** - * Retrieve a list of attachment objects. + * Retrieve a list of attachment objects attached to a message. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of AttachmentCollectionResponse - * @see {@link https://learn.microsoft.com/graph/api/eventmessage-list-attachments?view=graph-rest-1.0|Find more info here} + * @see {@link https://learn.microsoft.com/graph/api/message-list-attachments?view=graph-rest-1.0|Find more info here} */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createAttachmentCollectionResponseFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Use this API to create a new Attachment. An attachment can be one of the following types: All these types of attachment resources are derived from the attachmentresource. * @param body The request body @@ -81,48 +35,100 @@ export class AttachmentsRequestBuilder extends BaseRequestBuilder | undefined) : Promise { - const requestInfo = this.toPostRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createAttachmentFromDiscriminatorValue, errorMapping); - } + post(body: Attachment, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** - * Retrieve a list of attachment objects. + * Retrieve a list of attachment objects attached to a message. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, attachmentsRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Use this API to create a new Attachment. An attachment can be one of the following types: All these types of attachment resources are derived from the attachmentresource. * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPostRequestInformation(body: Attachment, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.POST, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeAttachment); - return requestInfo; - } + toPostRequestInformation(body: Attachment, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; +} +/** + * Retrieve a list of attachment objects attached to a message. + */ +export interface AttachmentsRequestBuilderGetQueryParameters { + /** + * Include count of items + */ + count?: boolean; + /** + * Expand related entities + */ + expand?: string[]; + /** + * Filter items by property values + */ + filter?: string; + /** + * Order items by property values + */ + orderby?: string[]; + /** + * Select properties to be returned + */ + select?: string[]; } -const attachmentsRequestBuilderGetQueryParametersMapper: Record = { +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const AttachmentsRequestBuilderGetQueryParametersMapper: Record = { "count": "%24count", "expand": "%24expand", "filter": "%24filter", "orderby": "%24orderby", "select": "%24select", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the navigation properties in the request builder. + */ +export const AttachmentsRequestBuilderNavigationMetadata: Record, NavigationMetadata> = { + byAttachmentId: { + uriTemplate: AttachmentItemRequestBuilderUriTemplate, + requestsMetadata: AttachmentItemRequestBuilderRequestsMetadata, + pathParametersMappings: ["attachment%2Did"], + }, + count: { + uriTemplate: CountRequestBuilderUriTemplate, + requestsMetadata: CountRequestBuilderRequestsMetadata, + }, +}; +/** + * Metadata for all the requests in the request builder. + */ +export const AttachmentsRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createAttachmentCollectionResponseFromDiscriminatorValue, + queryParametersMapper: AttachmentsRequestBuilderGetQueryParametersMapper, + }, + post: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createAttachmentFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeAttachment, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const AttachmentsRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/messages/{message%2Did}/attachments{?%24filter,%24count,%24orderby,%24select,%24expand}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/messages/item/attachments/item/index.ts b/packages/test/generatedCode/users/item/messages/item/attachments/item/index.ts index 9ec91eea0..7c2a01605 100644 --- a/packages/test/generatedCode/users/item/messages/item/attachments/item/index.ts +++ b/packages/test/generatedCode/users/item/messages/item/attachments/item/index.ts @@ -1,89 +1,87 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota import { createAttachmentFromDiscriminatorValue, type Attachment } from '../../../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../models/oDataErrors/'; +import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface AttachmentItemRequestBuilderGetQueryParameters { - /** - * Expand related entities - */ - expand?: string[]; - /** - * Select properties to be returned - */ - select?: string[]; -} /** * Builds and executes requests for operations under /users/{user-id}/messages/{message-id}/attachments/{attachment-id} */ -export class AttachmentItemRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new AttachmentItemRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/messages/{message%2Did}/attachments/{attachment%2Did}{?%24select,%24expand}", (x, y) => new AttachmentItemRequestBuilder(x, y)); - } +export interface AttachmentItemRequestBuilder extends BaseRequestBuilder { /** * Delete navigation property attachments for users * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of ArrayBuffer */ - public delete(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toDeleteRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "ArrayBuffer", errorMapping); - } + delete(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Read the properties, relationships, or raw contents of an attachment that is attached to a user event, message, or group post. An attachment can be one of the following types: All these types of attachments are derived from the attachment resource. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Attachment * @see {@link https://learn.microsoft.com/graph/api/attachment-get?view=graph-rest-1.0|Find more info here} */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createAttachmentFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Delete navigation property attachments for users * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.DELETE, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Read the properties, relationships, or raw contents of an attachment that is attached to a user event, message, or group post. An attachment can be one of the following types: All these types of attachments are derived from the attachment resource. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, attachmentItemRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -const attachmentItemRequestBuilderGetQueryParametersMapper: Record = { +/** + * Read the properties, relationships, or raw contents of an attachment that is attached to a user event, message, or group post. An attachment can be one of the following types: All these types of attachments are derived from the attachment resource. + */ +export interface AttachmentItemRequestBuilderGetQueryParameters { + /** + * Expand related entities + */ + expand?: string[]; + /** + * Select properties to be returned + */ + select?: string[]; +} +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const AttachmentItemRequestBuilderGetQueryParametersMapper: Record = { "expand": "%24expand", "select": "%24select", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const AttachmentItemRequestBuilderRequestsMetadata: RequestsMetadata = { + delete: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "ArrayBuffer", + }, + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createAttachmentFromDiscriminatorValue, + queryParametersMapper: AttachmentItemRequestBuilderGetQueryParametersMapper, + }, +}; +/** + * Uri template for the request builder. + */ +export const AttachmentItemRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/messages/{message%2Did}/attachments/{attachment%2Did}{?%24select,%24expand}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/messages/item/extensions/count/index.ts b/packages/test/generatedCode/users/item/messages/item/extensions/count/index.ts index beeb14cde..ee7d67269 100644 --- a/packages/test/generatedCode/users/item/messages/item/extensions/count/index.ts +++ b/packages/test/generatedCode/users/item/messages/item/extensions/count/index.ts @@ -1,56 +1,59 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../models/oDataErrors/'; +import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface CountRequestBuilderGetQueryParameters { - /** - * Filter items by property values - */ - filter?: string; -} /** * Builds and executes requests for operations under /users/{user-id}/messages/{message-id}/extensions/$count */ -export class CountRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new CountRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/messages/{message%2Did}/extensions/$count{?%24filter}", (x, y) => new CountRequestBuilder(x, y)); - } +export interface CountRequestBuilder extends BaseRequestBuilder { /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Integer */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "number", errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get the number of the resource * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, countRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "text/plain;q=0.9"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -const countRequestBuilderGetQueryParametersMapper: Record = { +/** + * Get the number of the resource + */ +export interface CountRequestBuilderGetQueryParameters { + /** + * Filter items by property values + */ + filter?: string; +} +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const CountRequestBuilderGetQueryParametersMapper: Record = { "filter": "%24filter", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const CountRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "text/plain;q=0.9", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "number", + queryParametersMapper: CountRequestBuilderGetQueryParametersMapper, + }, +}; +/** + * Uri template for the request builder. + */ +export const CountRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/messages/{message%2Did}/extensions/$count{?%24filter}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/messages/item/extensions/index.ts b/packages/test/generatedCode/users/item/messages/item/extensions/index.ts index fb3b2ba06..ccd03e0b3 100644 --- a/packages/test/generatedCode/users/item/messages/item/extensions/index.ts +++ b/packages/test/generatedCode/users/item/messages/item/extensions/index.ts @@ -1,86 +1,32 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createExtensionCollectionResponseFromDiscriminatorValue, createExtensionFromDiscriminatorValue, deserializeIntoExtension, serializeExtension, type Extension, type ExtensionCollectionResponse } from '../../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../models/oDataErrors/'; -import { CountRequestBuilder } from './count/'; -import { ExtensionItemRequestBuilder } from './item/'; -import { BaseRequestBuilder, getPathParameters, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createExtensionCollectionResponseFromDiscriminatorValue, createExtensionFromDiscriminatorValue, serializeExtension, type Extension, type ExtensionCollectionResponse } from '../../../../../models/'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../models/oDataErrors/'; +import { CountRequestBuilderRequestsMetadata, CountRequestBuilderUriTemplate, type CountRequestBuilder } from './count/'; +import { ExtensionItemRequestBuilderRequestsMetadata, ExtensionItemRequestBuilderUriTemplate, type ExtensionItemRequestBuilder } from './item/'; +import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface ExtensionsRequestBuilderGetQueryParameters { - /** - * Include count of items - */ - count?: boolean; - /** - * Expand related entities - */ - expand?: string[]; - /** - * Filter items by property values - */ - filter?: string; - /** - * Order items by property values - */ - orderby?: string[]; - /** - * Select properties to be returned - */ - select?: string[]; - /** - * Skip the first n items - */ - skip?: number; - /** - * Show only the first n items - */ - top?: number; -} /** * Builds and executes requests for operations under /users/{user-id}/messages/{message-id}/extensions */ -export class ExtensionsRequestBuilder extends BaseRequestBuilder { +export interface ExtensionsRequestBuilder extends BaseRequestBuilder { /** * The Count property */ - public get count(): CountRequestBuilder { - return new CountRequestBuilder(this.pathParameters, this.requestAdapter); - } + get count(): CountRequestBuilder; /** * Gets an item from the ApiSdk.users.item.messages.item.extensions.item collection * @param extensionId The unique identifier of extension * @returns a ExtensionItemRequestBuilder */ - public byExtensionId(extensionId: string) : ExtensionItemRequestBuilder { - if(!extensionId) throw new Error("extensionId cannot be undefined"); - const urlTplParams = getPathParameters(this.pathParameters); - urlTplParams["extension%2Did"] = extensionId - return new ExtensionItemRequestBuilder(urlTplParams, this.requestAdapter); - } - /** - * Instantiates a new ExtensionsRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/messages/{message%2Did}/extensions{?%24top,%24skip,%24filter,%24count,%24orderby,%24select,%24expand}", (x, y) => new ExtensionsRequestBuilder(x, y)); - } + byExtensionId(extensionId: string) : ExtensionItemRequestBuilder; /** * Get an open extension (openTypeExtension object) identified by name or fully qualified name. The table in the Permissions section lists the resources that support open extensions. The following table lists the three scenarios where you can get an open extension from a supported resource instance. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of ExtensionCollectionResponse */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createExtensionCollectionResponseFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Create an open extension (openTypeExtension object) and add custom properties in a new or existing instance of a resource. You can create an open extension in a resource instance and store custom data to it all in the same operation, except for specific resources. The table in the Permissions section lists the resources that support open extensions. * @param body The request body @@ -88,43 +34,58 @@ export class ExtensionsRequestBuilder extends BaseRequestBuilder | undefined) : Promise { - const requestInfo = this.toPostRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createExtensionFromDiscriminatorValue, errorMapping); - } + post(body: Extension, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get an open extension (openTypeExtension object) identified by name or fully qualified name. The table in the Permissions section lists the resources that support open extensions. The following table lists the three scenarios where you can get an open extension from a supported resource instance. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, extensionsRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Create an open extension (openTypeExtension object) and add custom properties in a new or existing instance of a resource. You can create an open extension in a resource instance and store custom data to it all in the same operation, except for specific resources. The table in the Permissions section lists the resources that support open extensions. * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPostRequestInformation(body: Extension, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.POST, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeExtension); - return requestInfo; - } + toPostRequestInformation(body: Extension, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; +} +/** + * Get an open extension (openTypeExtension object) identified by name or fully qualified name. The table in the Permissions section lists the resources that support open extensions. The following table lists the three scenarios where you can get an open extension from a supported resource instance. + */ +export interface ExtensionsRequestBuilderGetQueryParameters { + /** + * Include count of items + */ + count?: boolean; + /** + * Expand related entities + */ + expand?: string[]; + /** + * Filter items by property values + */ + filter?: string; + /** + * Order items by property values + */ + orderby?: string[]; + /** + * Select properties to be returned + */ + select?: string[]; + /** + * Skip the first n items + */ + skip?: number; + /** + * Show only the first n items + */ + top?: number; } -const extensionsRequestBuilderGetQueryParametersMapper: Record = { +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const ExtensionsRequestBuilderGetQueryParametersMapper: Record = { "count": "%24count", "expand": "%24expand", "filter": "%24filter", @@ -133,5 +94,50 @@ const extensionsRequestBuilderGetQueryParametersMapper: Record = "skip": "%24skip", "top": "%24top", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the navigation properties in the request builder. + */ +export const ExtensionsRequestBuilderNavigationMetadata: Record, NavigationMetadata> = { + byExtensionId: { + uriTemplate: ExtensionItemRequestBuilderUriTemplate, + requestsMetadata: ExtensionItemRequestBuilderRequestsMetadata, + pathParametersMappings: ["extension%2Did"], + }, + count: { + uriTemplate: CountRequestBuilderUriTemplate, + requestsMetadata: CountRequestBuilderRequestsMetadata, + }, +}; +/** + * Metadata for all the requests in the request builder. + */ +export const ExtensionsRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createExtensionCollectionResponseFromDiscriminatorValue, + queryParametersMapper: ExtensionsRequestBuilderGetQueryParametersMapper, + }, + post: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createExtensionFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeExtension, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const ExtensionsRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/messages/{message%2Did}/extensions{?%24top,%24skip,%24filter,%24count,%24orderby,%24select,%24expand}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/messages/item/extensions/item/index.ts b/packages/test/generatedCode/users/item/messages/item/extensions/item/index.ts index ef05cbdb0..cbc9637f9 100644 --- a/packages/test/generatedCode/users/item/messages/item/extensions/item/index.ts +++ b/packages/test/generatedCode/users/item/messages/item/extensions/item/index.ts @@ -1,120 +1,114 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createExtensionFromDiscriminatorValue, deserializeIntoExtension, serializeExtension, type Extension } from '../../../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createExtensionFromDiscriminatorValue, serializeExtension, type Extension } from '../../../../../../models/'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../../models/oDataErrors/'; +import { type BaseRequestBuilder, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface ExtensionItemRequestBuilderGetQueryParameters { - /** - * Expand related entities - */ - expand?: string[]; - /** - * Select properties to be returned - */ - select?: string[]; -} /** * Builds and executes requests for operations under /users/{user-id}/messages/{message-id}/extensions/{extension-id} */ -export class ExtensionItemRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new ExtensionItemRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/messages/{message%2Did}/extensions/{extension%2Did}{?%24select,%24expand}", (x, y) => new ExtensionItemRequestBuilder(x, y)); - } +export interface ExtensionItemRequestBuilder extends BaseRequestBuilder { /** * Delete an open extension (openTypeExtension object) from the specified instance of a resource. For the list of resources that support open extensions, see the table in the Permissions section. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of ArrayBuffer * @see {@link https://learn.microsoft.com/graph/api/opentypeextension-delete?view=graph-rest-1.0|Find more info here} */ - public delete(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toDeleteRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "ArrayBuffer", errorMapping); - } + delete(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get an open extension (openTypeExtension object) identified by name or fully qualified name. The table in the Permissions section lists the resources that support open extensions. The following table lists the three scenarios where you can get an open extension from a supported resource instance. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Extension * @see {@link https://learn.microsoft.com/graph/api/opentypeextension-get?view=graph-rest-1.0|Find more info here} */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createExtensionFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Update the navigation property extensions in users * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Extension */ - public patch(body: Extension, requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toPatchRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createExtensionFromDiscriminatorValue, errorMapping); - } + patch(body: Extension, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Delete an open extension (openTypeExtension object) from the specified instance of a resource. For the list of resources that support open extensions, see the table in the Permissions section. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.DELETE, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Get an open extension (openTypeExtension object) identified by name or fully qualified name. The table in the Permissions section lists the resources that support open extensions. The following table lists the three scenarios where you can get an open extension from a supported resource instance. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, extensionItemRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Update the navigation property extensions in users * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPatchRequestInformation(body: Extension, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.PATCH, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeExtension); - return requestInfo; - } + toPatchRequestInformation(body: Extension, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -const extensionItemRequestBuilderGetQueryParametersMapper: Record = { +/** + * Get an open extension (openTypeExtension object) identified by name or fully qualified name. The table in the Permissions section lists the resources that support open extensions. The following table lists the three scenarios where you can get an open extension from a supported resource instance. + */ +export interface ExtensionItemRequestBuilderGetQueryParameters { + /** + * Expand related entities + */ + expand?: string[]; + /** + * Select properties to be returned + */ + select?: string[]; +} +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const ExtensionItemRequestBuilderGetQueryParametersMapper: Record = { "expand": "%24expand", "select": "%24select", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const ExtensionItemRequestBuilderRequestsMetadata: RequestsMetadata = { + delete: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "ArrayBuffer", + }, + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createExtensionFromDiscriminatorValue, + queryParametersMapper: ExtensionItemRequestBuilderGetQueryParametersMapper, + }, + patch: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createExtensionFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeExtension, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const ExtensionItemRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/messages/{message%2Did}/extensions/{extension%2Did}{?%24select,%24expand}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/messages/item/index.ts b/packages/test/generatedCode/users/item/messages/item/index.ts index 05ba53088..381d4825c 100644 --- a/packages/test/generatedCode/users/item/messages/item/index.ts +++ b/packages/test/generatedCode/users/item/messages/item/index.ts @@ -1,89 +1,43 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createMessageFromDiscriminatorValue, deserializeIntoMessage, serializeMessage, type Message } from '../../../../models/'; -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../models/oDataErrors/'; -import { AttachmentsRequestBuilder } from './attachments/'; -import { ExtensionsRequestBuilder } from './extensions/'; -import { ContentRequestBuilder } from './value/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createMessageFromDiscriminatorValue, serializeMessage, type Message } from '../../../../models/'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../models/oDataErrors/'; +import { AttachmentsRequestBuilderNavigationMetadata, AttachmentsRequestBuilderRequestsMetadata, AttachmentsRequestBuilderUriTemplate, type AttachmentsRequestBuilder } from './attachments/'; +import { ExtensionsRequestBuilderNavigationMetadata, ExtensionsRequestBuilderRequestsMetadata, ExtensionsRequestBuilderUriTemplate, type ExtensionsRequestBuilder } from './extensions/'; +import { ContentRequestBuilderRequestsMetadata, ContentRequestBuilderUriTemplate, type ContentRequestBuilder } from './value/'; +import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type Parsable, type ParsableFactory, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions'; -export interface MessageItemRequestBuilderGetQueryParameters { - /** - * Expand related entities - */ - expand?: string[]; - /** - * Include Hidden Messages - */ - includeHiddenMessages?: string; - /** - * Select properties to be returned - */ - select?: string[]; -} /** * Builds and executes requests for operations under /users/{user-id}/messages/{message-id} */ -export class MessageItemRequestBuilder extends BaseRequestBuilder { +export interface MessageItemRequestBuilder extends BaseRequestBuilder { /** * The attachments property */ - public get attachments(): AttachmentsRequestBuilder { - return new AttachmentsRequestBuilder(this.pathParameters, this.requestAdapter); - } + get attachments(): AttachmentsRequestBuilder; /** * The Content property */ - public get content(): ContentRequestBuilder { - return new ContentRequestBuilder(this.pathParameters, this.requestAdapter); - } + get content(): ContentRequestBuilder; /** * The extensions property */ - public get extensions(): ExtensionsRequestBuilder { - return new ExtensionsRequestBuilder(this.pathParameters, this.requestAdapter); - } - /** - * Instantiates a new MessageItemRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/messages/{message%2Did}{?includeHiddenMessages,%24select,%24expand}", (x, y) => new MessageItemRequestBuilder(x, y)); - } + get extensions(): ExtensionsRequestBuilder; /** * Delete a message in the specified user's mailbox, or delete a relationship of the message. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of ArrayBuffer * @see {@link https://learn.microsoft.com/graph/api/message-delete?view=graph-rest-1.0|Find more info here} */ - public delete(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toDeleteRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "ArrayBuffer", errorMapping); - } + delete(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * The messages in a mailbox or folder. Read-only. Nullable. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of Message - * @see {@link https://learn.microsoft.com/graph/api/singlevaluelegacyextendedproperty-get?view=graph-rest-1.0|Find more info here} + * @see {@link https://learn.microsoft.com/graph/api/eventmessage-get?view=graph-rest-1.0|Find more info here} */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMessageFromDiscriminatorValue, errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Update the properties of an eventMessage object. * @param body The request body @@ -91,56 +45,109 @@ export class MessageItemRequestBuilder extends BaseRequestBuilder | undefined) : Promise { - const requestInfo = this.toPatchRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendAsync(requestInfo, createMessageFromDiscriminatorValue, errorMapping); - } + patch(body: Message, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Delete a message in the specified user's mailbox, or delete a relationship of the message. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.DELETE, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toDeleteRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * The messages in a mailbox or folder. Read-only. Nullable. * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration, messageItemRequestBuilderGetQueryParametersMapper); - requestInfo.headers.tryAdd("Accept", "application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Update the properties of an eventMessage object. * @param body The request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPatchRequestInformation(body: Message, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.PATCH, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setContentFromParsable(this.requestAdapter, "application/json", body, serializeMessage); - return requestInfo; - } + toPatchRequestInformation(body: Message, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; +} +/** + * The messages in a mailbox or folder. Read-only. Nullable. + */ +export interface MessageItemRequestBuilderGetQueryParameters { + /** + * Expand related entities + */ + expand?: string[]; + /** + * Include Hidden Messages + */ + includeHiddenMessages?: string; + /** + * Select properties to be returned + */ + select?: string[]; } -const messageItemRequestBuilderGetQueryParametersMapper: Record = { +/** + * Mapper for query parameters from symbol name to serialization name represented as a constant. + */ +const MessageItemRequestBuilderGetQueryParametersMapper: Record = { "expand": "%24expand", "select": "%24select", }; -// tslint:enable -// eslint-enable +/** + * Metadata for all the navigation properties in the request builder. + */ +export const MessageItemRequestBuilderNavigationMetadata: Record, NavigationMetadata> = { + attachments: { + uriTemplate: AttachmentsRequestBuilderUriTemplate, + requestsMetadata: AttachmentsRequestBuilderRequestsMetadata, + navigationMetadata: AttachmentsRequestBuilderNavigationMetadata, + }, + content: { + uriTemplate: ContentRequestBuilderUriTemplate, + requestsMetadata: ContentRequestBuilderRequestsMetadata, + }, + extensions: { + uriTemplate: ExtensionsRequestBuilderUriTemplate, + requestsMetadata: ExtensionsRequestBuilderRequestsMetadata, + navigationMetadata: ExtensionsRequestBuilderNavigationMetadata, + }, +}; +/** + * Metadata for all the requests in the request builder. + */ +export const MessageItemRequestBuilderRequestsMetadata: RequestsMetadata = { + delete: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "ArrayBuffer", + }, + get: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMessageFromDiscriminatorValue, + queryParametersMapper: MessageItemRequestBuilderGetQueryParametersMapper, + }, + patch: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendAsync", + responseBodyFactory: createMessageFromDiscriminatorValue, + requestBodyContentType: "application/json", + requestBodySerializer: serializeMessage, + requestInformationContentSetMethod: "setContentFromParsable", + }, +}; +/** + * Uri template for the request builder. + */ +export const MessageItemRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/messages/{message%2Did}{?includeHiddenMessages,%24select,%24expand}"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/generatedCode/users/item/messages/item/value/index.ts b/packages/test/generatedCode/users/item/messages/item/value/index.ts index d0030a9e6..426dfdbfe 100644 --- a/packages/test/generatedCode/users/item/messages/item/value/index.ts +++ b/packages/test/generatedCode/users/item/messages/item/value/index.ts @@ -1,78 +1,69 @@ -// tslint:disable -// eslint-disable +/* tslint:disable */ +/* eslint-disable */ // Generated by Microsoft Kiota -import { createODataErrorFromDiscriminatorValue, deserializeIntoODataError, serializeODataError, type ODataError } from '../../../../../models/oDataErrors/'; -import { BaseRequestBuilder, HttpMethod, RequestInformation, type Parsable, type ParsableFactory, type RequestAdapter, type RequestConfiguration, type RequestOption } from '@microsoft/kiota-abstractions'; +import { createODataErrorFromDiscriminatorValue, type ODataError } from '../../../../../models/oDataErrors/'; +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}/messages/{message-id}/$value */ -export class ContentRequestBuilder extends BaseRequestBuilder { - /** - * Instantiates a new ContentRequestBuilder and sets the default values. - * @param pathParameters The raw url or the Url template parameters for the request. - * @param requestAdapter The request adapter to use to execute the requests. - */ - public constructor(pathParameters: Record | string | undefined, requestAdapter: RequestAdapter) { - super(pathParameters, requestAdapter, "{+baseurl}/users/{user%2Did}/messages/{message%2Did}/$value", (x, y) => new ContentRequestBuilder(x, y)); - } +export interface ContentRequestBuilder extends BaseRequestBuilder { /** * Get media content for the navigation property messages from users * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of ArrayBuffer * @see {@link https://learn.microsoft.com/graph/api/opentypeextension-get?view=graph-rest-1.0|Find more info here} */ - public get(requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toGetRequestInformation( - requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "ArrayBuffer", errorMapping); - } + get(requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Update media content for the navigation property messages in users * @param body Binary request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a Promise of ArrayBuffer */ - public put(body: ArrayBuffer | undefined, requestConfiguration?: RequestConfiguration | undefined) : Promise { - const requestInfo = this.toPutRequestInformation( - body, requestConfiguration - ); - const errorMapping = { - "4XX": createODataErrorFromDiscriminatorValue, - "5XX": createODataErrorFromDiscriminatorValue, - } as Record>; - return this.requestAdapter.sendPrimitiveAsync(requestInfo, "ArrayBuffer", errorMapping); - } + put(body: ArrayBuffer | undefined, requestConfiguration?: RequestConfiguration | undefined) : Promise; /** * Get media content for the navigation property messages from users * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - const requestInfo = new RequestInformation(HttpMethod.GET, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/octet-stream, application/json"); - return requestInfo; - } + toGetRequestInformation(requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; /** * Update media content for the navigation property messages in users * @param body Binary request body * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options. * @returns a RequestInformation */ - public toPutRequestInformation(body: ArrayBuffer | undefined, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation { - if(!body) throw new Error("body cannot be undefined"); - const requestInfo = new RequestInformation(HttpMethod.PUT, this.urlTemplate, this.pathParameters); - requestInfo.configure(requestConfiguration); - requestInfo.headers.tryAdd("Accept", "application/json"); - requestInfo.setStreamContent(body, "application/octet-stream"); - return requestInfo; - } + toPutRequestInformation(body: ArrayBuffer | undefined, requestConfiguration?: RequestConfiguration | undefined) : RequestInformation; } -// tslint:enable -// eslint-enable +/** + * Metadata for all the requests in the request builder. + */ +export const ContentRequestBuilderRequestsMetadata: RequestsMetadata = { + get: { + responseBodyContentType: "application/octet-stream, application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "ArrayBuffer", + }, + put: { + responseBodyContentType: "application/json", + errorMappings: { + _4XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + _5XX: createODataErrorFromDiscriminatorValue as ParsableFactory, + }, + adapterMethodName: "sendPrimitiveAsync", + responseBodyFactory: "ArrayBuffer", + requestBodyContentType: "application/octet-stream", + requestInformationContentSetMethod: "setStreamContent", + }, +}; +/** + * Uri template for the request builder. + */ +export const ContentRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/messages/{message%2Did}/$value"; +/* tslint:enable */ +/* eslint-enable */ diff --git a/packages/test/tests/getTest.ts b/packages/test/tests/getTest.ts index 5cc023e57..a19de4bfa 100644 --- a/packages/test/tests/getTest.ts +++ b/packages/test/tests/getTest.ts @@ -1,20 +1,29 @@ -import { apiClient } from "./testClient"; +import { proxyClient, userId } from "./testClient"; import { assert } from "chai"; -import { type MessagesRequestBuilderGetQueryParameters } from "../generatedCode/users/item/messages"; describe("TestGet", () => { it("should return a test", async () => { - const messages = await apiClient.users.byUserId("813956a3-4a30-4596-914f-bfd86a657a09").messages.get(); + const messages = await proxyClient.users.byUserId(userId).messages.get(); assert.isDefined(messages?.value); }); it("should decode query parameters", async () => { - const qs = {} as MessagesRequestBuilderGetQueryParameters; - qs.select = ["subject"]; - qs.search = "test"; - qs.count = true; - const messages = await apiClient.users.byUserId("813956a3-4a30-4596-914f-bfd86a657a09").messages.get(); + const messages = await proxyClient.users.byUserId(userId).messages.get({ + queryParameters: { + select: ["subject"], + search: "test", + count: true, + } + }); + const messagesRaw = proxyClient.users.withUrl("foo"); + assert.isDefined(messagesRaw); + const messagesRI = proxyClient.users.byUserId(userId).messages.toGetRequestInformation({ + queryParameters: { + count: true, + } + }); + assert.equal(`https://graph.microsoft.com/v1.0/users/${userId}/messages?%24count=true`, messagesRI.URL); assert.isDefined(messages?.value); }); }); \ No newline at end of file diff --git a/packages/test/tests/postTest.ts b/packages/test/tests/postTest.ts index eb8ced19f..3451f1754 100644 --- a/packages/test/tests/postTest.ts +++ b/packages/test/tests/postTest.ts @@ -1,4 +1,4 @@ -import { apiClient } from "./testClient"; +import { proxyClient, userId } from "./testClient"; import { assert } from "chai"; import { type Message } from "../generatedCode/models"; @@ -11,8 +11,9 @@ describe("TestPost", () => { message.body = { content: "body content" } - const postmessageResult = await apiClient.users.byUserId("813956a3-4a30-4596-914f-bfd86a657a09").messages.post(message); + const postmessageResult = await proxyClient.users.byUserId(userId).messages.post(message); assert.isDefined(postmessageResult?.id); assert.equal(postmessageResult?.subject, message.subject); + await proxyClient.users.byUserId(userId).messages.byMessageId(postmessageResult!.id!).delete(); }).timeout(10000); }); \ No newline at end of file diff --git a/packages/test/tests/testClient.ts b/packages/test/tests/testClient.ts index 50123bb78..c56820426 100644 --- a/packages/test/tests/testClient.ts +++ b/packages/test/tests/testClient.ts @@ -1,11 +1,12 @@ -import {ApiClient} from "../generatedCode/apiClient"; import {FetchRequestAdapter} from "@microsoft/kiota-http-fetchlibrary"; import {AzureIdentityAuthenticationProvider} from "@microsoft/kiota-authentication-azure"; import {ClientSecretCredential} from "@azure/identity"; +import { createApiClient } from "../generatedCode/apiClient"; const tokenCredential = new ClientSecretCredential(process.env.TENANT_ID!, process.env.CLIENT_ID!, process.env.CLIENT_SECRET! ); const authProvider = new AzureIdentityAuthenticationProvider(tokenCredential, ["https://graph.microsoft.com/.default"]); const fetchRequestAdapter = new FetchRequestAdapter(authProvider) -export const apiClient = new ApiClient(fetchRequestAdapter); +export const proxyClient = createApiClient(fetchRequestAdapter); +export const userId = process.env.USER_ID!;