"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CalendarItemRequestBuilderUriTemplate = exports.CalendarItemRequestBuilderRequestsMetadata = exports.CalendarItemRequestBuilderNavigationMetadata = void 0;
/* tslint:disable */
/* eslint-disable */
// Generated by Microsoft Kiota
const models_1 = require("@microsoft/msgraph-beta-sdk/models/");
const oDataErrors_1 = require("@microsoft/msgraph-beta-sdk/models/oDataErrors/");
const allowedCalendarSharingRolesWithUser_1 = require("./allowedCalendarSharingRolesWithUser/");
const calendarPermissions_1 = require("./calendarPermissions/");
const calendarView_1 = require("./calendarView/");
const events_1 = require("./events/");
const getSchedule_1 = require("./getSchedule/");
/**
 * Mapper for query parameters from symbol name to serialization name represented as a constant.
 */
const CalendarItemRequestBuilderGetQueryParametersMapper = {
    "expand": "%24expand",
    "select": "%24select",
};
/**
 * Metadata for all the navigation properties in the request builder.
 */
exports.CalendarItemRequestBuilderNavigationMetadata = {
    allowedCalendarSharingRolesWithUser: {
        uriTemplate: allowedCalendarSharingRolesWithUser_1.AllowedCalendarSharingRolesWithUserRequestBuilderUriTemplate,
        requestsMetadata: allowedCalendarSharingRolesWithUser_1.AllowedCalendarSharingRolesWithUserRequestBuilderRequestsMetadata,
    },
    calendarPermissions: {
        uriTemplate: calendarPermissions_1.CalendarPermissionsRequestBuilderUriTemplate,
        requestsMetadata: calendarPermissions_1.CalendarPermissionsRequestBuilderRequestsMetadata,
        navigationMetadata: calendarPermissions_1.CalendarPermissionsRequestBuilderNavigationMetadata,
    },
    calendarView: {
        uriTemplate: calendarView_1.CalendarViewRequestBuilderUriTemplate,
        requestsMetadata: calendarView_1.CalendarViewRequestBuilderRequestsMetadata,
        navigationMetadata: calendarView_1.CalendarViewRequestBuilderNavigationMetadata,
    },
    events: {
        uriTemplate: events_1.EventsRequestBuilderUriTemplate,
        requestsMetadata: events_1.EventsRequestBuilderRequestsMetadata,
        navigationMetadata: events_1.EventsRequestBuilderNavigationMetadata,
    },
    getSchedule: {
        uriTemplate: getSchedule_1.GetScheduleRequestBuilderUriTemplate,
        requestsMetadata: getSchedule_1.GetScheduleRequestBuilderRequestsMetadata,
    },
};
/**
 * Metadata for all the requests in the request builder.
 */
exports.CalendarItemRequestBuilderRequestsMetadata = {
    delete: {
        responseBodyContentType: "application/json",
        errorMappings: {
            _4XX: oDataErrors_1.createODataErrorFromDiscriminatorValue,
            _5XX: oDataErrors_1.createODataErrorFromDiscriminatorValue,
        },
        adapterMethodName: "sendNoResponseContentAsync",
    },
    get: {
        responseBodyContentType: "application/json",
        errorMappings: {
            _4XX: oDataErrors_1.createODataErrorFromDiscriminatorValue,
            _5XX: oDataErrors_1.createODataErrorFromDiscriminatorValue,
        },
        adapterMethodName: "sendAsync",
        responseBodyFactory: models_1.createCalendarFromDiscriminatorValue,
        queryParametersMapper: CalendarItemRequestBuilderGetQueryParametersMapper,
    },
    patch: {
        responseBodyContentType: "application/json",
        errorMappings: {
            _4XX: oDataErrors_1.createODataErrorFromDiscriminatorValue,
            _5XX: oDataErrors_1.createODataErrorFromDiscriminatorValue,
        },
        adapterMethodName: "sendAsync",
        responseBodyFactory: models_1.createCalendarFromDiscriminatorValue,
        requestBodyContentType: "application/json",
        requestBodySerializer: models_1.serializeCalendar,
        requestInformationContentSetMethod: "setContentFromParsable",
    },
};
/**
 * Uri template for the request builder.
 */
exports.CalendarItemRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/calendars/{calendar%2Did}{?%24select,%24expand}";
/* tslint:enable */
/* eslint-enable */
