"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.InformationProtectionRequestBuilderUriTemplate = exports.InformationProtectionRequestBuilderRequestsMetadata = exports.InformationProtectionRequestBuilderNavigationMetadata = 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 bitlocker_1 = require("./bitlocker/");
const dataLossPreventionPolicies_1 = require("./dataLossPreventionPolicies/");
const decryptBuffer_1 = require("./decryptBuffer/");
const encryptBuffer_1 = require("./encryptBuffer/");
const policy_1 = require("./policy/");
const sensitivityLabels_1 = require("./sensitivityLabels/");
const sensitivityPolicySettings_1 = require("./sensitivityPolicySettings/");
const signDigest_1 = require("./signDigest/");
const threatAssessmentRequests_1 = require("./threatAssessmentRequests/");
const verifySignature_1 = require("./verifySignature/");
/**
 * Mapper for query parameters from symbol name to serialization name represented as a constant.
 */
const InformationProtectionRequestBuilderGetQueryParametersMapper = {
    "expand": "%24expand",
    "select": "%24select",
};
/**
 * Metadata for all the navigation properties in the request builder.
 */
exports.InformationProtectionRequestBuilderNavigationMetadata = {
    bitlocker: {
        uriTemplate: bitlocker_1.BitlockerRequestBuilderUriTemplate,
        requestsMetadata: bitlocker_1.BitlockerRequestBuilderRequestsMetadata,
        navigationMetadata: bitlocker_1.BitlockerRequestBuilderNavigationMetadata,
    },
    dataLossPreventionPolicies: {
        uriTemplate: dataLossPreventionPolicies_1.DataLossPreventionPoliciesRequestBuilderUriTemplate,
        requestsMetadata: dataLossPreventionPolicies_1.DataLossPreventionPoliciesRequestBuilderRequestsMetadata,
        navigationMetadata: dataLossPreventionPolicies_1.DataLossPreventionPoliciesRequestBuilderNavigationMetadata,
    },
    decryptBuffer: {
        uriTemplate: decryptBuffer_1.DecryptBufferRequestBuilderUriTemplate,
        requestsMetadata: decryptBuffer_1.DecryptBufferRequestBuilderRequestsMetadata,
    },
    encryptBuffer: {
        uriTemplate: encryptBuffer_1.EncryptBufferRequestBuilderUriTemplate,
        requestsMetadata: encryptBuffer_1.EncryptBufferRequestBuilderRequestsMetadata,
    },
    policy: {
        uriTemplate: policy_1.PolicyRequestBuilderUriTemplate,
        requestsMetadata: policy_1.PolicyRequestBuilderRequestsMetadata,
        navigationMetadata: policy_1.PolicyRequestBuilderNavigationMetadata,
    },
    sensitivityLabels: {
        uriTemplate: sensitivityLabels_1.SensitivityLabelsRequestBuilderUriTemplate,
        requestsMetadata: sensitivityLabels_1.SensitivityLabelsRequestBuilderRequestsMetadata,
        navigationMetadata: sensitivityLabels_1.SensitivityLabelsRequestBuilderNavigationMetadata,
    },
    sensitivityPolicySettings: {
        uriTemplate: sensitivityPolicySettings_1.SensitivityPolicySettingsRequestBuilderUriTemplate,
        requestsMetadata: sensitivityPolicySettings_1.SensitivityPolicySettingsRequestBuilderRequestsMetadata,
    },
    signDigest: {
        uriTemplate: signDigest_1.SignDigestRequestBuilderUriTemplate,
        requestsMetadata: signDigest_1.SignDigestRequestBuilderRequestsMetadata,
    },
    threatAssessmentRequests: {
        uriTemplate: threatAssessmentRequests_1.ThreatAssessmentRequestsRequestBuilderUriTemplate,
        requestsMetadata: threatAssessmentRequests_1.ThreatAssessmentRequestsRequestBuilderRequestsMetadata,
        navigationMetadata: threatAssessmentRequests_1.ThreatAssessmentRequestsRequestBuilderNavigationMetadata,
    },
    verifySignature: {
        uriTemplate: verifySignature_1.VerifySignatureRequestBuilderUriTemplate,
        requestsMetadata: verifySignature_1.VerifySignatureRequestBuilderRequestsMetadata,
    },
};
/**
 * Metadata for all the requests in the request builder.
 */
exports.InformationProtectionRequestBuilderRequestsMetadata = {
    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.createInformationProtectionFromDiscriminatorValue,
        queryParametersMapper: InformationProtectionRequestBuilderGetQueryParametersMapper,
    },
    patch: {
        responseBodyContentType: "application/json",
        errorMappings: {
            _4XX: oDataErrors_1.createODataErrorFromDiscriminatorValue,
            _5XX: oDataErrors_1.createODataErrorFromDiscriminatorValue,
        },
        adapterMethodName: "sendAsync",
        responseBodyFactory: models_1.createInformationProtectionFromDiscriminatorValue,
        requestBodyContentType: "application/json",
        requestBodySerializer: models_1.serializeInformationProtection,
        requestInformationContentSetMethod: "setContentFromParsable",
    },
};
/**
 * Uri template for the request builder.
 */
exports.InformationProtectionRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/informationProtection{?%24select,%24expand}";
/* tslint:enable */
/* eslint-enable */
