UNPKG

@microsoft/msgraph-beta-sdk

Version:
2,061 lines 109 kB
/* tslint:disable */
/* eslint-disable */
// Generated by Microsoft Kiota
// @ts-ignore
import { deserializeIntoBaseCollectionPaginationCountResponse, deserializeIntoEntity, serializeBaseCollectionPaginationCountResponse, serializeEntity } from '../../index.js';
/**
 * 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 {ActivityCollectionResponse}
 */
// @ts-ignore
export function createActivityCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoActivityCollectionResponse;
}
/**
 * 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 {Activity}
 */
// @ts-ignore
export function createActivityFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.caseManagement.auditLog":
                    return deserializeIntoAuditLog;
                case "#microsoft.graph.security.caseManagement.comment":
                    return deserializeIntoComment;
            }
        }
    }
    return deserializeIntoActivity;
}
/**
 * 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 {ActivityResourceDetails}
 */
// @ts-ignore
export function createActivityResourceDetailsFromDiscriminatorValue(parseNode) {
    return deserializeIntoActivityResourceDetails;
}
/**
 * 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 {AlertCounts}
 */
// @ts-ignore
export function createAlertCountsFromDiscriminatorValue(parseNode) {
    return deserializeIntoAlertCounts;
}
/**
 * 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 {AlertStatusCounts}
 */
// @ts-ignore
export function createAlertStatusCountsFromDiscriminatorValue(parseNode) {
    return deserializeIntoAlertStatusCounts;
}
/**
 * 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 {AttachmentCollectionResponse}
 */
// @ts-ignore
export function createAttachmentCollectionResponseFromDiscriminatorValue(parseNode) {
    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 {Attachment}
 */
// @ts-ignore
export function createAttachmentFromDiscriminatorValue(parseNode) {
    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 {AttachmentOrigin}
 */
// @ts-ignore
export function createAttachmentOriginFromDiscriminatorValue(parseNode) {
    return deserializeIntoAttachmentOrigin;
}
/**
 * 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 {AuditLog}
 */
// @ts-ignore
export function createAuditLogFromDiscriminatorValue(parseNode) {
    return deserializeIntoAuditLog;
}
/**
 * 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 {BooleanValueProperty}
 */
// @ts-ignore
export function createBooleanValuePropertyFromDiscriminatorValue(parseNode) {
    return deserializeIntoBooleanValueProperty;
}
/**
 * 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 {CaseCollectionResponse}
 */
// @ts-ignore
export function createCaseCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoCaseCollectionResponse;
}
/**
 * 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 {CaseEscaped}
 */
// @ts-ignore
export function createCaseEscapedFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.caseManagement.exposureCase":
                    return deserializeIntoExposureCase;
                case "#microsoft.graph.security.caseManagement.genericCase":
                    return deserializeIntoGenericCase;
                case "#microsoft.graph.security.caseManagement.incidentCase":
                    return deserializeIntoIncidentCase;
            }
        }
    }
    return deserializeIntoCaseEscaped;
}
/**
 * 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 {CaseManagementEntity}
 */
// @ts-ignore
export function createCaseManagementEntityFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.caseManagement.activity":
                    return deserializeIntoActivity;
                case "#microsoft.graph.security.caseManagement.attachment":
                    return deserializeIntoAttachment;
                case "#microsoft.graph.security.caseManagement.auditLog":
                    return deserializeIntoAuditLog;
                case "#microsoft.graph.security.caseManagement.case":
                    return deserializeIntoCaseEscaped;
                case "#microsoft.graph.security.caseManagement.comment":
                    return deserializeIntoComment;
                case "#microsoft.graph.security.caseManagement.exposureCase":
                    return deserializeIntoExposureCase;
                case "#microsoft.graph.security.caseManagement.genericCase":
                    return deserializeIntoGenericCase;
                case "#microsoft.graph.security.caseManagement.incidentCase":
                    return deserializeIntoIncidentCase;
                case "#microsoft.graph.security.caseManagement.incidentRelation":
                    return deserializeIntoIncidentRelation;
                case "#microsoft.graph.security.caseManagement.recommendationRelation":
                    return deserializeIntoRecommendationRelation;
                case "#microsoft.graph.security.caseManagement.relation":
                    return deserializeIntoRelation;
                case "#microsoft.graph.security.caseManagement.task":
                    return deserializeIntoTask;
                case "#microsoft.graph.security.caseManagement.workspaceIndicatorRelation":
                    return deserializeIntoWorkspaceIndicatorRelation;
            }
        }
    }
    return deserializeIntoCaseManagementEntity;
}
/**
 * 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 {CaseTypeConfigurationCollectionResponse}
 */
// @ts-ignore
export function createCaseTypeConfigurationCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoCaseTypeConfigurationCollectionResponse;
}
/**
 * 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 {CaseTypeConfiguration}
 */
// @ts-ignore
export function createCaseTypeConfigurationFromDiscriminatorValue(parseNode) {
    return deserializeIntoCaseTypeConfiguration;
}
/**
 * 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 {Comment}
 */
// @ts-ignore
export function createCommentFromDiscriminatorValue(parseNode) {
    return deserializeIntoComment;
}
/**
 * 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 {CustomFieldDefinitionCollectionResponse}
 */
// @ts-ignore
export function createCustomFieldDefinitionCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoCustomFieldDefinitionCollectionResponse;
}
/**
 * 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 {CustomFieldDefinition}
 */
// @ts-ignore
export function createCustomFieldDefinitionFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.caseManagement.dateTimeCustomFieldDefinition":
                    return deserializeIntoDateTimeCustomFieldDefinition;
                case "#microsoft.graph.security.caseManagement.numberCustomFieldDefinition":
                    return deserializeIntoNumberCustomFieldDefinition;
                case "#microsoft.graph.security.caseManagement.optionsCustomFieldDefinition":
                    return deserializeIntoOptionsCustomFieldDefinition;
                case "#microsoft.graph.security.caseManagement.stringCustomFieldDefinition":
                    return deserializeIntoStringCustomFieldDefinition;
            }
        }
    }
    return deserializeIntoCustomFieldDefinition;
}
/**
 * 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 {CustomFieldValues}
 */
// @ts-ignore
export function createCustomFieldValuesFromDiscriminatorValue(parseNode) {
    return deserializeIntoCustomFieldValues;
}
/**
 * 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 {CustomStatusDefinition}
 */
// @ts-ignore
export function createCustomStatusDefinitionFromDiscriminatorValue(parseNode) {
    return deserializeIntoCustomStatusDefinition;
}
/**
 * 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 {DateTimeCustomFieldDefinition}
 */
// @ts-ignore
export function createDateTimeCustomFieldDefinitionFromDiscriminatorValue(parseNode) {
    return deserializeIntoDateTimeCustomFieldDefinition;
}
/**
 * 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 {ExposureCaseAutomation}
 */
// @ts-ignore
export function createExposureCaseAutomationFromDiscriminatorValue(parseNode) {
    return deserializeIntoExposureCaseAutomation;
}
/**
 * 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 {ExposureCase}
 */
// @ts-ignore
export function createExposureCaseFromDiscriminatorValue(parseNode) {
    return deserializeIntoExposureCase;
}
/**
 * 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 {ExposureCaseGitHub}
 */
// @ts-ignore
export function createExposureCaseGitHubFromDiscriminatorValue(parseNode) {
    return deserializeIntoExposureCaseGitHub;
}
/**
 * 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 {ExposureCaseSeemplicity}
 */
// @ts-ignore
export function createExposureCaseSeemplicityFromDiscriminatorValue(parseNode) {
    return deserializeIntoExposureCaseSeemplicity;
}
/**
 * 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 {GenericCase}
 */
// @ts-ignore
export function createGenericCaseFromDiscriminatorValue(parseNode) {
    return deserializeIntoGenericCase;
}
/**
 * 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 {ImpactedAssetsCounts}
 */
// @ts-ignore
export function createImpactedAssetsCountsFromDiscriminatorValue(parseNode) {
    return deserializeIntoImpactedAssetsCounts;
}
/**
 * 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 {IncidentCase}
 */
// @ts-ignore
export function createIncidentCaseFromDiscriminatorValue(parseNode) {
    return deserializeIntoIncidentCase;
}
/**
 * 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 {IncidentRelation}
 */
// @ts-ignore
export function createIncidentRelationFromDiscriminatorValue(parseNode) {
    return deserializeIntoIncidentRelation;
}
/**
 * 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 {IncidentSeverityCounts}
 */
// @ts-ignore
export function createIncidentSeverityCountsFromDiscriminatorValue(parseNode) {
    return deserializeIntoIncidentSeverityCounts;
}
/**
 * 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 {Investigation}
 */
// @ts-ignore
export function createInvestigationFromDiscriminatorValue(parseNode) {
    return deserializeIntoInvestigation;
}
/**
 * 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 {ModifiedProperty}
 */
// @ts-ignore
export function createModifiedPropertyFromDiscriminatorValue(parseNode) {
    return deserializeIntoModifiedProperty;
}
/**
 * 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 {NumberCustomFieldDefinition}
 */
// @ts-ignore
export function createNumberCustomFieldDefinitionFromDiscriminatorValue(parseNode) {
    return deserializeIntoNumberCustomFieldDefinition;
}
/**
 * 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 {OptionsCustomFieldDefinition}
 */
// @ts-ignore
export function createOptionsCustomFieldDefinitionFromDiscriminatorValue(parseNode) {
    return deserializeIntoOptionsCustomFieldDefinition;
}
/**
 * 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 {RecommendationRelation}
 */
// @ts-ignore
export function createRecommendationRelationFromDiscriminatorValue(parseNode) {
    return deserializeIntoRecommendationRelation;
}
/**
 * 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 {RelationCollectionResponse}
 */
// @ts-ignore
export function createRelationCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoRelationCollectionResponse;
}
/**
 * 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 {Relation}
 */
// @ts-ignore
export function createRelationFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.caseManagement.incidentRelation":
                    return deserializeIntoIncidentRelation;
                case "#microsoft.graph.security.caseManagement.recommendationRelation":
                    return deserializeIntoRecommendationRelation;
                case "#microsoft.graph.security.caseManagement.workspaceIndicatorRelation":
                    return deserializeIntoWorkspaceIndicatorRelation;
            }
        }
    }
    return deserializeIntoRelation;
}
/**
 * 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 {StatusDefinitionCollectionResponse}
 */
// @ts-ignore
export function createStatusDefinitionCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoStatusDefinitionCollectionResponse;
}
/**
 * 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 {StatusDefinition}
 */
// @ts-ignore
export function createStatusDefinitionFromDiscriminatorValue(parseNode) {
    return deserializeIntoStatusDefinition;
}
/**
 * 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 {StringCustomFieldDefinition}
 */
// @ts-ignore
export function createStringCustomFieldDefinitionFromDiscriminatorValue(parseNode) {
    return deserializeIntoStringCustomFieldDefinition;
}
/**
 * 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 {StringValueProperty}
 */
// @ts-ignore
export function createStringValuePropertyFromDiscriminatorValue(parseNode) {
    return deserializeIntoStringValueProperty;
}
/**
 * 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 {TaskCollectionResponse}
 */
// @ts-ignore
export function createTaskCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoTaskCollectionResponse;
}
/**
 * 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 {Task}
 */
// @ts-ignore
export function createTaskFromDiscriminatorValue(parseNode) {
    return deserializeIntoTask;
}
/**
 * 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 {ThirdPartyWorkItem}
 */
// @ts-ignore
export function createThirdPartyWorkItemFromDiscriminatorValue(parseNode) {
    return deserializeIntoThirdPartyWorkItem;
}
/**
 * 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 {ThirdPartyWorkItemMetadata}
 */
// @ts-ignore
export function createThirdPartyWorkItemMetadataFromDiscriminatorValue(parseNode) {
    return deserializeIntoThirdPartyWorkItemMetadata;
}
/**
 * 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 {ValueProperty}
 */
// @ts-ignore
export function createValuePropertyFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.caseManagement.booleanValueProperty":
                    return deserializeIntoBooleanValueProperty;
                case "#microsoft.graph.security.caseManagement.stringValueProperty":
                    return deserializeIntoStringValueProperty;
            }
        }
    }
    return deserializeIntoValueProperty;
}
/**
 * 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 {WorkspaceIndicatorRelation}
 */
// @ts-ignore
export function createWorkspaceIndicatorRelationFromDiscriminatorValue(parseNode) {
    return deserializeIntoWorkspaceIndicatorRelation;
}
/**
 * The deserialization information for the current model
 * @param Activity The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoActivity(activity = {}) {
    return Object.assign({}, deserializeIntoCaseManagementEntity(activity));
}
/**
 * The deserialization information for the current model
 * @param ActivityCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoActivityCollectionResponse(activityCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(activityCollectionResponse)), { "value": n => { activityCollectionResponse.value = n.getCollectionOfObjectValues(createActivityFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ActivityResourceDetails The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoActivityResourceDetails(activityResourceDetails = {}) {
    return {
        "backingStoreEnabled": n => { activityResourceDetails.backingStoreEnabled = true; },
        "kind": n => { activityResourceDetails.kind = n.getStringValue(); },
        "@odata.type": n => { activityResourceDetails.odataType = n.getStringValue(); },
        "resourceId": n => { activityResourceDetails.resourceId = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AlertCounts The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAlertCounts(alertCounts = {}) {
    return {
        "active": n => { alertCounts.active = n.getNumberValue(); },
        "backingStoreEnabled": n => { alertCounts.backingStoreEnabled = true; },
        "bySeverity": n => { alertCounts.bySeverity = n.getObjectValue(createIncidentSeverityCountsFromDiscriminatorValue); },
        "byStatus": n => { alertCounts.byStatus = n.getObjectValue(createAlertStatusCountsFromDiscriminatorValue); },
        "@odata.type": n => { alertCounts.odataType = n.getStringValue(); },
        "total": n => { alertCounts.total = n.getNumberValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AlertStatusCounts The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAlertStatusCounts(alertStatusCounts = {}) {
    return {
        "backingStoreEnabled": n => { alertStatusCounts.backingStoreEnabled = true; },
        "inProgress": n => { alertStatusCounts.inProgress = n.getNumberValue(); },
        "new": n => { alertStatusCounts.newEscaped = n.getNumberValue(); },
        "@odata.type": n => { alertStatusCounts.odataType = n.getStringValue(); },
        "resolved": n => { alertStatusCounts.resolved = n.getNumberValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param Attachment The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAttachment(attachment = {}) {
    return Object.assign(Object.assign({}, deserializeIntoCaseManagementEntity(attachment)), { "content": n => { attachment.content = n.getByteArrayValue(); }, "description": n => { attachment.description = n.getStringValue(); }, "displayName": n => { attachment.displayName = n.getStringValue(); }, "fileExtension": n => { attachment.fileExtension = n.getStringValue(); }, "fileSize": n => { attachment.fileSize = n.getNumberValue(); }, "origin": n => { attachment.origin = n.getObjectValue(createAttachmentOriginFromDiscriminatorValue); }, "scanResult": n => { attachment.scanResult = n.getEnumValue(AttachmentScanResultObject); } });
}
/**
 * The deserialization information for the current model
 * @param AttachmentCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAttachmentCollectionResponse(attachmentCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(attachmentCollectionResponse)), { "value": n => { attachmentCollectionResponse.value = n.getCollectionOfObjectValues(createAttachmentFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param AttachmentOrigin The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAttachmentOrigin(attachmentOrigin = {}) {
    return {
        "backingStoreEnabled": n => { attachmentOrigin.backingStoreEnabled = true; },
        "@odata.type": n => { attachmentOrigin.odataType = n.getStringValue(); },
        "resourceId": n => { attachmentOrigin.resourceId = n.getStringValue(); },
        "resourceType": n => { attachmentOrigin.resourceType = n.getEnumValue(AttachmentOriginTypeObject); },
    };
}
/**
 * The deserialization information for the current model
 * @param AuditLog The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAuditLog(auditLog = {}) {
    return Object.assign(Object.assign({}, deserializeIntoActivity(auditLog)), { "action": n => { auditLog.action = n.getEnumValue(AuditActionObject); }, "details": n => { auditLog.details = n.getObjectValue(createActivityResourceDetailsFromDiscriminatorValue); }, "modifiedProperties": n => { auditLog.modifiedProperties = n.getCollectionOfObjectValues(createModifiedPropertyFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param BooleanValueProperty The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoBooleanValueProperty(booleanValueProperty = {}) {
    return Object.assign(Object.assign({}, deserializeIntoValueProperty(booleanValueProperty)), { "value": n => { booleanValueProperty.value = n.getBooleanValue(); } });
}
/**
 * The deserialization information for the current model
 * @param CaseCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCaseCollectionResponse(caseCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(caseCollectionResponse)), { "value": n => { caseCollectionResponse.value = n.getCollectionOfObjectValues(createCaseEscapedFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param CaseEscaped The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCaseEscaped(caseEscaped = {}) {
    return Object.assign(Object.assign({}, deserializeIntoCaseManagementEntity(caseEscaped)), { "activities": n => { caseEscaped.activities = n.getCollectionOfObjectValues(createActivityFromDiscriminatorValue); }, "attachments": n => { caseEscaped.attachments = n.getCollectionOfObjectValues(createAttachmentFromDiscriminatorValue); }, "customFields": n => { caseEscaped.customFields = n.getObjectValue(createCustomFieldValuesFromDiscriminatorValue); }, "displayName": n => { caseEscaped.displayName = n.getStringValue(); }, "relations": n => { caseEscaped.relations = n.getCollectionOfObjectValues(createRelationFromDiscriminatorValue); }, "status": n => { caseEscaped.status = n.getStringValue(); }, "tasks": n => { caseEscaped.tasks = n.getCollectionOfObjectValues(createTaskFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param CaseManagementEntity The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCaseManagementEntity(caseManagementEntity = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(caseManagementEntity)), { "createdBy": n => { caseManagementEntity.createdBy = n.getStringValue(); }, "createdDateTime": n => { caseManagementEntity.createdDateTime = n.getDateValue(); }, "lastModifiedBy": n => { caseManagementEntity.lastModifiedBy = n.getStringValue(); }, "lastModifiedDateTime": n => { caseManagementEntity.lastModifiedDateTime = n.getDateValue(); } });
}
/**
 * The deserialization information for the current model
 * @param CaseTypeConfiguration The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCaseTypeConfiguration(caseTypeConfiguration = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(caseTypeConfiguration)), { "customFields": n => { caseTypeConfiguration.customFields = n.getCollectionOfObjectValues(createCustomFieldDefinitionFromDiscriminatorValue); }, "defaultStatusId": n => { caseTypeConfiguration.defaultStatusId = n.getStringValue(); }, "displayName": n => { caseTypeConfiguration.displayName = n.getStringValue(); }, "statuses": n => { caseTypeConfiguration.statuses = n.getCollectionOfObjectValues(createStatusDefinitionFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param CaseTypeConfigurationCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCaseTypeConfigurationCollectionResponse(caseTypeConfigurationCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(caseTypeConfigurationCollectionResponse)), { "value": n => { caseTypeConfigurationCollectionResponse.value = n.getCollectionOfObjectValues(createCaseTypeConfigurationFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param Comment The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComment(comment = {}) {
    return Object.assign(Object.assign({}, deserializeIntoActivity(comment)), { "message": n => { comment.message = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param CustomFieldDefinition The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCustomFieldDefinition(customFieldDefinition = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(customFieldDefinition)), { "description": n => { customFieldDefinition.description = n.getStringValue(); }, "displayName": n => { customFieldDefinition.displayName = n.getStringValue(); }, "isDisabled": n => { customFieldDefinition.isDisabled = n.getBooleanValue(); }, "isRequired": n => { customFieldDefinition.isRequired = n.getBooleanValue(); } });
}
/**
 * The deserialization information for the current model
 * @param CustomFieldDefinitionCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCustomFieldDefinitionCollectionResponse(customFieldDefinitionCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(customFieldDefinitionCollectionResponse)), { "value": n => { customFieldDefinitionCollectionResponse.value = n.getCollectionOfObjectValues(createCustomFieldDefinitionFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param CustomFieldValues The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCustomFieldValues(customFieldValues = {}) {
    return {
        "backingStoreEnabled": n => { customFieldValues.backingStoreEnabled = true; },
        "@odata.type": n => { customFieldValues.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param CustomStatusDefinition The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCustomStatusDefinition(customStatusDefinition = {}) {
    return {
        "backingStoreEnabled": n => { customStatusDefinition.backingStoreEnabled = true; },
        "customStatusId": n => { customStatusDefinition.customStatusId = n.getStringValue(); },
        "displayName": n => { customStatusDefinition.displayName = n.getStringValue(); },
        "isFinal": n => { customStatusDefinition.isFinal = n.getBooleanValue(); },
        "@odata.type": n => { customStatusDefinition.odataType = n.getStringValue(); },
        "sortOrder": n => { customStatusDefinition.sortOrder = n.getNumberValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param DateTimeCustomFieldDefinition The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDateTimeCustomFieldDefinition(dateTimeCustomFieldDefinition = {}) {
    return Object.assign(Object.assign({}, deserializeIntoCustomFieldDefinition(dateTimeCustomFieldDefinition)), { "defaultDateTime": n => { dateTimeCustomFieldDefinition.defaultDateTime = n.getDateValue(); } });
}
/**
 * The deserialization information for the current model
 * @param ExposureCase The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoExposureCase(exposureCase = {}) {
    return Object.assign(Object.assign({}, deserializeIntoCaseEscaped(exposureCase)), { "assignedTo": n => { exposureCase.assignedTo = n.getStringValue(); }, "automation": n => { exposureCase.automation = n.getObjectValue(createExposureCaseAutomationFromDiscriminatorValue); }, "description": n => { exposureCase.description = n.getStringValue(); }, "dueDateTime": n => { exposureCase.dueDateTime = n.getDateValue(); }, "emailNotificationRecipients": n => { exposureCase.emailNotificationRecipients = n.getCollectionOfPrimitiveValues("string"); }, "github": n => { exposureCase.github = n.getObjectValue(createExposureCaseGitHubFromDiscriminatorValue); }, "isGracePeriodEnabled": n => { exposureCase.isGracePeriodEnabled = n.getBooleanValue(); }, "priority": n => { exposureCase.priority = n.getStringValue(); }, "seemplicity": n => { exposureCase.seemplicity = n.getObjectValue(createExposureCaseSeemplicityFromDiscriminatorValue); }, "thirdPartyWorkItem": n => { exposureCase.thirdPartyWorkItem = n.getObjectValue(createThirdPartyWorkItemFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ExposureCaseAutomation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoExposureCaseAutomation(exposureCaseAutomation = {}) {
    return {
        "backingStoreEnabled": n => { exposureCaseAutomation.backingStoreEnabled = true; },
        "@odata.type": n => { exposureCaseAutomation.odataType = n.getStringValue(); },
        "ruleId": n => { exposureCaseAutomation.ruleId = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param ExposureCaseGitHub The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoExposureCaseGitHub(exposureCaseGitHub = {}) {
    return {
        "backingStoreEnabled": n => { exposureCaseGitHub.backingStoreEnabled = true; },
        "environmentId": n => { exposureCaseGitHub.environmentId = n.getStringValue(); },
        "issueNumber": n => { exposureCaseGitHub.issueNumber = n.getNumberValue(); },
        "issueUrl": n => { exposureCaseGitHub.issueUrl = n.getStringValue(); },
        "@odata.type": n => { exposureCaseGitHub.odataType = n.getStringValue(); },
        "primaryAssessmentId": n => { exposureCaseGitHub.primaryAssessmentId = n.getStringValue(); },
        "repoName": n => { exposureCaseGitHub.repoName = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param ExposureCaseSeemplicity The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoExposureCaseSeemplicity(exposureCaseSeemplicity = {}) {
    return {
        "backingStoreEnabled": n => { exposureCaseSeemplicity.backingStoreEnabled = true; },
        "configurationId": n => { exposureCaseSeemplicity.configurationId = n.getStringValue(); },
        "configurationName": n => { exposureCaseSeemplicity.configurationName = n.getStringValue(); },
        "@odata.type": n => { exposureCaseSeemplicity.odataType = n.getStringValue(); },
        "providerType": n => { exposureCaseSeemplicity.providerType = n.getStringValue(); },
        "syncStatus": n => { exposureCaseSeemplicity.syncStatus = n.getStringValue(); },
        "ticketCreationTime": n => { exposureCaseSeemplicity.ticketCreationTime = n.getDateValue(); },
        "ticketId": n => { exposureCaseSeemplicity.ticketId = n.getStringValue(); },
        "ticketLink": n => { exposureCaseSeemplicity.ticketLink = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param GenericCase The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoGenericCase(genericCase = {}) {
    return Object.assign(Object.assign({}, deserializeIntoCaseEscaped(genericCase)), { "assignedTo": n => { genericCase.assignedTo = n.getStringValue(); }, "closingNotes": n => { genericCase.closingNotes = n.getStringValue(); }, "description": n => { genericCase.description = n.getStringValue(); }, "dueDateTime": n => { genericCase.dueDateTime = n.getDateValue(); }, "priority": n => { genericCase.priority = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param ImpactedAssetsCounts The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoImpactedAssetsCounts(impactedAssetsCounts = {}) {
    return {
        "aiAgents": n => { impactedAssetsCounts.aiAgents = n.getNumberValue(); },
        "apps": n => { impactedAssetsCounts.apps = n.getNumberValue(); },
        "backingStoreEnabled": n => { impactedAssetsCounts.backingStoreEnabled = true; },
        "cloudResources": n => { impactedAssetsCounts.cloudResources = n.getNumberValue(); },
        "files": n => { impactedAssetsCounts.files = n.getNumberValue(); },
        "ips": n => { impactedAssetsCounts.ips = n.getNumberValue(); },
        "machines": n => { impactedAssetsCounts.machines = n.getNumberValue(); },
        "mailboxes": n => { impactedAssetsCounts.mailboxes = n.getNumberValue(); },
        "oauthApps": n => { impactedAssetsCounts.oauthApps = n.getNumberValue(); },
        "@odata.type": n => { impactedAssetsCounts.odataType = n.getStringValue(); },
        "processes": n => { impactedAssetsCounts.processes = n.getNumberValue(); },
        "registryKeys": n => { impactedAssetsCounts.registryKeys = n.getNumberValue(); },
        "securityGroups": n => { impactedAssetsCounts.securityGroups = n.getNumberValue(); },
        "total": n => { impactedAssetsCounts.total = n.getNumberValue(); },
        "urls": n => { impactedAssetsCounts.urls = n.getNumberValue(); },
        "users": n => { impactedAssetsCounts.users = n.getNumberValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param IncidentCase The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIncidentCase(incidentCase = {}) {
    return Object.assign(Object.assign({}, deserializeIntoCaseEscaped(incidentCase)), { "aiAgentIds": n => { incidentCase.aiAgentIds = n.getCollectionOfPrimitiveValues("string"); }, "alertCounts": n => { incidentCase.alertCounts = n.getObjectValue(createAlertCountsFromDiscriminatorValue); }, "alertPolicyIds": n => { incidentCase.alertPolicyIds = n.getCollectionOfPrimitiveValues("string"); }, "assignedTo": n => { incidentCase.assignedTo = n.getStringValue(); }, "associatedThreatIds": n => { incidentCase.associatedThreatIds = n.getCollectionOfPrimitiveValues("string"); }, "categories": n => { incidentCase.categories = n.getCollectionOfPrimitiveValues("string"); }, "classification": n => { incidentCase.classification = n.getEnumValue(IncidentClassificationObject); }, "cloudScopes": n => { incidentCase.cloudScopes = n.getCollectionOfPrimitiveValues("string"); }, "dataSensitivityLabels": n => { incidentCase.dataSensitivityLabels = n.getCollectionOfPrimitiveValues("string"); }, "dataStreams": n => { incidentCase.dataStreams = n.getCollectionOfPrimitiveValues("string"); }, "detectionSources": n => { incidentCase.detectionSources = n.getCollectionOfPrimitiveValues("string"); }, "determination": n => { incidentCase.determination = n.getEnumValue(IncidentDeterminationObject); }, "dueDateTime": n => { incidentCase.dueDateTime = n.getDateValue(); }, "emailNotificationRecipients": n => { incidentCase.emailNotificationRecipients = n.getCollectionOfPrimitiveValues("string"); }, "firstEventTime": n => { incidentCase.firstEventTime = n.getDateValue(); }, "impactedAssets": n => { incidentCase.impactedAssets = n.getObjectValue(createImpactedAssetsCountsFromDiscriminatorValue); }, "incidentId": n => { incidentCase.incidentId = n.getNumberValue(); }, "incidentWebUrl": n => { incidentCase.incidentWebUrl = n.getStringValue(); }, "investigation": n => { incidentCase.investigation = n.getObjectValue(createInvestigationFromDiscriminatorValue); }, "investigationIds": n => { incidentCase.investigationIds = n.getCollectionOfPrimitiveValues("string"); }, "investigationStates": n => { incidentCase.investigationStates = n.getCollectionOfPrimitiveValues("string"); }, "lastEventTime": n => { incidentCase.lastEventTime = n.getDateValue(); }, "machineGroupIds": n => { incidentCase.machineGroupIds = n.getCollectionOfPrimitiveValues("string"); }, "osPlatforms": n => { incidentCase.osPlatforms = n.getCollectionOfPrimitiveValues("string"); }, "policyNames": n => { incidentCase.policyNames = n.getCollectionOfPrimitiveValues("string"); }, "priorityScore": n => { incidentCase.priorityScore = n.getNumberValue(); }, "productNames": n => { incidentCase.productNames = n.getCollectionOfPrimitiveValues("string"); }, "redirectCaseId": n => { incidentCase.redirectCaseId = n.getNumberValue(); }, "redirectIncidentId": n => { incidentCase.redirectIncidentId = n.getNumberValue(); }, "serviceSources": n => { incidentCase.serviceSources = n.getCollectionOfPrimitiveValues("string"); }, "severity": n => { incidentCase.severity = n.getEnumValue(IncidentSeverityObject); }, "summary": n => { incidentCase.summary = n.getStringValue(); }, "systemTags": n => { incidentCase.systemTags = n.getCollectionOfPrimitiveValues("string"); }, "topRiskScore": n => { incidentCase.topRiskScore = n.getNumberValue(); }, "workspaceIds": n => { incidentCase.workspaceIds = n.getCollectionOfPrimitiveValues("string"); } });
}
/**
 * The deserialization information for the current model
 * @param IncidentRelation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIncidentRelation(incidentRelation = {}) {
    return Object.assign({}, deserializeIntoRelation(incidentRelation));
}
/**
 * The deserialization information for the current model
 * @param IncidentSeverityCounts The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIncidentSeverityCounts(incidentSeverityCounts = {}) {
    return {
        "backingStoreEnabled": n => { incidentSeverityCounts.backingStoreEnabled = true; },
        "high": n => { incidentSeverityCounts.high = n.getNumberValue(); },
        "informational": n => { incidentSeverityCounts.informational = n.getNumberValue(); },
        "low": n => { incidentSeverityCounts.low = n.getNumberValue(); },
        "medium": n => { incidentSeverityCounts.medium = n.getNumberValue(); },
        "@odata.type": n => { incidentSeverityCounts.odataType = n.getStringValue(); },
        "unknown": n => { incidentSeverityCounts.unknown = n.getNumberValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param Investigation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoInvestigation(investigation = {}) {
    return {
        "backingStoreEnabled": n => { investigation.backingStoreEnabled = true; },
        "count": n => { investigation.count = n.getNumberValue(); },
        "ids": n => { investigation.ids = n.getCollectionOfPrimitiveValues("string"); },
        "@odata.type": n => { investigation.odataType = n.getStringValue(); },
        "state": n => { investigation.state = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param ModifiedProperty The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoModifiedProperty(modifiedProperty = {}) {
    return {
        "backingStoreEnabled": n => { modifiedProperty.backingStoreEnabled = true; },
        "newValue": n => { modifiedProperty.newValue = n.getObjectValue(createValuePropertyFromDiscriminatorValue); },
        "@odata.type": n => { modifiedProperty.odataType = n.getStringValue(); },
        "oldValue": n => { modifiedProperty.oldValue = n.getObjectValue(createValuePropertyFromDiscriminatorValue); },
        "propertyName": n => { modifiedProperty.propertyName = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param NumberCustomFieldDefinition The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoNumberCustomFieldDefinition(numberCustomFieldDefinition = {}) {
    return Object.assign(Object.assign({}, deserializeIntoCustomFieldDefinition(numberCustomFieldDefinition)), { "defaultValue": n => { numberCustomFieldDefinition.defaultValue = n.getNumberValue(); } });
}
/**
 * The deserialization information for the current model
 * @param OptionsCustomFieldDefinition The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoOptionsCustomFieldDefinition(optionsCustomFieldDefinition = {}) {
    return Object.assign(Object.assign({}, deserializeIntoCustomFieldDefinition(optionsCustomFieldDefinition)), { "defaultValues": n => { optionsCustomFieldDefinition.defaultValues = n.getCollectionOfPrimitiveValues("string"); }, "options": n => { optionsCustomFieldDefinition.options = n.getCollectionOfPrimitiveValues("string"); } });
}
/**
 * The deserialization information for the current model
 * @param RecommendationRelation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRecommendationRelation(recommendationRelation = {}) {
    return Object.assign(Object.assign({}, deserializeIntoRelation(recommendationRelation)), { "recommendationType": n => { recommendationRelation.recommendationType = n.getStringValue(); }, "resourceGroupName": n => { recommendationRelation.resourceGroupName = n.getStringValue(); }, "subscriptionId": n => { recommendationRelation.subscriptionId = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param Relation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRelation(relation = {}) {
    return Object.assign(Object.assign({}, deserializeIntoCaseManagementEntity(relation)), { "relatedResourceId": n => { relation.relatedResourceId = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param RelationCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRelationCollectionResponse(relationCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(relationCollectionResponse)), { "value": n => { relationCollectionResponse.value = n.getCollectionOfObjectValues(createRelationFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param StatusDefinition The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoStatusDefinition(statusDefinition = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(statusDefinition)), { "customStatuses": n => { statusDefinition.customStatuses = n.getCollectionOfObjectValues(createCustomStatusDefinitionFromDiscriminatorValue); }, "displayName": n => { statusDefinition.displayName = n.getStringValue(); }, "sortOrder": n => { statusDefinition.sortOrder = n.getNumberValue(); } });
}
/**
 * The deserialization information for the current model
 * @param StatusDefinitionCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoStatusDefinitionCollectionResponse(statusDefinitionCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(statusDefinitionCollectionResponse)), { "value": n => { statusDefinitionCollectionResponse.value = n.getCollectionOfObjectValues(createStatusDefinitionFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param StringCustomFieldDefinition The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoStringCustomFieldDefinition(stringCustomFieldDefinition = {}) {
    return Object.assign(Object.assign({}, deserializeIntoCustomFieldDefinition(stringCustomFieldDefinition)), { "defaultValue": n => { stringCustomFieldDefinition.defaultValue = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param StringValueProperty The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoStringValueProperty(stringValueProperty = {}) {
    return Object.assign(Object.assign({}, deserializeIntoValueProperty(stringValueProperty)), { "value": n => { stringValueProperty.value = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param Task The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoTask(task = {}) {
    return Object.assign(Object.assign({}, deserializeIntoCaseManagementEntity(task)), { "assignedTo": n => { task.assignedTo = n.getStringValue(); }, "category": n => { task.category = n.getEnumValue(CaseTaskCategoryObject); }, "closingNotes": n => { task.closingNotes = n.getStringValue(); }, "description": n => { task.description = n.getStringValue(); }, "displayName": n => { task.displayName = n.getStringValue(); }, "dueDateTime": n => { task.dueDateTime = n.getDateValue(); }, "priority": n => { task.priority = n.getEnumValue(CaseTaskPriorityObject); }, "status": n => { task.status = n.getEnumValue(TaskStatusObject); } });
}
/**
 * The deserialization information for the current model
 * @param TaskCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoTaskCollectionResponse(taskCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(taskCollectionResponse)), { "value": n => { taskCollectionResponse.value = n.getCollectionOfObjectValues(createTaskFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ThirdPartyWorkItem The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoThirdPartyWorkItem(thirdPartyWorkItem = {}) {
    return {
        "backingStoreEnabled": n => { thirdPartyWorkItem.backingStoreEnabled = true; },
        "identifier": n => { thirdPartyWorkItem.identifier = n.getStringValue(); },
        "instance": n => { thirdPartyWorkItem.instance = n.getStringValue(); },
        "lastSyncedOnDateTime": n => { thirdPartyWorkItem.lastSyncedOnDateTime = n.getDateValue(); },
        "metadata": n => { thirdPartyWorkItem.metadata = n.getObjectValue(createThirdPartyWorkItemMetadataFromDiscriminatorValue); },
        "@odata.type": n => { thirdPartyWorkItem.odataType = n.getStringValue(); },
        "provider": n => { thirdPartyWorkItem.provider = n.getEnumValue(ThirdPartyWorkItemProviderObject); },
        "syncedBy": n => { thirdPartyWorkItem.syncedBy = n.getStringValue(); },
        "workItemType": n => { thirdPartyWorkItem.workItemType = n.getEnumValue(ThirdPartyWorkItemTypeObject); },
    };
}
/**
 * The deserialization information for the current model
 * @param ThirdPartyWorkItemMetadata The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoThirdPartyWorkItemMetadata(thirdPartyWorkItemMetadata = {}) {
    return {
        "backingStoreEnabled": n => { thirdPartyWorkItemMetadata.backingStoreEnabled = true; },
        "@odata.type": n => { thirdPartyWorkItemMetadata.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param ValueProperty The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoValueProperty(valueProperty = {}) {
    return {
        "backingStoreEnabled": n => { valueProperty.backingStoreEnabled = true; },
        "@odata.type": n => { valueProperty.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param WorkspaceIndicatorRelation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoWorkspaceIndicatorRelation(workspaceIndicatorRelation = {}) {
    return Object.assign(Object.assign({}, deserializeIntoRelation(workspaceIndicatorRelation)), { "resourceGroupName": n => { workspaceIndicatorRelation.resourceGroupName = n.getStringValue(); }, "subscriptionId": n => { workspaceIndicatorRelation.subscriptionId = n.getStringValue(); }, "workspaceName": n => { workspaceIndicatorRelation.workspaceName = n.getStringValue(); } });
}
/**
 * Serializes information the current object
 * @param Activity The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeActivity(writer, activity = {}, isSerializingDerivedType = false) {
    if (!activity || isSerializingDerivedType) {
        return;
    }
    serializeCaseManagementEntity(writer, activity, isSerializingDerivedType);
    switch (activity.odataType) {
        case "#microsoft.graph.security.caseManagement.auditLog":
            serializeAuditLog(writer, activity, true);
            break;
        case "#microsoft.graph.security.caseManagement.comment":
            serializeComment(writer, activity, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param ActivityCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeActivityCollectionResponse(writer, activityCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!activityCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, activityCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", activityCollectionResponse.value, serializeActivity);
}
/**
 * Serializes information the current object
 * @param ActivityResourceDetails The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeActivityResourceDetails(writer, activityResourceDetails = {}, isSerializingDerivedType = false) {
    if (!activityResourceDetails || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("kind", activityResourceDetails.kind);
    writer.writeStringValue("@odata.type", activityResourceDetails.odataType);
    writer.writeStringValue("resourceId", activityResourceDetails.resourceId);
    writer.writeAdditionalData(activityResourceDetails.additionalData);
}
/**
 * Serializes information the current object
 * @param AlertCounts The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAlertCounts(writer, alertCounts = {}, isSerializingDerivedType = false) {
    if (!alertCounts || isSerializingDerivedType) {
        return;
    }
    writer.writeNumberValue("active", alertCounts.active);
    writer.writeObjectValue("bySeverity", alertCounts.bySeverity, serializeIncidentSeverityCounts);
    writer.writeObjectValue("byStatus", alertCounts.byStatus, serializeAlertStatusCounts);
    writer.writeStringValue("@odata.type", alertCounts.odataType);
    writer.writeNumberValue("total", alertCounts.total);
    writer.writeAdditionalData(alertCounts.additionalData);
}
/**
 * Serializes information the current object
 * @param AlertStatusCounts The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAlertStatusCounts(writer, alertStatusCounts = {}, isSerializingDerivedType = false) {
    if (!alertStatusCounts || isSerializingDerivedType) {
        return;
    }
    writer.writeNumberValue("inProgress", alertStatusCounts.inProgress);
    writer.writeNumberValue("new", alertStatusCounts.newEscaped);
    writer.writeStringValue("@odata.type", alertStatusCounts.odataType);
    writer.writeNumberValue("resolved", alertStatusCounts.resolved);
    writer.writeAdditionalData(alertStatusCounts.additionalData);
}
/**
 * Serializes information the current object
 * @param Attachment The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAttachment(writer, attachment = {}, isSerializingDerivedType = false) {
    if (!attachment || isSerializingDerivedType) {
        return;
    }
    serializeCaseManagementEntity(writer, attachment, isSerializingDerivedType);
    writer.writeByteArrayValue("content", attachment.content);
    writer.writeStringValue("description", attachment.description);
    writer.writeStringValue("displayName", attachment.displayName);
    writer.writeStringValue("fileExtension", attachment.fileExtension);
    writer.writeNumberValue("fileSize", attachment.fileSize);
    writer.writeObjectValue("origin", attachment.origin, serializeAttachmentOrigin);
    writer.writeEnumValue("scanResult", attachment.scanResult);
}
/**
 * Serializes information the current object
 * @param AttachmentCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAttachmentCollectionResponse(writer, attachmentCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!attachmentCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, attachmentCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", attachmentCollectionResponse.value, serializeAttachment);
}
/**
 * Serializes information the current object
 * @param AttachmentOrigin The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAttachmentOrigin(writer, attachmentOrigin = {}, isSerializingDerivedType = false) {
    if (!attachmentOrigin || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", attachmentOrigin.odataType);
    writer.writeStringValue("resourceId", attachmentOrigin.resourceId);
    writer.writeEnumValue("resourceType", attachmentOrigin.resourceType);
    writer.writeAdditionalData(attachmentOrigin.additionalData);
}
/**
 * Serializes information the current object
 * @param AuditLog The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAuditLog(writer, auditLog = {}, isSerializingDerivedType = false) {
    if (!auditLog || isSerializingDerivedType) {
        return;
    }
    serializeActivity(writer, auditLog, isSerializingDerivedType);
    writer.writeEnumValue("action", auditLog.action);
    writer.writeObjectValue("details", auditLog.details, serializeActivityResourceDetails);
    writer.writeCollectionOfObjectValues("modifiedProperties", auditLog.modifiedProperties, serializeModifiedProperty);
}
/**
 * Serializes information the current object
 * @param BooleanValueProperty The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeBooleanValueProperty(writer, booleanValueProperty = {}, isSerializingDerivedType = false) {
    if (!booleanValueProperty || isSerializingDerivedType) {
        return;
    }
    serializeValueProperty(writer, booleanValueProperty, isSerializingDerivedType);
    writer.writeBooleanValue("value", booleanValueProperty.value);
}
/**
 * Serializes information the current object
 * @param CaseCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCaseCollectionResponse(writer, caseCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!caseCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, caseCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", caseCollectionResponse.value, serializeCaseEscaped);
}
/**
 * Serializes information the current object
 * @param CaseEscaped The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCaseEscaped(writer, caseEscaped = {}, isSerializingDerivedType = false) {
    if (!caseEscaped || isSerializingDerivedType) {
        return;
    }
    serializeCaseManagementEntity(writer, caseEscaped, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("activities", caseEscaped.activities, serializeActivity);
    writer.writeCollectionOfObjectValues("attachments", caseEscaped.attachments, serializeAttachment);
    writer.writeObjectValue("customFields", caseEscaped.customFields, serializeCustomFieldValues);
    writer.writeStringValue("displayName", caseEscaped.displayName);
    writer.writeCollectionOfObjectValues("relations", caseEscaped.relations, serializeRelation);
    writer.writeStringValue("status", caseEscaped.status);
    writer.writeCollectionOfObjectValues("tasks", caseEscaped.tasks, serializeTask);
    switch (caseEscaped.odataType) {
        case "#microsoft.graph.security.caseManagement.exposureCase":
            serializeExposureCase(writer, caseEscaped, true);
            break;
        case "#microsoft.graph.security.caseManagement.genericCase":
            serializeGenericCase(writer, caseEscaped, true);
            break;
        case "#microsoft.graph.security.caseManagement.incidentCase":
            serializeIncidentCase(writer, caseEscaped, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param CaseManagementEntity The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCaseManagementEntity(writer, caseManagementEntity = {}, isSerializingDerivedType = false) {
    if (!caseManagementEntity || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, caseManagementEntity, isSerializingDerivedType);
    writer.writeStringValue("createdBy", caseManagementEntity.createdBy);
    writer.writeDateValue("createdDateTime", caseManagementEntity.createdDateTime);
    writer.writeStringValue("lastModifiedBy", caseManagementEntity.lastModifiedBy);
    writer.writeDateValue("lastModifiedDateTime", caseManagementEntity.lastModifiedDateTime);
    switch (caseManagementEntity.odataType) {
        case "#microsoft.graph.security.caseManagement.activity":
            serializeActivity(writer, caseManagementEntity, true);
            break;
        case "#microsoft.graph.security.caseManagement.attachment":
            serializeAttachment(writer, caseManagementEntity, true);
            break;
        case "#microsoft.graph.security.caseManagement.auditLog":
            serializeAuditLog(writer, caseManagementEntity, true);
            break;
        case "#microsoft.graph.security.caseManagement.case":
            serializeCaseEscaped(writer, caseManagementEntity, true);
            break;
        case "#microsoft.graph.security.caseManagement.comment":
            serializeComment(writer, caseManagementEntity, true);
            break;
        case "#microsoft.graph.security.caseManagement.exposureCase":
            serializeExposureCase(writer, caseManagementEntity, true);
            break;
        case "#microsoft.graph.security.caseManagement.genericCase":
            serializeGenericCase(writer, caseManagementEntity, true);
            break;
        case "#microsoft.graph.security.caseManagement.incidentCase":
            serializeIncidentCase(writer, caseManagementEntity, true);
            break;
        case "#microsoft.graph.security.caseManagement.incidentRelation":
            serializeIncidentRelation(writer, caseManagementEntity, true);
            break;
        case "#microsoft.graph.security.caseManagement.recommendationRelation":
            serializeRecommendationRelation(writer, caseManagementEntity, true);
            break;
        case "#microsoft.graph.security.caseManagement.relation":
            serializeRelation(writer, caseManagementEntity, true);
            break;
        case "#microsoft.graph.security.caseManagement.task":
            serializeTask(writer, caseManagementEntity, true);
            break;
        case "#microsoft.graph.security.caseManagement.workspaceIndicatorRelation":
            serializeWorkspaceIndicatorRelation(writer, caseManagementEntity, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param CaseTypeConfiguration The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCaseTypeConfiguration(writer, caseTypeConfiguration = {}, isSerializingDerivedType = false) {
    if (!caseTypeConfiguration || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, caseTypeConfiguration, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("customFields", caseTypeConfiguration.customFields, serializeCustomFieldDefinition);
    writer.writeStringValue("defaultStatusId", caseTypeConfiguration.defaultStatusId);
    writer.writeStringValue("displayName", caseTypeConfiguration.displayName);
    writer.writeCollectionOfObjectValues("statuses", caseTypeConfiguration.statuses, serializeStatusDefinition);
}
/**
 * Serializes information the current object
 * @param CaseTypeConfigurationCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCaseTypeConfigurationCollectionResponse(writer, caseTypeConfigurationCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!caseTypeConfigurationCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, caseTypeConfigurationCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", caseTypeConfigurationCollectionResponse.value, serializeCaseTypeConfiguration);
}
/**
 * Serializes information the current object
 * @param Comment The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComment(writer, comment = {}, isSerializingDerivedType = false) {
    if (!comment || isSerializingDerivedType) {
        return;
    }
    serializeActivity(writer, comment, isSerializingDerivedType);
    writer.writeStringValue("message", comment.message);
}
/**
 * Serializes information the current object
 * @param CustomFieldDefinition The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCustomFieldDefinition(writer, customFieldDefinition = {}, isSerializingDerivedType = false) {
    if (!customFieldDefinition || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, customFieldDefinition, isSerializingDerivedType);
    writer.writeStringValue("description", customFieldDefinition.description);
    writer.writeStringValue("displayName", customFieldDefinition.displayName);
    writer.writeBooleanValue("isDisabled", customFieldDefinition.isDisabled);
    writer.writeBooleanValue("isRequired", customFieldDefinition.isRequired);
    switch (customFieldDefinition.odataType) {
        case "#microsoft.graph.security.caseManagement.dateTimeCustomFieldDefinition":
            serializeDateTimeCustomFieldDefinition(writer, customFieldDefinition, true);
            break;
        case "#microsoft.graph.security.caseManagement.numberCustomFieldDefinition":
            serializeNumberCustomFieldDefinition(writer, customFieldDefinition, true);
            break;
        case "#microsoft.graph.security.caseManagement.optionsCustomFieldDefinition":
            serializeOptionsCustomFieldDefinition(writer, customFieldDefinition, true);
            break;
        case "#microsoft.graph.security.caseManagement.stringCustomFieldDefinition":
            serializeStringCustomFieldDefinition(writer, customFieldDefinition, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param CustomFieldDefinitionCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCustomFieldDefinitionCollectionResponse(writer, customFieldDefinitionCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!customFieldDefinitionCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, customFieldDefinitionCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", customFieldDefinitionCollectionResponse.value, serializeCustomFieldDefinition);
}
/**
 * Serializes information the current object
 * @param CustomFieldValues The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCustomFieldValues(writer, customFieldValues = {}, isSerializingDerivedType = false) {
    if (!customFieldValues || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", customFieldValues.odataType);
    writer.writeAdditionalData(customFieldValues.additionalData);
}
/**
 * Serializes information the current object
 * @param CustomStatusDefinition The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCustomStatusDefinition(writer, customStatusDefinition = {}, isSerializingDerivedType = false) {
    if (!customStatusDefinition || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("customStatusId", customStatusDefinition.customStatusId);
    writer.writeStringValue("displayName", customStatusDefinition.displayName);
    writer.writeBooleanValue("isFinal", customStatusDefinition.isFinal);
    writer.writeStringValue("@odata.type", customStatusDefinition.odataType);
    writer.writeNumberValue("sortOrder", customStatusDefinition.sortOrder);
    writer.writeAdditionalData(customStatusDefinition.additionalData);
}
/**
 * Serializes information the current object
 * @param DateTimeCustomFieldDefinition The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDateTimeCustomFieldDefinition(writer, dateTimeCustomFieldDefinition = {}, isSerializingDerivedType = false) {
    if (!dateTimeCustomFieldDefinition || isSerializingDerivedType) {
        return;
    }
    serializeCustomFieldDefinition(writer, dateTimeCustomFieldDefinition, isSerializingDerivedType);
    writer.writeDateValue("defaultDateTime", dateTimeCustomFieldDefinition.defaultDateTime);
}
/**
 * Serializes information the current object
 * @param ExposureCase The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeExposureCase(writer, exposureCase = {}, isSerializingDerivedType = false) {
    if (!exposureCase || isSerializingDerivedType) {
        return;
    }
    serializeCaseEscaped(writer, exposureCase, isSerializingDerivedType);
    writer.writeStringValue("assignedTo", exposureCase.assignedTo);
    writer.writeObjectValue("automation", exposureCase.automation, serializeExposureCaseAutomation);
    writer.writeStringValue("description", exposureCase.description);
    writer.writeDateValue("dueDateTime", exposureCase.dueDateTime);
    writer.writeCollectionOfPrimitiveValues("emailNotificationRecipients", exposureCase.emailNotificationRecipients);
    writer.writeObjectValue("github", exposureCase.github, serializeExposureCaseGitHub);
    writer.writeBooleanValue("isGracePeriodEnabled", exposureCase.isGracePeriodEnabled);
    writer.writeStringValue("priority", exposureCase.priority);
    writer.writeObjectValue("seemplicity", exposureCase.seemplicity, serializeExposureCaseSeemplicity);
    writer.writeObjectValue("thirdPartyWorkItem", exposureCase.thirdPartyWorkItem, serializeThirdPartyWorkItem);
}
/**
 * Serializes information the current object
 * @param ExposureCaseAutomation The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeExposureCaseAutomation(writer, exposureCaseAutomation = {}, isSerializingDerivedType = false) {
    if (!exposureCaseAutomation || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", exposureCaseAutomation.odataType);
    writer.writeStringValue("ruleId", exposureCaseAutomation.ruleId);
    writer.writeAdditionalData(exposureCaseAutomation.additionalData);
}
/**
 * Serializes information the current object
 * @param ExposureCaseGitHub The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeExposureCaseGitHub(writer, exposureCaseGitHub = {}, isSerializingDerivedType = false) {
    if (!exposureCaseGitHub || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("environmentId", exposureCaseGitHub.environmentId);
    writer.writeNumberValue("issueNumber", exposureCaseGitHub.issueNumber);
    writer.writeStringValue("issueUrl", exposureCaseGitHub.issueUrl);
    writer.writeStringValue("@odata.type", exposureCaseGitHub.odataType);
    writer.writeStringValue("primaryAssessmentId", exposureCaseGitHub.primaryAssessmentId);
    writer.writeStringValue("repoName", exposureCaseGitHub.repoName);
    writer.writeAdditionalData(exposureCaseGitHub.additionalData);
}
/**
 * Serializes information the current object
 * @param ExposureCaseSeemplicity The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeExposureCaseSeemplicity(writer, exposureCaseSeemplicity = {}, isSerializingDerivedType = false) {
    if (!exposureCaseSeemplicity || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("configurationId", exposureCaseSeemplicity.configurationId);
    writer.writeStringValue("configurationName", exposureCaseSeemplicity.configurationName);
    writer.writeStringValue("@odata.type", exposureCaseSeemplicity.odataType);
    writer.writeStringValue("providerType", exposureCaseSeemplicity.providerType);
    writer.writeStringValue("syncStatus", exposureCaseSeemplicity.syncStatus);
    writer.writeDateValue("ticketCreationTime", exposureCaseSeemplicity.ticketCreationTime);
    writer.writeStringValue("ticketId", exposureCaseSeemplicity.ticketId);
    writer.writeStringValue("ticketLink", exposureCaseSeemplicity.ticketLink);
    writer.writeAdditionalData(exposureCaseSeemplicity.additionalData);
}
/**
 * Serializes information the current object
 * @param GenericCase The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeGenericCase(writer, genericCase = {}, isSerializingDerivedType = false) {
    if (!genericCase || isSerializingDerivedType) {
        return;
    }
    serializeCaseEscaped(writer, genericCase, isSerializingDerivedType);
    writer.writeStringValue("assignedTo", genericCase.assignedTo);
    writer.writeStringValue("closingNotes", genericCase.closingNotes);
    writer.writeStringValue("description", genericCase.description);
    writer.writeDateValue("dueDateTime", genericCase.dueDateTime);
    writer.writeStringValue("priority", genericCase.priority);
}
/**
 * Serializes information the current object
 * @param ImpactedAssetsCounts The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeImpactedAssetsCounts(writer, impactedAssetsCounts = {}, isSerializingDerivedType = false) {
    if (!impactedAssetsCounts || isSerializingDerivedType) {
        return;
    }
    writer.writeNumberValue("aiAgents", impactedAssetsCounts.aiAgents);
    writer.writeNumberValue("apps", impactedAssetsCounts.apps);
    writer.writeNumberValue("cloudResources", impactedAssetsCounts.cloudResources);
    writer.writeNumberValue("files", impactedAssetsCounts.files);
    writer.writeNumberValue("ips", impactedAssetsCounts.ips);
    writer.writeNumberValue("machines", impactedAssetsCounts.machines);
    writer.writeNumberValue("mailboxes", impactedAssetsCounts.mailboxes);
    writer.writeNumberValue("oauthApps", impactedAssetsCounts.oauthApps);
    writer.writeStringValue("@odata.type", impactedAssetsCounts.odataType);
    writer.writeNumberValue("processes", impactedAssetsCounts.processes);
    writer.writeNumberValue("registryKeys", impactedAssetsCounts.registryKeys);
    writer.writeNumberValue("securityGroups", impactedAssetsCounts.securityGroups);
    writer.writeNumberValue("total", impactedAssetsCounts.total);
    writer.writeNumberValue("urls", impactedAssetsCounts.urls);
    writer.writeNumberValue("users", impactedAssetsCounts.users);
    writer.writeAdditionalData(impactedAssetsCounts.additionalData);
}
/**
 * Serializes information the current object
 * @param IncidentCase The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIncidentCase(writer, incidentCase = {}, isSerializingDerivedType = false) {
    if (!incidentCase || isSerializingDerivedType) {
        return;
    }
    serializeCaseEscaped(writer, incidentCase, isSerializingDerivedType);
    writer.writeCollectionOfPrimitiveValues("aiAgentIds", incidentCase.aiAgentIds);
    writer.writeObjectValue("alertCounts", incidentCase.alertCounts, serializeAlertCounts);
    writer.writeCollectionOfPrimitiveValues("alertPolicyIds", incidentCase.alertPolicyIds);
    writer.writeStringValue("assignedTo", incidentCase.assignedTo);
    writer.writeCollectionOfPrimitiveValues("associatedThreatIds", incidentCase.associatedThreatIds);
    writer.writeCollectionOfPrimitiveValues("categories", incidentCase.categories);
    writer.writeEnumValue("classification", incidentCase.classification);
    writer.writeCollectionOfPrimitiveValues("cloudScopes", incidentCase.cloudScopes);
    writer.writeCollectionOfPrimitiveValues("dataSensitivityLabels", incidentCase.dataSensitivityLabels);
    writer.writeCollectionOfPrimitiveValues("dataStreams", incidentCase.dataStreams);
    writer.writeCollectionOfPrimitiveValues("detectionSources", incidentCase.detectionSources);
    writer.writeEnumValue("determination", incidentCase.determination);
    writer.writeDateValue("dueDateTime", incidentCase.dueDateTime);
    writer.writeCollectionOfPrimitiveValues("emailNotificationRecipients", incidentCase.emailNotificationRecipients);
    writer.writeDateValue("firstEventTime", incidentCase.firstEventTime);
    writer.writeObjectValue("impactedAssets", incidentCase.impactedAssets, serializeImpactedAssetsCounts);
    writer.writeNumberValue("incidentId", incidentCase.incidentId);
    writer.writeStringValue("incidentWebUrl", incidentCase.incidentWebUrl);
    writer.writeObjectValue("investigation", incidentCase.investigation, serializeInvestigation);
    writer.writeCollectionOfPrimitiveValues("investigationIds", incidentCase.investigationIds);
    writer.writeCollectionOfPrimitiveValues("investigationStates", incidentCase.investigationStates);
    writer.writeDateValue("lastEventTime", incidentCase.lastEventTime);
    writer.writeCollectionOfPrimitiveValues("machineGroupIds", incidentCase.machineGroupIds);
    writer.writeCollectionOfPrimitiveValues("osPlatforms", incidentCase.osPlatforms);
    writer.writeCollectionOfPrimitiveValues("policyNames", incidentCase.policyNames);
    writer.writeNumberValue("priorityScore", incidentCase.priorityScore);
    writer.writeCollectionOfPrimitiveValues("productNames", incidentCase.productNames);
    writer.writeNumberValue("redirectCaseId", incidentCase.redirectCaseId);
    writer.writeNumberValue("redirectIncidentId", incidentCase.redirectIncidentId);
    writer.writeCollectionOfPrimitiveValues("serviceSources", incidentCase.serviceSources);
    writer.writeEnumValue("severity", incidentCase.severity);
    writer.writeStringValue("summary", incidentCase.summary);
    writer.writeCollectionOfPrimitiveValues("systemTags", incidentCase.systemTags);
    writer.writeNumberValue("topRiskScore", incidentCase.topRiskScore);
    writer.writeCollectionOfPrimitiveValues("workspaceIds", incidentCase.workspaceIds);
}
/**
 * Serializes information the current object
 * @param IncidentRelation The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIncidentRelation(writer, incidentRelation = {}, isSerializingDerivedType = false) {
    if (!incidentRelation || isSerializingDerivedType) {
        return;
    }
    serializeRelation(writer, incidentRelation, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param IncidentSeverityCounts The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIncidentSeverityCounts(writer, incidentSeverityCounts = {}, isSerializingDerivedType = false) {
    if (!incidentSeverityCounts || isSerializingDerivedType) {
        return;
    }
    writer.writeNumberValue("high", incidentSeverityCounts.high);
    writer.writeNumberValue("informational", incidentSeverityCounts.informational);
    writer.writeNumberValue("low", incidentSeverityCounts.low);
    writer.writeNumberValue("medium", incidentSeverityCounts.medium);
    writer.writeStringValue("@odata.type", incidentSeverityCounts.odataType);
    writer.writeNumberValue("unknown", incidentSeverityCounts.unknown);
    writer.writeAdditionalData(incidentSeverityCounts.additionalData);
}
/**
 * Serializes information the current object
 * @param Investigation The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeInvestigation(writer, investigation = {}, isSerializingDerivedType = false) {
    if (!investigation || isSerializingDerivedType) {
        return;
    }
    writer.writeNumberValue("count", investigation.count);
    writer.writeCollectionOfPrimitiveValues("ids", investigation.ids);
    writer.writeStringValue("@odata.type", investigation.odataType);
    writer.writeStringValue("state", investigation.state);
    writer.writeAdditionalData(investigation.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ModifiedProperty The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeModifiedProperty(writer, modifiedProperty = {}, isSerializingDerivedType = false) {
    if (!modifiedProperty || isSerializingDerivedType) {
        return;
    }
    writer.writeObjectValue("newValue", modifiedProperty.newValue, serializeValueProperty);
    writer.writeStringValue("@odata.type", modifiedProperty.odataType);
    writer.writeObjectValue("oldValue", modifiedProperty.oldValue, serializeValueProperty);
    writer.writeStringValue("propertyName", modifiedProperty.propertyName);
    writer.writeAdditionalData(modifiedProperty.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param NumberCustomFieldDefinition The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeNumberCustomFieldDefinition(writer, numberCustomFieldDefinition = {}, isSerializingDerivedType = false) {
    if (!numberCustomFieldDefinition || isSerializingDerivedType) {
        return;
    }
    serializeCustomFieldDefinition(writer, numberCustomFieldDefinition, isSerializingDerivedType);
    writer.writeNumberValue("defaultValue", numberCustomFieldDefinition.defaultValue);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param OptionsCustomFieldDefinition The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeOptionsCustomFieldDefinition(writer, optionsCustomFieldDefinition = {}, isSerializingDerivedType = false) {
    if (!optionsCustomFieldDefinition || isSerializingDerivedType) {
        return;
    }
    serializeCustomFieldDefinition(writer, optionsCustomFieldDefinition, isSerializingDerivedType);
    writer.writeCollectionOfPrimitiveValues("defaultValues", optionsCustomFieldDefinition.defaultValues);
    writer.writeCollectionOfPrimitiveValues("options", optionsCustomFieldDefinition.options);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RecommendationRelation The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRecommendationRelation(writer, recommendationRelation = {}, isSerializingDerivedType = false) {
    if (!recommendationRelation || isSerializingDerivedType) {
        return;
    }
    serializeRelation(writer, recommendationRelation, isSerializingDerivedType);
    writer.writeStringValue("recommendationType", recommendationRelation.recommendationType);
    writer.writeStringValue("resourceGroupName", recommendationRelation.resourceGroupName);
    writer.writeStringValue("subscriptionId", recommendationRelation.subscriptionId);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param Relation The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRelation(writer, relation = {}, isSerializingDerivedType = false) {
    if (!relation || isSerializingDerivedType) {
        return;
    }
    serializeCaseManagementEntity(writer, relation, isSerializingDerivedType);
    writer.writeStringValue("relatedResourceId", relation.relatedResourceId);
    switch (relation.odataType) {
        case "#microsoft.graph.security.caseManagement.incidentRelation":
            serializeIncidentRelation(writer, relation, true);
            break;
        case "#microsoft.graph.security.caseManagement.recommendationRelation":
            serializeRecommendationRelation(writer, relation, true);
            break;
        case "#microsoft.graph.security.caseManagement.workspaceIndicatorRelation":
            serializeWorkspaceIndicatorRelation(writer, relation, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RelationCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRelationCollectionResponse(writer, relationCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!relationCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, relationCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", relationCollectionResponse.value, serializeRelation);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param StatusDefinition The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeStatusDefinition(writer, statusDefinition = {}, isSerializingDerivedType = false) {
    if (!statusDefinition || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, statusDefinition, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("customStatuses", statusDefinition.customStatuses, serializeCustomStatusDefinition);
    writer.writeStringValue("displayName", statusDefinition.displayName);
    writer.writeNumberValue("sortOrder", statusDefinition.sortOrder);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param StatusDefinitionCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeStatusDefinitionCollectionResponse(writer, statusDefinitionCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!statusDefinitionCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, statusDefinitionCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", statusDefinitionCollectionResponse.value, serializeStatusDefinition);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param StringCustomFieldDefinition The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeStringCustomFieldDefinition(writer, stringCustomFieldDefinition = {}, isSerializingDerivedType = false) {
    if (!stringCustomFieldDefinition || isSerializingDerivedType) {
        return;
    }
    serializeCustomFieldDefinition(writer, stringCustomFieldDefinition, isSerializingDerivedType);
    writer.writeStringValue("defaultValue", stringCustomFieldDefinition.defaultValue);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param StringValueProperty The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeStringValueProperty(writer, stringValueProperty = {}, isSerializingDerivedType = false) {
    if (!stringValueProperty || isSerializingDerivedType) {
        return;
    }
    serializeValueProperty(writer, stringValueProperty, isSerializingDerivedType);
    writer.writeStringValue("value", stringValueProperty.value);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param Task The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeTask(writer, task = {}, isSerializingDerivedType = false) {
    if (!task || isSerializingDerivedType) {
        return;
    }
    serializeCaseManagementEntity(writer, task, isSerializingDerivedType);
    writer.writeStringValue("assignedTo", task.assignedTo);
    writer.writeEnumValue("category", task.category);
    writer.writeStringValue("closingNotes", task.closingNotes);
    writer.writeStringValue("description", task.description);
    writer.writeStringValue("displayName", task.displayName);
    writer.writeDateValue("dueDateTime", task.dueDateTime);
    writer.writeEnumValue("priority", task.priority);
    writer.writeEnumValue("status", task.status);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TaskCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeTaskCollectionResponse(writer, taskCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!taskCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, taskCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", taskCollectionResponse.value, serializeTask);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ThirdPartyWorkItem The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeThirdPartyWorkItem(writer, thirdPartyWorkItem = {}, isSerializingDerivedType = false) {
    if (!thirdPartyWorkItem || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("identifier", thirdPartyWorkItem.identifier);
    writer.writeStringValue("instance", thirdPartyWorkItem.instance);
    writer.writeDateValue("lastSyncedOnDateTime", thirdPartyWorkItem.lastSyncedOnDateTime);
    writer.writeObjectValue("metadata", thirdPartyWorkItem.metadata, serializeThirdPartyWorkItemMetadata);
    writer.writeStringValue("@odata.type", thirdPartyWorkItem.odataType);
    writer.writeEnumValue("provider", thirdPartyWorkItem.provider);
    writer.writeStringValue("syncedBy", thirdPartyWorkItem.syncedBy);
    writer.writeEnumValue("workItemType", thirdPartyWorkItem.workItemType);
    writer.writeAdditionalData(thirdPartyWorkItem.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ThirdPartyWorkItemMetadata The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeThirdPartyWorkItemMetadata(writer, thirdPartyWorkItemMetadata = {}, isSerializingDerivedType = false) {
    if (!thirdPartyWorkItemMetadata || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", thirdPartyWorkItemMetadata.odataType);
    writer.writeAdditionalData(thirdPartyWorkItemMetadata.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ValueProperty The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeValueProperty(writer, valueProperty = {}, isSerializingDerivedType = false) {
    if (!valueProperty || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", valueProperty.odataType);
    writer.writeAdditionalData(valueProperty.additionalData);
    switch (valueProperty.odataType) {
        case "#microsoft.graph.security.caseManagement.booleanValueProperty":
            serializeBooleanValueProperty(writer, valueProperty, true);
            break;
        case "#microsoft.graph.security.caseManagement.stringValueProperty":
            serializeStringValueProperty(writer, valueProperty, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param WorkspaceIndicatorRelation The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeWorkspaceIndicatorRelation(writer, workspaceIndicatorRelation = {}, isSerializingDerivedType = false) {
    if (!workspaceIndicatorRelation || isSerializingDerivedType) {
        return;
    }
    serializeRelation(writer, workspaceIndicatorRelation, isSerializingDerivedType);
    writer.writeStringValue("resourceGroupName", workspaceIndicatorRelation.resourceGroupName);
    writer.writeStringValue("subscriptionId", workspaceIndicatorRelation.subscriptionId);
    writer.writeStringValue("workspaceName", workspaceIndicatorRelation.workspaceName);
}
export const AttachmentOriginTypeObject = {
    CaseEscaped: "case",
    Comment: "comment",
    Task: "task",
    UnknownFutureValue: "unknownFutureValue",
};
export const AttachmentScanResultObject = {
    Unscanned: "unscanned",
    NoThreatsFound: "noThreatsFound",
    Malicious: "malicious",
    UnknownFutureValue: "unknownFutureValue",
};
export const AuditActionObject = {
    Link: "link",
    Unlink: "unlink",
    Update: "update",
    Delete: "delete",
    Create: "create",
    Upload: "upload",
    Download: "download",
    FileUploadMalwareDetected: "fileUploadMalwareDetected",
    UnknownFutureValue: "unknownFutureValue",
};
export const CaseTaskCategoryObject = {
    Uncategorized: "uncategorized",
    Triage: "triage",
    Contain: "contain",
    Investigate: "investigate",
    Remediate: "remediate",
    Prevent: "prevent",
    UnknownFutureValue: "unknownFutureValue",
};
export const CaseTaskPriorityObject = {
    NotSet: "notSet",
    VeryLow: "veryLow",
    Low: "low",
    Medium: "medium",
    High: "high",
    Critical: "critical",
    UnknownFutureValue: "unknownFutureValue",
};
export const IncidentClassificationObject = {
    Unknown: "unknown",
    FalsePositive: "falsePositive",
    TruePositive: "truePositive",
    InformationalExpectedActivity: "informationalExpectedActivity",
    UnknownFutureValue: "unknownFutureValue",
};
export const IncidentDeterminationObject = {
    Unknown: "unknown",
    Apt: "apt",
    Malware: "malware",
    SecurityPersonnel: "securityPersonnel",
    SecurityTesting: "securityTesting",
    UnwantedSoftware: "unwantedSoftware",
    Other: "other",
    MultiStagedAttack: "multiStagedAttack",
    CompromisedAccount: "compromisedAccount",
    Phishing: "phishing",
    MaliciousUserActivity: "maliciousUserActivity",
    NotMalicious: "notMalicious",
    NotEnoughDataToValidate: "notEnoughDataToValidate",
    ConfirmedActivity: "confirmedActivity",
    LineOfBusinessApplication: "lineOfBusinessApplication",
    UnknownFutureValue: "unknownFutureValue",
};
export const IncidentSeverityObject = {
    Unknown: "unknown",
    Informational: "informational",
    Low: "low",
    Medium: "medium",
    High: "high",
    UnknownFutureValue: "unknownFutureValue",
};
export const TaskStatusObject = {
    NotSet: "notSet",
    NewEscaped: "new",
    InProgress: "inProgress",
    Failed: "failed",
    PartiallyCompleted: "partiallyCompleted",
    Skipped: "skipped",
    Completed: "completed",
    UnknownFutureValue: "unknownFutureValue",
};
export const ThirdPartyWorkItemProviderObject = {
    ServiceNow: "serviceNow",
    UnknownFutureValue: "unknownFutureValue",
};
export const ThirdPartyWorkItemTypeObject = {
    Incident: "incident",
    UnknownFutureValue: "unknownFutureValue",
};
/* tslint:enable */
/* eslint-enable */
//# sourceMappingURL=index.js.map